Copyright | (c) 2005,2007,2008 Jean-Philippe Bernardy |
---|---|
License | GPL |
Safe Haskell | None |
Language | Haskell2010 |
This module is aimed at being a helper for the Emacs keybindings. In particular this should be useful for anyone that has a custom keymap derived from or based on the Emacs one.
- type UnivArgument = Maybe Int
- argToInt :: UnivArgument -> Int
- askQuitEditor :: YiM ()
- askSaveEditor :: YiM ()
- modifiedQuitEditor :: YiM ()
- withMinibuffer :: String -> (String -> YiM [String]) -> (String -> YiM ()) -> YiM ()
- queryReplaceE :: YiM ()
- isearchKeymap :: Direction -> Keymap
- cabalConfigureE :: CommandArguments -> YiM ()
- cabalBuildE :: CommandArguments -> YiM ()
- reloadProjectE :: String -> YiM ()
- executeExtendedCommandE :: YiM ()
- evalRegionE :: YiM ()
- readUniversalArg :: KeymapM (Maybe Int)
- scrollDownE :: UnivArgument -> BufferM ()
- scrollUpE :: UnivArgument -> BufferM ()
- switchBufferE :: YiM ()
- killBufferE :: (BufferRef ::: ToKill) -> YiM ()
- insertNextC :: UnivArgument -> KeymapM ()
- findFile :: YiM ()
- findFileNewTab :: YiM ()
- promptFile :: String -> (String -> YiM ()) -> YiM ()
- promptTag :: YiM ()
- justOneSep :: BufferM ()
- joinLinesE :: UnivArgument -> BufferM ()
Documentation
type UnivArgument = Maybe Int Source
argToInt :: UnivArgument -> Int Source
Convert the universal argument to a number of repetitions
askQuitEditor :: YiM () Source
Quits the editor if there are no unmodified buffers if there are unmodified buffers then we ask individually for each modified buffer whether or not the user wishes to save it or not. If we get to the end of this list and there are still some modified buffers then we ask again if the user wishes to quit, but this is then a simple yes or no.
askSaveEditor :: YiM () Source
Quits the editor if there are no unmodified buffers if there are unmodified buffers then we ask individually for each modified buffer whether or not the user wishes to save it or not. If we get to the end of this list and there are still some modified buffers then we ask again if the user wishes to quit, but this is then a simple yes or no.
modifiedQuitEditor :: YiM () Source
Quits the editor if there are no unmodified buffers if there are then simply confirms with the user that they with to quit.
withMinibuffer :: String -> (String -> YiM [String]) -> (String -> YiM ()) -> YiM () Source
withMinibuffer prompt completer act
: open a minibuffer with prompt
. Once
a string s
is obtained, run act s
. completer
can be used to complete
functions: it returns a list of possible matches.
queryReplaceE :: YiM () Source
isearchKeymap :: Direction -> Keymap Source
cabalConfigureE :: CommandArguments -> YiM () Source
cabal-configure
cabalBuildE :: CommandArguments -> YiM () Source
cabal-build
reloadProjectE :: String -> YiM () Source
executeExtendedCommandE :: YiM () Source
evalRegionE :: YiM () Source
scrollDownE :: UnivArgument -> BufferM () Source
scrollUpE :: UnivArgument -> BufferM () Source
switchBufferE :: YiM () Source
insertNextC :: UnivArgument -> KeymapM () Source
Insert next character, "raw"
Open a file using the minibuffer. We have to set up some stuff to allow hints and auto-completion.
findFileNewTab :: YiM () Source
Open a file in a new tab using the minibuffer.
promptFile :: String -> (String -> YiM ()) -> YiM () Source
Generic emacs style prompt file action. Takes a prompt
and a continuation
act
and prompts the user with file hints.
justOneSep :: BufferM () Source
If on separators (space, tab, unicode seps), reduce multiple separators to just a single separator. If we aren't looking at a separator, insert a single space. This kind of behaves as emacs ‘just-one-space’ function with the argument of ‘1’ but it prefers to use the separator we're looking at instead of assuming a space.
joinLinesE :: UnivArgument -> BufferM () Source
Join this line to previous (or next N if universal)