![](haskell_icon.gif) | 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 |