Linenoise

Web site: github.com/antirez/linenoise
Category: Office
Subcategory: Text Editors
Platform: Linux, BSD, OS X, IBM AIX, Unix-like
License: BSD
Interface: CLI
Wikipedia:
First release: 2010

Linenoise – a minimal, zero-config, BSD licensed, readline replacement used in Redis, MongoDB, Android and many other projects.

Goals:
– Single and multi line editing mode with the usual key bindings implemented.
– History handling.
– Completion.
– Hints (suggestions at the right of the prompt as you type).
– Multiplexing mode, with prompt hiding/restoring for asynchronous output.
– About ~850 lines (comments and spaces excluded) of BSD license source code.
– Only uses a subset of VT100 escapes (ANSI.SYS compatible).

Line editing with some support for history is a really important feature for command line utilities. Instead of retyping almost the same stuff again and again it’s just much better to hit the up arrow and edit on syntax errors, or in order to try a slightly different command. But apparently code dealing with terminals is some sort of Black Magic: readline is 30k lines of code, libedit 20k.


Click to rate this post!
[Total: 0 Average: 0]

Leave a Comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.