Category : OS/2 Files
Archive   : OS2CLE.ZIP
Filename : CLEDEMO.DOC

Output of file : CLEDEMO.DOC contained in archive : OS2CLE.ZIP

Command Line Editor
Demonstration Program Documentation

. .o. .
.o. . . . .o.
. . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . .
. . .
+--------| |--------+
| Tm |
| FountainHead |
| Software |

Table of Contents

Demo Limitations.................................3


Command Entry....................................6
Command Execution................................8
Quick Keys......................................10
Session Control.................................11

Tips and Hints......................................14

MS-DOS and OS/2 are registered trademarks of Microsoft Corporation.


This document describes the FountainHead Command Line Editor demonstration
program. The Command Line Editor (CLE) is a productivity tool designed for
people who frequently enter commands at the OS/2 or MS-DOS command prompt.
CLE makes the work of programmers, software developers and 'power users'
easier and more efficient by providing enhanced command line features

Editing Full cursor movement left and right by character
and word, to beginning of line and end of line.
Characters can be inserted and deleted at any
place in the line. Both insert and overtype modes
are available.

Command Recall All commands are saved in a 'history buffer'.
Previously entered commands can be scrolled onto
the command line with a single keystroke.

Command Searching Previously entered commands can be quickly located
based on the beginning characters of the line.

Command Completion Command arguments can be automatically supplied by
CLE using the last entered command as a template.

Abbreviations Command lines can be abbreviated to a single word
or even a single character. Command abbreviations
can include literal text and substitutable
parameters. This feature can also be used to
create a command alias or synonym.

'Quick Keys' The function keys F1 through F10 can be set up to
immediately enter any command without having to
press the Enter key. These 'quick commands' have
full use of the Completion and Abbreviation

Session Saving The complete session including command history can
be saved to a disk file at any time. This file
can be read at a later time (usually the next day)
to completely restore the command environment.

Configuration File Upon startup CLE reads a file which contains your
'permanent' command environment. This allows you
to define abbreviations, quick keys and other
configuration information (like key bindings) once
and have them available each time CLE is run.

Environment Editing Environment variables (and command abbreviations)
can be edited using all CLE editing features.

Session Control Most CLE features can be controlled from the
command line allowing new abbreviations and
options to be set at any time.

Batch Operation CLE commands can be placed in a file and executed
by entering the filename on the command line.

FountainHead CLE Demo Page 2


Limitations of Demo Program

This demonstration program contains many of the features of the commercial
CLE program. Some features, such as command history and abbreviations, are
limited as to the maximum number of entries allowed. Other features, such
as user definable configuration settings and key bindings, have been
omitted completely. We have tried to provide you with a true and accurate
feel for CLE with this demonstration program. In the descriptions that
follow we have noted any differences between the demonstration and
commercial programs.


The first commercial release of CLE is planned to coincide with the initial
release of the OS/2 operating system. Since the only OS/2 tools currently
available are pre-release Beta versions, we are not able to provide a true
production version of the OS/2 CLE at this time. In order to provide CLE
immediately we have decided to offer a pre-commercial version for $99.95.
This package includes both DOS and OS/2 versions of CLE and will be
upgraded free of charge when the commercial release becomes available. The
commercial release is planned for January, 1988. To place an order or for
more information contact us at:

FountainHead Software
One Western Avenue
Morristown, N.J.
Phone (201) 644-2724
9 Am - 5 Pm EST

FountainHead CLE Demo Page 3



CLE does not require a formal installation procedure. To use CLE simply
run the CLE program from your normal command line prompt. All of CLE's
features will then be available. CLE can be canceled and removed from
memory at any time by typing the command "EXIT".

This demonstration kit includes two versions of the CLE program. To run
CLE on OS/2 systems use the "CLEOS2.EXE" program. Use "CLEDOS.EXE" on DOS

Also included in the demonstration kit is a sample CLE startup file. This
file contains several command abbreviations and quick-key settings that you
may find useful. We recommend the following command to run the CLE
demonstration program and automatically load the sample startup file:

For OS/2 systems:


For DOS systems:


After running the appropriate program your command line will display a
prompt which reminds you that the CLE demo is running (you are free to
change the prompt back to your usual one). The command line will behave
normally except that the extended CLE commands and functions will be

Technical note for OS/2 users:

It is possible to BIND "CLEOS2.EXE" to produce an
executable file that will run under both OS/2 and DOS
systems. However, we have found that bound programs do
not function properly with some hardware configur-
ations. Therefore we have not supplied a bound version
of CLE. If you want a single executable version of CLE
you can try to BIND it on your system- it may work or
it may not.

FountainHead CLE Demo Page 4



CLE accepts commands from the keyboard, analyzes them, performs
abbreviation and completion processing and executes the resulting command.
The standard system command processor ("CMD.EXE" for OS/2 and "COMMAND.COM"
for DOS) is used to execute the command. This insures that all operating
system features, like I/O redirection, are available to the executed
program. The overhead for this process can be reduced by placing the
command processor in a ram-disk or using a disk cache to maintain a memory
resident copy of it.

When information is entered into CLE it is saved for future reference in
areas called buffers. CLE maintains three separate buffers. The History
buffer saves previously entered commands which can be recalled and reused
at a future time. The Abbreviation buffer contains the names and
definitions of all the abbreviations you have defined. The Completion
buffer contains the parameters that will be used to automatically complete
commands that you have set up for completion.

The buffers are of fixed size and can contain only a fixed amount of
information. When the History buffer becomes full older commands are
removed in order to make room for new commands. This process occurs
automatically. You need not be concerned with the buffer filling up or
having to make room for new commands. When the Abbreviation and Completion
buffers become full new entries can not be added and you will see a message
indicating that the buffer is full. Existing entries are not removed from
the Abbreviation and Completion buffers when they become full.

The commercial CLE program allows you to set the size of the History,
Abbreviation and Completion buffers. The demonstration program is set up
to use 2048 bytes for each buffer which represents typical sizes that would
be found in normal operation. However, the demonstration program will
store only 5 commands in the history buffer and allow only 5 command
abbreviations to be defined. This arrangement gives you an accurate
picture of the amount of memory used by CLE in actual operation. The
commercial CLE program uses slightly more memory than the demonstration
program due to the extra features it provides.

The operation of CLE can be divided into three categories. A brief
description of the categories will be given here, followed by sections
which provide more detail for each category.

Command Entry is concerned with the entry, editing and recall of command
lines. This section will describe the cursor movement keys, insert and
overtype modes, and recalling previously entered command lines by scrolling
and searching the history buffer.

Command Execution is the operation of acting on the command created in the
command entry step. This process takes into account the abbreviations you
have defined and also supplies the command completion parameters.

Session Control allows you to communicate with CLE. You can create and
modify abbreviations and command completions, obtain listings of the
various buffer contents and control other aspects of CLE's operation.

FountainHead CLE Demo Page 5


Command Entry

The following is a list of editing keys available during command entry and
a description of its function.

___________ ______
Editing Key Action

RETURN Completes entry of the command line and causes the
command to be executed.

ESCAPE Erases the command line allowing a new command to
be entered.

LEFT ARROW Moves the cursor one character to the left.

CTRL-LEFT ARROW Moves the cursor one word to the left (not
available in demonstration program).

RIGHT ARROW Moves the cursor one character to the right.

CTRL-RIGHT ARROW Moves the cursor one word to the right (not
available in demonstration program).

HOME Moves the cursor to the beginning of the command

END Moves the cursor to the end of the command line.

BACKSPACE Deletes the character to the left of the cursor.

DELETE Deletes the character under the cursor.

PAGE UP Deletes the word to the left of the cursor (not
available in demonstration program).

PAGE DOWN Deletes the word to the right of the cursor (not
available in demonstration program).

INSERT Toggles between insert mode and overtype mode.
Overtype mode causes typed characters to replace
existing characters on the command line. Insert
mode causes typed characters to be added to the
command line, moving existing characters to the
right. The cursor appears larger when insert mode
is active.

UP ARROW Displays the previous command. This key can be
used to scroll backward through the entire history
buffer. Each press of the key backs up one
command. Backing up past the first command in the
buffer causes the last command to be displayed.

FountainHead CLE Demo Page 6


___________ ______
Editing Key Action

DOWN ARROW Displays the next command. The key can be used to
scroll forward through the entire history buffer.
Advancing beyond the last command in the buffer
causes the first command to be displayed.

CTRL-RETURN Searches backward through the history buffer. If
or a command is found which begins with the sequence
CTRL-J of characters that appear before the cursor on the
command line, that command is displayed. If no
matching command is found the command line is not

The commercial CLE program provides a facility to change the bindings of
keys to commands. This allows you to set the key which performs each
editing action and configure the keyboard to your liking. The
configuration facility is not included in the demonstration program.

FountainHead CLE Demo Page 7


Command Execution

Command execution consists of three steps. First, the command is examined
and any missing parameters are supplied from the Completion buffer. Next,
if the command is an abbreviation CLE supplies the full text of the
command. Finally, the command is passed to the operating system for
execution, or handled internally if it is a CLE session control command.
This section describes the CLE command completion and abbreviation

Command Completion

It often happens during the course of a session that the same commands are
entered again and again. When the commands contain many parameters it
becomes tedious to repeatedly enter the command line. The command
completion feature of CLE allows these long commands to be entered without
having to supply the parameters- only the command name need be entered.

For example, during program development the following command may be issued
many times: "LINK TESTPROG,,NUL,\MYLIB\GRAPHICS.LIB". While this command
could be entered by scrolling through the history buffer it is sometimes
more convenient to simply type "LINK" and have CLE supply the rest of the
command line. Issue the following CLE command to set up completion
processing for the "LINK" command:


This will cause CLE to remember the parameters to the "link" command each
time it is entered. If a "link" command is entered with no parameters CLE
will supply the same parameters used in the last "link" command. Using the
above example, typing "link " on the command line will cause the
entire command "link testprog,,nul,\mylib\graphics.lib" to be displayed and

Another advantage to using command completion over history recall is that
completion parameters will never be removed from the buffer to make room
for new entries. If the Completion buffer becomes full new entries are not
placed in the buffer and all existing entries remain unchanged.

You can obtain a display of all commands in the Completion buffer by giving
the "COMPLETE" command with no parameters. The command


will display all commands in the Completion buffer along with the
parameters CLE will use to complete the command.

FountainHead CLE Demo Page 8



The abbreviation feature of CLE allows an entire command line to be
abbreviated to a single word or letter. Command abbreviations can consist
of just literal text, or they can contain text and substitutable
parameters. Substitutable parameters allow you to define an abbreviation
for the fixed command text and also supply variable parameters when the
command is issued.

For example, if you frequently type the command "DIR /P" you may want to
define the following abbreviation:

CLE ABBREV d dir /p

You can then type just the letter "d" and the command "dir /p" will be sent
to the operating system and executed. This is an abbreviation which
contains only fixed text. While this works fine for entering "dir /p" it
doesn't help in obtaining other directory listings like "dir *.wks /p". We
can address this by adding a substitutable parameter to the abbreviation.
The abbreviation:

CLE ABBREV d dir %1 /p

contains the substitutable parameter "%1". This tells CLE to replace the
"%1" with the first parameter entered on the command line. Now we can use
the same abbreviation for "dir /p" and "dir *.wks /p".

Using the above abbreviation, typing the command "d" would cause CLE to
execute "dir /p". Since the command "d" contains no parameters CLE simply
removes the "%1" from the abbreviation and executes the command.

Typing "d *.wks" would cause the command "dir *.wks /p" to be executed.
CLE will substitute the first command parameter ("*.WKS") for the "%1" in
the abbreviation.

There are nine substitutable parameters available- "%1" through "%9".
These parameters can appear more than once in the abbreviation. For
example, the abbreviation

CLE ABBREV bak copy %1.doc \backup\%1.bak

contains the parameter "%1" twice. Typing "bak memo" would cause CLE to
execute the command "copy memo.doc \backup\memo.bak".

The abbreviation feature can also be used to create command synonyms or
aliases. If you'd rather type "ls *.c" instead of "dir *.c" you can set
the abbreviation:


Notice that when an abbreviation does not contain any substitutable
parameters all parameters entered on the command line are included in the
command. Using the above example, typing "ls *.c/p" causes the command
"dir *.c/p" to be executed.

FountainHead CLE Demo Page 9


Quick Keys

Quick Keys provide a fast and efficient method of entering frequently used
commands. There are ten quick key commands available. They are assigned
to function keys F1 through F10. Simply pressing the function key enters
the command on the command line and executes the command.

The quick keys are set up by defining abbreviations called "F1" through
"F10". Whenever a function key is pressed the corresponding abbreviation
is placed on the command line and executed. For example, to give the
command "EDITOR MYPROG.C" using quick keys you would create this

CLE ABBREV F1 editor myprog.c

When the F1 key is pressed the command line will display "editor myprog.c"
and the "editor" program will be executed. The remaining nine quick keys
are set up in the same manner.

The commands entered using quick keys are executed exactly as if they were
typed on the command line. This means that all command abbreviation and
completion facilities are available to quick keys. In the example above,
the command "editor" could itself be defined as an abbreviation and be set
up for automatic command completion.

FountainHead CLE Demo Page 10


Session control

CLE provides several commands which allow you to control its operation.
These commands are entered on the command line but are not passed to the
operating system for execution. Instead, they cause CLE itself to perform
certain actions.

Each of the CLE commands begins with the word "CLE" which identifies it as
a CLE command. This minimizes the number of 'reserved' commands and
reduces the potential conflict with other system commands. The 'Tips and
Hints' section on page 14 gives techniques to change the names of the CLE
commands to reduce typing or provide names which are more intuitive to you.

In the descriptions which follow CLE commands appear in upper case. In
actual use the case of the commands is not important. Any combination of
upper and lower case letters is acceptable.

The remainder of this section describes each CLE command in detail.

___________ ___________
CLE Command Description

ABBREV Defines the name of a command abbreviation, the
full text of the command and the positions of any
substitutable parameters within the command. This
command is explained in detail in the 'Command
Execution' section on page 6. Entering the name
of an abbreviation without any command text causes
the abbreviation to be removed from CLE. For


enters the abbreviation "t" for the command
"type". The command


causes the abbreviation "t" to be deleted.

CLEAR Erases the contents of a buffer. This is useful
if you want to establish a new set of
abbreviations. The three buffers can be cleared
individually or all once. The various forms of
the CLEAR command are:


FountainHead CLE Demo Page 11


___________ ___________
CLE Command Description

COMPLETE Establishes a command for which CLE will
automatically provide missing command parameters.
This command is explained in detail in the
'Command Execution' section on page 6. For


causes CLE to automatically supply the filename
used in the last "t" command when you enter a "t"
command with no parameters.

EDIT Allows you to edit the definition for an existing
abbreviation or operating system environment
variable. For example,


will cause the command line to display the text
"CLE ABBREV t type". The cursor will be
positioned at the end of the line and you can then
edit the abbreviation definition. The command


will cause the command line to be displayed with
the text "SET PATH=". The PATH
definition can then be edited.

HISTORY Enters a command in the History buffer. This
command is not generally entered on the command
line. It is useful in batch files to load the
history buffer with command lines from a previous
session. The format of the command is:


Entering the "HISTORY" command with no parameters
will display the contents of the History buffer.

NOCOMPLETE Cancels completion processing for a command. When
this command is issued CLE will no longer supply
missing parameters for the command. The following
example cancels completion processing for the "t"


FountainHead CLE Demo Page 12


___________ ___________
CLE Command Description

RESTORE Reads a CLE batch file created by the SAVE
command. This file contains the commands required
to restore the CLE session to the state that
existed when the SAVE command was issued. This
command can also read a batch file you create with
a standard text editor. You can place any CLE or
operating system command in a batch file. The
commands are executed exactly as if they were
entered on the command line. If you supply a
filename CLE will read commands from that file.
If you omit the filename CLE will read from a file
called "CLE.SAV". The RESTORE command forms are:


SAVE Creates a batch file which reflects the state of
the CLE session. All current history, abbrevia-
tion and completion commands are written to the
file. This file is used by the RESTORE command to
restore a CLE session. You can include a
filename, or use the default of "CLE.SAV". The
format of the SAVE command is:


SAY Displays a message on the screen. This can be
used in batch files for showing progress messages
or any other useful information. The format of
the SAY command is:


FountainHead CLE Demo Page 13


Tips and Hints

Here are some tips you may find useful:

o Use the abbreviation facility to set up convenient and intuitive
CLE commands. For example, the command:

CLE ABBREV a cle abbrev

lets you define abbreviations using just the letter "a". The
following command will set up the abbreviation for "t" for the
"type" command:

a t type

Use the same trick for the "COMPLETE" command with:

CLE ABBREV c cle complete

o To save the buffer contents and end the CLE session with a single
command, create a file called "QUIT.CLE" containing the lines:


Then set up the abbreviation:

CLE ABBREV quit cle restore quit.cle

When you type "quit" on the command line CLE will read the file
called "quit.cle", save the session (in a file called "CLE.SAV")
and then terminate itself. You will be back at the normal system
command prompt.

o CLE batch files can contain CLE and standard system commands. CLE
does not echo commands as they are executed, so you can use CLE to
run batch files without seeing that annoying "ECHO OFF" message.
In addition, CLE batch files can be "nested". That is, file
"FILE_A" can issue the command "CLE RESTORE FILE_B". This causes
"FILE_B" to be processed, and then "FILE_A" is resumed at the point
just after the RESTORE command.

o If you happen to have a file that contains statements such as "SYN
d dir" you may get some use out of the following abbreviation:

CLE ABBREV syn cle abbrev

o Place your command processor ("CMD.EXE" or "COMMAND.COM") in a ram-
disk or disk cache. This will minimize CLE overhead when executing
operating system commands.

FountainHead CLE Demo Page 14


o Set up Quick Keys for your most common operations. Commands like
running your text editor, compiler, linker and spreadsheet program
are all good candidates. Remember that quick keys can use
abbreviations and command completion.

FountainHead CLE Demo Page 15

  3 Responses to “Category : OS/2 Files
Archive   : OS2CLE.ZIP
Filename : CLEDEMO.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: