ref: cc5f799ee6b51ce2859a74dbcd36b484d805732c
dir: /ghc/System/Console/SimpleReadline.hs/
module System.Console.SimpleReadline(
-- getInputLine,
getInputLineHist,
getInputLineHistComp,
) where
import qualified System.Console.Haskeline as H
import System.Console.Haskeline hiding (getInputLine)
{-
getInputLine :: String -> IO (Maybe String)
getInputLine prompt =
runInputT defaultSettings (H.getInputLine prompt)
-}
getInputLineHist :: FilePath -> String -> IO (Maybe String)
getInputLineHist hist prompt =
runInputT settings (H.getInputLine prompt)
where settings = defaultSettings { historyFile = Just hist }
getInputLineHistComp :: ((String, String) -> IO [String]) -> FilePath -> String -> IO (Maybe String)
getInputLineHistComp comp hist prompt =
runInputT settings (H.getInputLine prompt)
where settings = setComplete hcomp $ defaultSettings { historyFile = Just hist }
hcomp :: CompletionFunc IO
hcomp pp@(pre, _) = do
alts <- comp pp
return (pre, map (\ s -> Completion s s False) alts)