https://github.com/h3rald/minline
A line editing library in pure Nim.
https://github.com/h3rald/minline
Last synced: 8 months ago
JSON representation
A line editing library in pure Nim.
- Host: GitHub
- URL: https://github.com/h3rald/minline
- Owner: h3rald
- License: mit
- Created: 2017-02-15T18:38:22.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-06-15T13:06:45.000Z (over 1 year ago)
- Last Synced: 2025-03-30T21:39:31.426Z (10 months ago)
- Language: Nim
- Homepage: https://h3rald.com/nimline/nimline.html
- Size: 128 KB
- Stars: 18
- Watchers: 3
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# minline
A line editing library in pure Nim designed to be easy to use and provide a minimal (but useful) set of features to build interactive CLI applications.
*minline* provides:
* Basic line editing functionality, move the cursor left and right, delete characters etc.
* Support for a simple prompt at the beginning of the line.
* Support for hiding typed characters (and print asterisks instead).
* Support for intercepting keypresses before they are printed to stdout.
* Some Emacs-like keybindings.
* Customizable line completion.
* Customizable key bindings (i.e. bind a key or a sequence of keys to a Nim proc).
* Persistent history management (history entries can be written to a file).
*minline* does *not* provide:
* Support for multiple lines (you will not be able to move to the next line)
* Support for Unicode or characters other than ASCII.
* Support for colors in the prompt.
* Full Emacs or Vi key bindings.
For more information, see [the reference docs](https://h3rald.com/minline/minline.html).