yi-0.11.1: The Haskell-Scriptable Editor

LicenseGPL-2
Maintaineryi-devel@googlegroups.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010
Extensions
  • TemplateHaskell
  • OverloadedStrings
  • DeriveDataTypeable
  • FlexibleContexts
  • GeneralizedNewtypeDeriving
  • NondecreasingIndentation
  • 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.

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 

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.