editline-0.2.1.0: Bindings to the editline library (libedit).ContentsIndex
System.Console.Editline.Readline
Portabilitynon-portable (requires libedit)
Stabilityprovisional
Maintainerjudah.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
readline :: String -> IO (Maybe String)
addHistory :: String -> IO ()
readHistory :: FilePath -> IO Bool
writeHistory :: FilePath -> IO Bool
clearHistory :: IO ()
stifleHistory :: Int -> IO ()
unstifleHistory :: IO Int
historyIsStifled :: IO Bool
historyMaxEntries :: IO Int
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
Documentation
readline
:: Stringprompt
-> 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
:: FilePathThe file to read.
-> IO Bool
Read in a history file. Returns False on failure (for example, if the file does not exist).
writeHistory
:: FilePathThe 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