Crate rushell_deps_linefeed[][src]

Provides a configurable, concurrent, extensible, interactive input reader for Unix terminals and Windows console.

Configuration is compatible with GNU Readline.

The main entry to interactive read operations is the Interface type.

Basic example

use linefeed::{Interface, ReadResult};

let mut reader = Interface::new("my-application")?;

reader.set_prompt("my-app> ")?;

while let ReadResult::Input(input) = reader.read_line()? {
    println!("got input {:?}", input);
}

println!("Goodbye.");

Re-exports

pub use crate::command::Command;
pub use crate::complete::Completer;
pub use crate::complete::Completion;
pub use crate::complete::Suffix;
pub use crate::function::Function;
pub use crate::interface::Interface;
pub use crate::prompter::Prompter;
pub use crate::reader::Reader;
pub use crate::reader::ReadResult;
pub use crate::terminal::DefaultTerminal;
pub use crate::terminal::Terminal;
pub use crate::writer::Writer;

Modules

chars

Provides utilities for manipulating character values

command

Defines the set of line editing commands

complete

Provides utilities for implementing word completion

function

Provides the Function trait for implementing custom Prompter commands

inputrc

Parses configuration files in the format of GNU Readline inputrc

interface

Provides the main interface to interactive input reader

memory

Implements an in-memory Terminal interface

prompter

Provides access to prompt input state

reader

Provides access to terminal read operations

syntaxer

Provides utilities for implementing Syntax Highlight

table

Provides utilities for formatting strings in a table

terminal

Provides a low-level terminal interface

variables

Contains types associated with user-configurable variables

writer

Provides access to terminal write operations

Enums

Signal

Signal received through a terminal device