A Go package for creating interactive command-line menus with validation, color customization, and concurrency support.
WMenu is a Go package that enables developers to build interactive command-line menus for applications requiring user choices. It handles prompt display, input validation, and action execution, simplifying the creation of CLI tools with menu-driven interfaces. The library supports features like color customization, yes/no questions, and concurrent I/O operations.
Go developers building command-line applications that require interactive user prompts, such as configuration wizards, administrative tools, or any CLI needing menu-based selection.
Developers choose WMenu for its ease of use, built-in validation, and customization options, which reduce boilerplate code for CLI interactions. Its concurrent I/O handling and flexible action system make it a robust alternative to manual input parsing.
An easy to use menu structure for cli applications that prompts users to make choices.
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 both single and multiple selections with configurable delimiters, as shown in the features list for force single selection and AllowMultiple().
Validates all user responses before triggering functions, reducing error handling overhead, as emphasized in the package description.
Allows color changes for menu parts and symbols for default options, enhancing visual appeal, per the README's customization features.
Includes a dedicated mode for simple yes/no queries with flexible input acceptance (e.g., 'y', 'yes'), simplifying confirmation prompts.
Lacks support for pagination, search within menus, or dynamic option updates, which are common in more complex CLI tools.
Multiple version tags (v1-v5) with different import paths for pre- and post-Go1.11 can confuse developers and complicate dependency handling.
Documentation is spread across separate godoc pages for each version, increasing effort to find consistent, up-to-date information.