A configurable, concurrent, extensible, interactive line reader for Unix terminals and Windows console.
`linefeed` is a Rust library that provides an interactive line reader for terminal applications, enabling configurable and extensible input handling. It solves the problem of building command-line interfaces with advanced line-editing features, history management, and cross-platform support.
Rust developers building terminal applications, command-line tools, or REPLs that require interactive input with line-editing capabilities.
Developers choose `linefeed` for its Rust-native implementation, compatibility with GNU Readline commands and configuration files, and its concurrent, extensible design that simplifies adding interactive input to terminal applications.
Configurable, extensible, interactive line reader
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports binding key sequences to commands, including many GNU Readline commands, enabling highly configurable input handling as stated in the README.
Interprets standard GNU Readline inputrc files from environment variables or system paths, making adoption easy for users familiar with Readline.
Works on both Unix terminals and Windows console environments, ensuring broad applicability for terminal applications.
Designed for efficient operation in concurrent applications, enabling smooth input in multi-threaded contexts as per its philosophy.
Does not implement all GNU Readline commands, which can limit applications requiring specific advanced features, as admitted in the README.
Requires setting up inputrc files or programmatic configuration, adding complexity compared to libraries with more default behaviors.
Being version 0.6, the API may undergo breaking changes, posing a risk for long-term stability in production projects.
linefeed is an open-source alternative to the following products: