Web site: github.com/jcwangxp/Crossline
Category: Office
Subcategory: Text Editors
Platform: Linux, OS X, Windows, Unix
License: MIT
Interface: CLI
Wikipedia:
First release: December 2019
Crossline – a small, self-contained, zero-config, MIT licensed, cross-platform, readline and libedit replacement.
Crossline supports multiple line edit mode like readline. If you input a very long line and then you want to edit some part many lines above, it’s not convenient to move to the position quickly even with Ctrl+Left. I used to copy input text to a GUI editor like notepad++, then edit and copy back.
Features:
– Support many platforms: Windows, Linux, vt100 and xterm.
– Support total 79 shortcuts and 40 functions.
– Support most readline shortcuts (Emacs Standard bindings): move, edit, cut&paste, complete, history, control.
– Support fast move between lines with Up Down and Ctrl/Alt+Up Ctrl/Alt+Down keys in multiple line edit mode.
– Support some Windows command line shortcuts and extend some new convenient shortcuts.
– Support history navigation, history show/clear and history save/load.
– Support readline with initial input for editing.
– Support autocomplete, key word help and syntax hints.
– Support powerful interactive history search with multiple case insensitive including and excluding match patterns.
– Support same edit shortcuts (except complete and history shortcuts) in history search mode.
– Support color text for prompt, autocomplete, hints.
– Support auto resizing when editing window/terminal size changed.
– Support autocomplete, history show/search, help info paging.
– Support cross platform paging control APIs.
– Support cross platform cursor control APIs.
– Support cross platform color control APIs.
– Support convenient embedded F1 help in edit and history search mode, and you can call it anytime without losing current input.
– Support convenient embedded Ctrl-^ keyboard debug mode to watch key code sequences.
– Support Ctrl-C to exit edit and Ctrl-Z to suspend and resume job(Linux) in both edit and search mode.
– Support pipe as input.
– Pure C MIT license source code, no 3rd library dependency.
– No any dynamic memory operations: malloc/free/realloc/new/delete/strdup/etc.
– Very small only about 1200 LOC, and code logic is simple and easy to read.
– Easy to customize your own shortcuts and new features.
– Unicode is to be supported later.