Crate rustyline[][src]

Expand description

Readline for Rust

This implementation is based on Antirez’s Linenoise



let mut rl = rustyline::Editor::<()>::new();
let readline = rl.readline(">> ");
match readline {
    Ok(line) => println!("Line: {:?}", line),
    Err(_) => println!("No input"),


pub use crate::config::ColorMode;
pub use crate::config::CompletionType;
pub use crate::config::Config;
pub use crate::config::EditMode;
pub use crate::config::HistoryDuplicates;
pub use crate::config::OutputStreamType;


Completion API

Customize line editor

Contains error type for handling I/O and Errno errors

Syntax highlighting

Hints (suggestions at the right of the prompt as you type).

History API

Line buffer with current cursor position

Input validation API (Multi-line editing)


Completion/suggestion context

Line editor

Give access to user input.

Input key pressed and modifiers

The set of modifier keys that were triggered along with a key press.


Where to paste (relative to cursor position)

Where to move with respect to word boundary

character search


Input event

Event handler

Vi input modes

Input key pressed

Where to move

Different word definitions


May behave differently depending on:

Syntax specific helper.

Type Definitions

The number of times one command should be repeated.

The error type for I/O and Linux Syscalls (Errno)