Safe Haskell | None |
---|
- execEditorAction :: String -> YiM ()
- getAllNamesInScope :: YiM [String]
- data Evaluator = Evaluator {
- execEditorActionImpl :: String -> YiM ()
- getAllNamesInScopeImpl :: YiM [String]
- evaluator :: Field Evaluator
- ghciEvaluator :: Evaluator
- publishedActionsEvaluator :: Evaluator
- publishedActions :: Field (HashMap String Action)
- publishAction :: (YiAction a x, Show x) => String -> a -> ConfigM ()
- jumpToErrorE :: YiM ()
- jumpToE :: String -> Int -> Int -> YiM ()
- consoleKeymap :: Keymap
Main (generic) evaluation interface
execEditorAction :: String -> YiM ()Source
Runs the action, as written by the user.
The behaviour of this function can be customised by modifying the Evaluator
variable.
getAllNamesInScope :: YiM [String]Source
Lists the action names in scope, for use by execEditorAction
.
The behaviour of this function can be customised by modifying the Evaluator
variable.
Config variable for customising the behaviour of execEditorAction
and getAllNamesInScope
.
Set this variable using evaluator
. See ghciEvaluator
and finiteListEvaluator
for two implementation.
Evaluator | |
|
evaluator :: Field EvaluatorSource
The evaluator to use for execEditorAction
and getAllNamesInScope
.
Standard evaluators
ghciEvaluator :: EvaluatorSource
Evaluator implemented by calling GHCi. This evaluator can run arbitrary expressions in the class YiAction
.
The following two imports are always present:
import Yi import qualified Yi.Keymap as Yi.Keymap
Also, if the file
$HOME/.config/yi/local/Env.hs
exists, it is imported unqualified.
publishedActionsEvaluator :: EvaluatorSource
Evaluator based on a fixed list of published actions. Has a few differences from ghciEvaluator
:
- expressions can't be evaluated
- all suggested actions are actually valued
- (related to the above) doesn't contain junk actions from Prelude
- doesn't require GHCi backend, so uses less memory
publishedActions :: Field (HashMap String Action)Source
Accessor for the published actions. Consider using publishAction
.
publishAction :: (YiAction a x, Show x) => String -> a -> ConfigM ()Source
Publish the given action, by the given name. This will overwrite any existing actions by the same name.
Eval/Interpretation
jumpToErrorE :: YiM ()Source