Safe Haskell | Safe-Infered |
---|
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.
- module Yi.Dynamic
- module Yi.Keymap
- module Yi.Prelude
- module Yi.Editor
- module Yi.Buffer
- module Yi.Keymap.Keys
- startEditor :: Config -> Maybe Editor -> IO ()
- quitEditor :: YiM ()
- refreshEditor :: YiM ()
- suspendEditor :: YiM ()
- userForceRefresh :: YiM ()
- msgEditor :: String -> YiM ()
- errorEditor :: String -> YiM ()
- closeWindow :: YiM ()
- runProcessWithInput :: String -> String -> YiM String
- startSubprocess :: FilePath -> [String] -> (Either SomeException ExitCode -> YiM x) -> YiM BufferRef
- sendToProcess :: BufferRef -> String -> YiM ()
- runAction :: Action -> YiM ()
- withSyntax :: (Show x, YiAction a x) => (forall syntax. Mode syntax -> syntax -> a) -> YiM ()
- focusAllSyntax :: Editor -> Editor
Documentation
module Yi.Dynamic
Keymap
module Yi.Keymap
module Yi.Prelude
module Yi.Editor
module Yi.Buffer
module Yi.Keymap.Keys
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
Quit.
User interaction
Redraw
Suspend the program
Global editor actions
errorEditor :: String -> YiM ()Source
Show an error on the status line and log it.
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
focusAllSyntax :: Editor -> EditorSource