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 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
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