all repos — minline @ 269610215f055a590c1f8359e3ada69b3315ab08

A minimalist but highly-customizable line editing library.

README.md

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
# nimline

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.

*nimline* 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).

*nimline* 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/nimline/nimline.html).