yi-0.7.1: The Haskell-Scriptable Editor

Safe HaskellNone

Yi.Core

Contents

Description

The core actions of yi. This module is the link between the editor and the UI. Key bindings, and libraries should manipulate Yi through the interface defined here.

Synopsis

Documentation

module Yi.Dynamic

Keymap

module Yi.Keymap

module Yi.Prelude

module Yi.Editor

module Yi.Buffer

Construction and destruction

startEditor :: Config -> Maybe Editor -> IO ()Source

Start up the editor, setting any state with the user preferences and file names passed in, and turning on the UI

quitEditor :: YiM ()Source

Quit.

User interaction

suspendEditor :: YiM ()Source

Suspend the program

Global editor actions

errorEditor :: String -> YiM ()Source

Show an error on the status line and log it.

closeWindow :: YiM ()Source

Close the current window. If this is the last window open, quit the program. CONSIDER: call quitEditor when there are no other window in the interactive function. (Not possible since the windowset type disallows it -- should it be relaxed?)

Interacting with external commands

runProcessWithInput :: String -> String -> YiM StringSource

Pipe a string through an external command, returning the stdout chomp any trailing newline (is this desirable?)

Todo: varients with marks?

startSubprocess :: FilePath -> [String] -> (Either SomeException ExitCode -> YiM x) -> YiM BufferRefSource

Start a subprocess with the given command and arguments.

Misc

withSyntax :: (Show x, YiAction a x) => (forall syntax. Mode syntax -> syntax -> a) -> YiM ()Source