all repos — h3rald @ d5e8d395204b4fb5a3af3c85f43530944d92e49b

The source code of the h3rald.com web site.

contents/minline.md

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
-----
id: minline
github: minline
home: /minline/
title: "minline"
subtitle: "A mininalist line editing library"
summary: "A minimalist but highly-customizable line editing library for Nim projects, providing auto-completion, custom key bindings, and more."
content-type: project
active: true
version: 0.1.1
version-badge: 0.1.1
release-color: yellow
license: MIT
docs: /minline/minline.html
-----

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](/minline/minline.html).