Development.IDE.Graph.Internal.Rules

hls-graph-2.9.0.0: Haskell Language Server internal graph API

Safe Haskell | None
Language | GHC2021

Development.IDE.Graph.Internal.Rules

Synopsis

- type family RuleResult key
- action :: Action a -> Rules ()
- addRule :: (RuleResult key ~ value, Typeable key, Hashable key, Eq key, Typeable value) => (key -> Maybe ByteString -> RunMode -> Action (RunResult value)) -> Rules ()
- runRule :: TheRules -> Key -> Maybe ByteString -> RunMode -> Action (RunResult Value)
- runRules :: Dynamic -> Rules () -> IO (TheRules, [Action ()])

# Documentation

type family RuleResult key #

The type mapping between the `key` or a rule and the resulting `value`.

action :: Action a -> Rules () #

addRule :: (RuleResult key ~ value, Typeable key, Hashable key, Eq key, Typeable value) => (key -> Maybe ByteString -> RunMode -> Action (RunResult value)) -> Rules () #

runRule :: TheRules -> Key -> Maybe ByteString -> RunMode -> Action (RunResult Value) #

runRules :: Dynamic -> Rules () -> IO (TheRules, [Action ()]) #