Expand description

Readline for Rust

This implementation is based on Antirez’s Linenoise

Example

Usage

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

Re-exports

pub use crate::config::Behavior;
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;

Modules

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)

Structs

Completion/suggestion context

Line editor

EventContextcustom-bindings

Give access to user input.

Input key pressed and modifiers

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

Enums

Where to paste (relative to cursor position)

Where to move with respect to word boundary

character search

Commands

Eventcustom-bindings

Input event

EventHandlercustom-bindings

Event handler

Vi input modes

Input key pressed

Where to move

Different word definitions

Traits

May behave differently depending on:

External printer

Syntax specific helper.

Type Definitions

The number of times one command should be repeated.

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