yi-core-0.19.2: Yi editor core library
LicenseGPL-2
Maintaineryi-devel@googlegroups.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010
Extensions
  • Cpp
  • TemplateHaskell
  • TemplateHaskellQuotes
  • OverloadedStrings
  • DeriveDataTypeable
  • GeneralizedNewtypeDeriving
  • LambdaCase

Yi.Eval

Description

Evaluator for actions (Action, YiAction). Uses a GHCi session under the hood.

Synopsis

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, and help index.

The behaviour of this function can be customised by modifying the Evaluator variable.

describeNamedAction :: String -> YiM String Source #

Describes the named action in scope, for use by help.

The behaviour of this function can be customised by modifying the Evaluator variable.

data Evaluator Source #

Config variable for customising the behaviour of execEditorAction and getAllNamesInScope.

Set this variable using evaluator. See ghciEvaluator and finiteListEvaluator for two implementation.

Constructors

Evaluator 

Fields

Instances

Instances details
Default Evaluator Source # 
Instance details

Defined in Yi.Eval

Methods

def :: Evaluator #

YiConfigVariable Evaluator Source # 
Instance details

Defined in Yi.Eval

Standard evaluators

publishedActionsEvaluator :: Evaluator Source #

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 #

Tries to jump to error at the current line. See parseErrorMessageB.

jumpToE Source #

Arguments

:: FilePath

Filename to make the jump in.

-> Int

Line to jump to.

-> Int

Column to jump to.

-> YiM () 

Jumps to specified position in a given file.