✓ Uses Rust 2018 edition
|new 0.3.3||Mar 24, 2019|
|0.3.2||Mar 22, 2019|
|0.2.1||Mar 2, 2019|
|0.1.3||Jan 26, 2019|
#21 in #command-line
60 downloads per month
Cmdr is a library for building line-oriented text-based user interfaces.
This can be done by implementing one or more objects that implement the Cmdr::Scope trait. A command loop can then be started on a scope by calling the cmd_loop function. The command loop uses a line reader to get user input and executes them by running the appropriate functions on the supplied scope object.
Implementing a scope is as easy as creating an object with a few methods that take a vector of &str as their input and return a CommandResult. By annotating the impl block of that object the cmdr macro all functions starting annotated with #[cmd] in that block can be used as commands.
For additional functionality like setting custom prompts or setting hooks to catch unknown or empty commands additional methods can be added to the impl block. These correspond to overridable functions in the Scope trait.