haskeline-0.7.2.1: A command-line interface for user input, written in Haskell.

Safe HaskellNone
LanguageHaskell98

System.Console.Haskeline.History

Description

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 Settings flags:

  • autoAddHistory: add nonblank lines to the command history (True by default).
  • 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).

Synopsis

Documentation

data History Source

Instances

addHistoryUnlessConsecutiveDupe :: String -> History -> History Source

Add a line to the history unless it matches the previously recorded line.

addHistoryRemovingAllDupes :: String -> History -> History Source

Add a line to the history, and remove all previous entries which are the same as it.

historyLines :: History -> [String] Source

The input lines stored in the history (newest first)

readHistory :: FilePath -> IO History Source

Reads the line input history from the given file. Returns emptyHistory if the file does not exist or could not be read.

writeHistory :: FilePath -> History -> IO () Source

Writes the line history to the given file. If there is an error when writing the file, it will be ignored.

stifleHistory :: Maybe Int -> History -> History Source

Limit the number of lines stored in the history.

stifleAmount :: History -> Maybe Int Source

The maximum number of lines stored in the history. If Nothing, the history storage is unlimited.