cli_repl 0.0.1
cli_repl: ^0.0.1 copied to clipboard
A simple library for CLI REPLs
cli_repl #
A simple library for creating CLI REPLs in Dart.
Features #
Example Usage:
/// Echoes all entered lines
await for (var line in new Repl().run()) {
print(line);
}
Statement Validation #
By passing a validator to the Repl constructor, you can tell the REPL
whether some entered text is a complete statement or not. The REPL calls this
whenever a newline is entered to determine whether to yield a complete statement
or continue it on a new line. The default validator returns true for all text.
Custom Prompts #
By default, the REPL gives no prompt to the user when asking for a statement.
You can change this by passing a prompt to the Repl constructor. By default,
statement continuations on a new line will start with whitespace equal to the
length of the prompt. You can override this by passing in continuation.
See example/example.dart for a demonstration of statement validation and
custom prompts.
History #
A history of entered lines is stored. History entries are modified when edited.
By default, a maximum of 50 entries are stored. You can change this by passing
maxHistory into the Repl constructor.
Navigation #
Left/Ctrl-B: Move left one characterRight/Ctrl-F: Move right one characterHome/Ctrl-A: Move to start of lineEnd/Ctrl-E: Move to end of lineCtrl-L: Clear the screenCtrl-D: If there is text, delete the character under the cursor. If there is no text, exit.Ctrl-F: Moves forward one characterCtrl-B: Moves backward one characterCtrl-U: Delete to start of lineCtrl-K: Delete to end of lineUp/Down: Navigate within history