A Rust library for building interactive, customizable prompts in terminal applications.
Inquire is a Rust library for building rich, interactive command-line prompts. It provides a collection of prompt types—such as Text, Select, MultiSelect, DateSelect, Confirm, Password, Editor, and CustomType—to gather user input, making CLI applications more user-friendly and feature-rich. It solves the problem of creating intuitive terminal interfaces with minimal complexity while offering extensive customization.
Rust developers building command-line applications that require interactive user input, such as configuration wizards, data entry tools, or interactive scripts. It is particularly suited for those needing cross-platform support and fine-grained control over prompt behavior and styling.
Developers choose Inquire for its type-safe API, sensible defaults, and deep customization options, including configurable backends (crossterm, termion, console), validation, theming, and autocompletion. Its cross-platform support and focus on user experience without unnecessary complexity set it apart from simpler prompt libraries.
A Rust library for building interactive prompts
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers multiple prompt types including Text, Select, MultiSelect, DateSelect, Confirm, Password, Editor, and CustomType, as listed in the README's key features.
Works on UNIX and Windows terminals via configurable backends like crossterm, termion, and console, ensuring consistent behavior across systems.
Provides fine-grained control over rendering themes, validation, formatting, autocompletion, and scoring, with examples like custom validators and formatters in the documentation.
Built with Rust's type system, offering sensible defaults and standardized error handling using thiserror, as mentioned in the philosophy section.
Some prompts like DateSelect and Editor are behind feature flags, requiring additional dependencies and complicating setup for those features.
Fails in non-TTY environments with a 'NotTTY' error, limiting use in automated or headless scenarios where terminal interaction isn't available.
Certain prompts like Select do not support custom validators, restricting input validation for selection-based inputs, as noted in the README.