 | editline-0.2.1.0: Bindings to the editline library (libedit). | Contents | Index |
|
| System.Console.Editline.Readline | | Portability | non-portable (requires libedit) | | Stability | provisional | | Maintainer | judah.jacobson@gmail.com |
|
|
|
| Description |
This module provides a subset of the functions from
System.Console.Readline, which is distributed in the readline package.
However, because this package links against editline
(http://www.thrysoee.dk/editline/) instead of readline, programs using
this module are not required to be distributed under the GPL.
An example of a typical use of the readline API with history functionality
is illustrated in the following read, eval, print loop:
readEvalPrintLoop :: IO ()
readEvalPrintLoop = do
maybeLine <- readline "% "
case maybeLine of
Nothing -> return () -- EOF / control-d
Just "exit" -> return ()
Just line -> do addHistory line
putStrLn $ "The user input: " ++ (show line)
readEvalPrintLoop
|
|
| Synopsis |
|
|
|
| Documentation |
|
| readline |
| :: String | prompt
| | -> IO (Maybe String) | returns the line the user input, or Nothing if EOF is encountered.
| | readline is similar to System.IO.getLine, but with rich edit
functionality and history capability. readline will read a line
from the terminal and return it, using prompt as a prompt. If
prompt is the empty string, no prompt is issued. The line returned
has the final newline removed, so only the text of the line
remains. A blank line returns the empty string. If EOF is
encountered while reading a line, and the line is empty, Nothing is
returned. If an EOF is read with a non-empty line, it is treated
as a newline.
|
|
|
| addHistory :: String -> IO () |
| Add this command to the history. This allows users to search backward
through history with C-r and step through with up and down arrows, among
other things.
|
|
| readHistory |
| :: FilePath | The file to read.
| | -> IO Bool | | | Read in a history file. Returns False on failure
(for example, if the file does not exist).
|
|
|
| writeHistory |
| :: FilePath | The file to write.
| | -> IO Bool | | | Write out a history file. Returns False if there was a problem writing the file.
|
|
|
| clearHistory :: IO () |
| Clear the history.
|
|
| stifleHistory :: Int -> IO () |
| Stifle the history list, remembering only a certain number of entries.
|
|
| unstifleHistory :: IO Int |
| Stop stifling the history, returning the previous amount the history was
stifled by.
|
|
| historyIsStifled :: IO Bool |
| Check whether the history is stifled or not. True if stifled, False if not.
|
|
| historyMaxEntries :: IO Int |
| Get the maximum number of history entries, returning 0 if the history is
unstifled.
|
|
| getLineBuffer :: IO String |
|
| getPoint :: IO Int |
|
| setPoint :: Int -> IO () |
|
| getEnd :: IO Int |
|
| setEnd :: Int -> IO () |
|
| getPrompt :: IO String |
|
| getLibraryVersion :: IO String |
|
| getTerminalName :: IO String |
|
| setReadlineName :: String -> IO () |
|
| getInStream :: IO Handle |
|
| getOutStream :: IO Handle |
|
| setStartupHook :: Maybe (IO ()) -> IO () |
|
| setRedisplayFunction :: Maybe (IO ()) -> IO () |
|
| type Callback = Int -> Char -> IO Int |
|
| addDefun :: String -> Callback -> Maybe Char -> IO () |
|
| bindKey :: Char -> Callback -> IO () |
|
| parseAndBind :: String -> IO () |
|
| readInitFile :: String -> IO () |
|
| redisplay :: IO () |
|
| readKey :: IO Char |
|
| stuffChar :: Char -> IO Bool |
|
| initialize :: IO () |
|
| resetTerminal :: Maybe String -> IO () |
|
| callbackHandlerInstall :: String -> (String -> IO ()) -> IO (IO ()) |
|
| callbackReadChar :: IO () |
|
| complete :: Int -> Char -> IO Int |
|
| completionMatches :: String -> (String -> IO [String]) -> IO (Maybe (String, [String])) |
|
| filenameCompletionFunction :: String -> IO [String] |
|
| usernameCompletionFunction :: String -> IO [String] |
|
| setCompletionEntryFunction :: Maybe (String -> IO [String]) -> IO () |
|
| setAttemptedCompletionFunction :: Maybe (String -> Int -> Int -> IO (Maybe (String, [String]))) -> IO () |
|
| getCompletionQueryItems :: IO Int |
|
| setCompletionQueryItems :: Int -> IO () |
|
| getBasicWordBreakCharacters :: IO String |
|
| setBasicWordBreakCharacters :: String -> IO () |
|
| getCompleterWordBreakCharacters :: IO String |
|
| setCompleterWordBreakCharacters :: String -> IO () |
|
| getCompleterQuoteCharacters :: IO String |
|
| setCompleterQuoteCharacters :: String -> IO () |
|
| getSpecialPrefixes :: IO String |
|
| setSpecialPrefixes :: String -> IO () |
|
| getCompletionAppendCharacter :: IO (Maybe Char) |
|
| setCompletionAppendCharacter :: Maybe Char -> IO () |
|
| setInhibitCompletion :: Bool -> IO () |
|
| getInhibitCompletion :: IO Bool |
|
| setAttemptedCompletionOver :: Bool -> IO () |
|
| getAttemptedCompletionOver :: IO Bool |
|
| Produced by Haddock version 2.3.0 |