The terminal window shown above can be implemented with the following snippet:
var shell = ;// Add event listener for an command executedshell;// Say somethingshell;shell;// Set some optionsshell;// Start the shellshell;
- Configurable History
- Asynchronous execution
- No pre-set parser, full control of the input
- Small codebase, easy extensible
Function to open the actual shell
Function to exit the program
Sets the value of an option listed below.
key is either an object of multiple option key-value pairs or one value is presented as a key value parameter.
Sets the callback
fn on event
ev (see below for a full list of available events)
An array of commands, that were entered in the past
A boolean flag if a long running task is still allowed to run. See gps example in the examples folder.
The event is triggered when the shell is opened. This is the right place for your message of the day.
The event is triggered before the program is getting terminated.
The event is triggered for every command submitted. The callback has one parameter, the command itself.
The event is triggered when the user hits ctrl+ (key is any a-z without c for the moment). The callback has one parameter, the key.
Boolean if the exec event should be asynchronous. If it is, the callback has a second argument, the
done() callback. See the MySQL client in the examples folder.
The prompt string, which gets prepended of each line. Default is
Boolean to notify the user of small interaction mistakes by playing the typical beep sound. Default is true.
Boolean if the shell should exit when ctrl-c is invoked. Default is true. Alternative would be to call
exit() on your own.
exitOnCtrlC is false, then ctrl-c can be used to abort the actual writing of a command.
The file path to the history file. Default is null, which means no history file is written
The maximum number of lines getting written back to the history file. Default is null, which means everything is written
Boolean to ignore a command of being written to history twice, if the previous command was the same. Default is false, so every command is written to history
Copyright and licensing
Copyright (c) 2016, Robert Eisele (email@example.com) Dual licensed under the MIT or GPL Version 2 licenses.