Terminal Multi-Line Command Editor

Downloads16
Subscribe
2
Bookmark
5
This application is not supported by InterSystems Corporation. Please be notified that you use it at your own responsibility.
Details
Releases
Reviews
Screenshots
Issues

What's new in this version

  • added WebTerminal
  • added Code Quality
  • actual Version

Terminal Multi-Line Command Editor

Terminal Multi-Line Input with Edit, Insert, Delete, Print extension for IRIS
IRIS and Caché have just single command lines in terminal available
This Multi-Line Commands Editor also will execute the Multi-line Commands.
In addtiion, it is independent of access to %SYS and can be installed in any namespace

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 with Docker

Prerequisites
Make sure you have git and Docker desktop installed.
Installation
Clone/git pull the repo into any local directory

$ git clone https://github.com/intersystems-community/objectscript-docker-template.git

Open the terminal in this directory and run:

$ set COMPOSE_DOCKER_CLI_BUILD=0
$ docker-compose build

Run IRIS container with your project:

$ docker-compose up -d

How to Test it in Docker Open IRIS terminal:

$ docker-compose exec iris iris session iris
USER>ZME

Installation from ZPM

Import ZME.xml to any namespace.

After the first start you can trigger a system-wide installation in %SYS as %zme
in combinatin with a Command Extention ZME for simplified use (added to %ZLANGC00.mac)

At first run and if not a Command Extention 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 <enter>

These Editor Commands are implemented:

    USER>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 .
***** line editing commands *****

USER:zme>1

see Video

Article in DC

Demo Server SMP
Demo Server WebTerminal

Code Quality

ZPM installation
zpm "install terminal-multiline-editor"
Rating
5 (1)
Category
Technology Example
Works with
CachéEnsembleHealthShareInterSystems IRISInterSystems IRIS for Health
Tags
Info
Version
1.1.1
Last updated
2022-04-20
Repository
Open
Documentation
Open
License
Link