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