| haskeline-0.6.1.5: A command-line interface for user input, written in Haskell. | Source code | Contents | Index

System.Console.Haskeline.Completion

Contents

Building `CompletionFunc`s
Filename completion

Synopsis

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

data Completion = Completion {

replacement :: String
display :: String
isFinished :: Bool

}

completeWord :: Monad m => Maybe Char -> String -> (String -> m [Completion]) -> CompletionFunc m
completeQuotedWord :: Monad m => Maybe Char -> String -> (String -> m [Completion]) -> CompletionFunc m -> CompletionFunc m
noCompletion :: Monad m => CompletionFunc m
simpleCompletion :: String -> Completion
completeFilename :: MonadIO m => CompletionFunc m
listFiles :: MonadIO m => FilePath -> m [Completion]
filenameWordBreakChars :: String

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 |

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

Show Completion

completeWord | Source

:: Monad m |
=> Maybe Char | An optional escape character
-> String | List of characters which count as whitespace
-> String -> m [Completion] | Function to produce a list of possible completions
-> CompletionFunc m |
The following function creates a custom `CompletionFunc` for use in the 'Settings.'

completeQuotedWord | Source

:: Monad m |
=> Maybe Char | An optional escape character
-> String |
-> 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 |

Building `CompletionFunc`s

noCompletion :: Monad m => CompletionFunc m | Source

Disable completion altogether.

simpleCompletion :: String -> Completion | Source

Create a finished completion out of the given word.
Filename completion

completeFilename :: MonadIO m => CompletionFunc m | Source

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

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

filenameWordBreakChars :: String | Source

Produced by Haddock version 2.4.2