2 unstable releases
|0.2.0||Dec 22, 2022|
|0.1.0||Nov 24, 2022|
#288 in Command-line interface
21 downloads per month
Used in sequent-repl
A library for building REPL applications.
Command trait is a specification of an executable command — the 'execute' part of a REPL application. A command will typically be accompanied by a
NamedCommandParser implementation for converting command strings into
NamedCommandParsers are the only two traits that you must implement. Everything else is just configuration.
Commander decodes user input (typically a line read from a terminal interface) into a dynamic
Command object, using a preconfigured map of
Revolver comes with two useful built-in commands that can be used out-of-the-box.
help— A self-help guide, outlining the available commands and how to use them.
quit— Terminates the REPL. (It only exits the loop; it does not terminate the application.)
These commands are opt-in, meaning that you must explicitly include their parsers in your
Commander to enable them.
Terminal trait represents a text-based interface with the user. It fulfils the 'read' and 'print' parts of a REPL application.
Revolver is currently bundled with two
Streaming— A terminal device that composes over I/O streams using
Outputtraits. Out-of-the-box adapters exist for
stdoutstreams. Adapters may be written to interface with nonstandard streams by supplying a custom closure.
Mock— A way of mocking a terminal device for feeding input, capturing output, and performing various assertions.
Looper is a mechanism for iteratively running commands based on successive user input. It fulfils the 'loop' part of a REPL application.
cargo add revolver
examples/calculator.rs for a simple calculator REPL.