This module provides a low-level API to the line history stored in the
InputT monad transformer.
For most application, it should suffice to instead use the following
autoAddHistory: add nonblank lines to the command history (
historyFile: read/write the history to a file before and after the line input session.
If you do want custom history behavior, you may need to disable the above default setting(s).
- data History
- emptyHistory :: History
- addHistory :: String -> History -> History
- addHistoryUnlessConsecutiveDupe :: String -> History -> History
- addHistoryRemovingAllDupes :: String -> History -> History
- historyLines :: History -> [String]
- readHistory :: FilePath -> IO History
- writeHistory :: FilePath -> History -> IO ()
- stifleHistory :: Maybe Int -> History -> History
- stifleAmount :: History -> Maybe Int
Add a line to the history unless it matches the previously recorded line.
Add a line to the history, and remove all previous entries which are the same as it.
Reads the line input history from the given file. Returns
emptyHistory if the file does not exist or could not be read.
Writes the line history to the given file. If there is an error when writing the file, it will be ignored.
Limit the number of lines stored in the history.