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

Safe HaskellNone
LanguageHaskell98

System.Console.Haskeline.Completion

Contents

Synopsis

Documentation

type CompletionFunc m = (String, String) -> m (String, [Completion]) Source

Performs completions from the given line state.

The first String argument is the contents of the line to the left of the cursor, reversed. The second String argument is the contents of the line to the right of the cursor.

The output String is the unused portion of the left half of the line, reversed.

data Completion Source

Constructors

Completion 

Fields

replacement :: String

Text to insert in line.

display :: String

Text to display when listing alternatives.

isFinished :: Bool

Whether this word should be followed by a space, end quote, etc.

Instances

noCompletion :: Monad m => CompletionFunc m Source

Disable completion altogether.

simpleCompletion :: String -> Completion Source

Create a finished completion out of the given word.

Word completion

completeWord Source

Arguments

:: Monad m 
=> Maybe Char

An optional escape character

-> [Char]

Characters which count as whitespace

-> (String -> m [Completion])

Function to produce a list of possible completions

-> CompletionFunc m 

A custom CompletionFunc which completes the word immediately to the left of the cursor.

A word begins either at the start of the line or after an unescaped whitespace character.

completeWordWithPrev Source

Arguments

:: Monad m 
=> Maybe Char

An optional escape character

-> [Char]

Characters which count as whitespace

-> (String -> String -> m [Completion])

Function to produce a list of possible completions. The first argument is the line contents to the left of the word, reversed. The second argument is the word to be completed.

-> CompletionFunc m 

A custom CompletionFunc which completes the word immediately to the left of the cursor, and takes into account the line contents to the left of the word.

A word begins either at the start of the line or after an unescaped whitespace character.

completeQuotedWord Source

Arguments

:: Monad m 
=> Maybe Char

An optional escape character

-> [Char]

Characters which set off quotes

-> (String -> m [Completion])

Function to produce a list of possible completions

-> CompletionFunc m

Alternate completion to perform if the cursor is not at a quoted word

-> CompletionFunc m 

Filename completion

listFiles :: MonadIO m => FilePath -> m [Completion] Source

List all of the files or folders beginning with this path.