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

Safe HaskellNone

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 mSource

Disable completion altogether.

simpleCompletion :: String -> CompletionSource

Create a finished completion out of the given word.

Word completion

completeWordSource

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.

completeWordWithPrevSource

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.

completeQuotedWordSource

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.