Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haskell/haskeline

A Haskell library for line input in command-line programs.
https://github.com/haskell/haskeline

Last synced: 5 days ago
JSON representation

A Haskell library for line input in command-line programs.

Awesome Lists containing this project

README

        

# Haskeline

The Haskeline library provides a user interface for line input in command-line programs.
This library is similar in purpose to readline, but since it is written in Haskell it is (hopefully)
more easily used in other Haskell programs.

## Links
The latest release, as well as the API documentation, may be obtained from [Hackage](http://hackage.haskell.org/package/haskeline).

The most recent development source code can be downloaded with:

git clone https://github.com/judah/haskeline

Further documentation is also available at
[https://github.com/judah/haskeline/wiki](https://github.com/judah/haskeline/wiki)

## Features:

- Provides a [rich line editing interface](https://github.com/judah/haskeline/wiki/KeyBindings).
- A `~/.haskeline` file allows customization of [preferences](https://github.com/judah/haskeline/wiki/UserPreferences) and [custom key bindings](https://github.com/judah/haskeline/wiki/CustomKeyBindings).
- Runs on POSIX-compatible systems, using the [terminfo](http://github.com/judah/terminfo) library to support non-ANSI terminals.
- Runs on Windows using MinGW.
- [Supports Unicode](https://github.com/judah/haskeline/wiki/UnicodeSupport) cross-platform.
- History recall and incremental search.
- Custom tab completion functions which may run in an arbitrary monad.