yi-core-0.18.0: 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

Contents

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
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.