Terminal Multi-Line Command Editor
The Command extension enables the execution of Multi-Line Commands from Terminal prompt.
Terminal Multi-Line Input with Edit, Insert, Delete, Print extension for IRIS and Caché
IRIS and Caché have just single command lines in terminal available
This Multi-Line Commands Editor also will execute the Multi-line Commands.
In addition, it is independent of access to %SYS and can be installed in any namespace
Special thanks to @Jeffrey Drumm who inspired me to this and supported me as beta-tester.
It is tested on IRIS/Caché Terminal , Putty, Linux Console, Docker Console,
Desktop Docker from Windows Command and WebTerminal.
This broad range of terminal emulations required navigation without any <ESC> sequences
as some of them are quite restrictive on input. So it got a little bit feeling like vi.
Installation & Execution
Import ZME.xml to any namespace.
For a system-wide installation in %SYS just rename it from zme to %zme
You may also add this line to your %ZLANGC00.mac for simplified use:
ZME do ^%zme quit ; add multi line command editor
Otherwise, just call it from terminal command prompt
USER>do ^zme
Usage
at the prompt USER:zme>1
enter commands as usual in terminal
trigger execution by an empty line with
These Editor Commands are implemented:
USER>d ^zme
Entering multi line mode.
<enter> => Run multi-line command.
. => Stop multi-line mode
.i, .i<line> => Insert new empty line after <line>
.d, .d<line>, .d<linefrom>:<lineto> => Delete lines
.p, .p<line>, .p<linefrom>:<lineto> => Show lines
.? => show this help
.e, .e<line> => Edit line
***** line editing commands *****
.+ => move edit cursor forward
.- => move edit cursor backward
.nn => move edit cursor to position nn
.r => set mode replace at cursor
.i => set mode insert after cursor
.d => delete character at cursor
<enter> => teminate line editing
<any character> => replace / insert after cursor
.. => input single .
USER:zml>1