https://github.com/haskell/haskeline
A Haskell library for line input in command-line programs.
https://github.com/haskell/haskeline
Last synced: 8 months 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 12 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T16:45:05.000Z (10 months ago)
- Last Synced: 2025-05-12T16:11:23.891Z (8 months ago)
- Language: Haskell
- Homepage: https://hackage.haskell.org/package/haskeline
- Size: 1.22 MB
- Stars: 234
- Watchers: 9
- Forks: 78
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog
- License: LICENSE
Awesome Lists containing this project
- my-awesome - haskell/haskeline - 12 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.