Safe Haskell | None |
---|
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
quitEditor :: YiM ()Source
Quit.
User interaction
refreshEditor :: YiM ()Source
Redraw
suspendEditor :: YiM ()Source
Suspend the program
userForceRefresh :: YiM ()Source
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.
sendToProcess :: BufferRef -> String -> YiM ()Source
Misc
focusAllSyntax :: Editor -> EditorSource