Crate linefeed

source ·
Expand description

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 command::Command;
pub use complete::Completer;
pub use complete::Completion;
pub use complete::Suffix;
pub use function::Function;
pub use interface::Interface;
pub use prompter::Prompter;
pub use reader::Reader;
pub use reader::ReadResult;
pub use terminal::DefaultTerminal;
pub use terminal::Terminal;
pub use writer::Writer;

Modules

Provides utilities for manipulating character values
Defines the set of line editing commands
Provides utilities for implementing word completion
Provides the Function trait for implementing custom Prompter commands
Parses configuration files in the format of GNU Readline inputrc
Provides the main interface to interactive input reader
Implements an in-memory Terminal interface
Provides access to prompt input state
Provides access to terminal read operations
Provides utilities for formatting strings in a table
Provides a low-level terminal interface
Contains types associated with user-configurable variables
Provides access to terminal write operations

Enums

Signal received through a terminal device