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
Functiontrait for implementing customPromptercommands - 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
Terminalinterface - 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