Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/haskell/haskeline
- Owner: haskell
- License: bsd-3-clause
- Created: 2013-10-31T05:19:04.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-07-01T07:51:25.000Z (6 months ago)
- Last Synced: 2024-12-07T13:07:16.024Z (6 days ago)
- Language: Haskell
- Homepage: https://hackage.haskell.org/package/haskeline
- Size: 1.19 MB
- Stars: 224
- Watchers: 8
- Forks: 75
- Open Issues: 58
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog
- License: LICENSE
Awesome Lists containing this project
- my-awesome - haskell/haskeline - 07 star:0.2k fork:0.1k A Haskell library for line input in command-line programs. (Haskell)
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.