rucline

Rucline (Rust CLI line /rɪˈklaɪn/) is a cross-platform, UTF-8 aware, advanced edtigin, autocompletion capable, tab suggestion supporting line reader you can "recline" on.
It provides advanced editing actions for user input and customization of the line reader.
It uses crossterm as a backend to provide cross-platform support, and provides advanced
Basic usage:
use completion;
use Prompt;
if let Ok = new
// Create a bold prompt
.prompt
// Add some likely values as completions
.completer
// Add some tab completions
.suggester
//Block until value is ready
.read_line
Actions
Rucline allow advanced actions for interacting with the Prompt, but it comes built-in with useful behavior. For example, a few of the build-ins:
Tab: cycle through completionsShift+Tab: cycle through completions in reverseCTRL+W: delete the current workCTRL+J: delete the beginning of the wordCTRL+K: delete the end of the wordCTRL+U: delete the lineCTRL+H: delete the beggining of the lineCTRL+L: delete the end of the line
See Action for the full default behavior
The behavior can be customized by overriding user events with actions. Which in turn can be serialized, stored, and loaded at run-time.
Overriding key bindings
use ;
use ;
use KeyCode;
let mut bindings = new;
// Accept the full suggestions if `right` is pressed
bindings.insert;
if let Ok = new
// Create a bold prompt
.prompt
// Add some likely values as completions
.completer
// Override the `right` key to always fill the full suggestions line
.bindings
//Block until value is ready
.read_line