

                           CLA 1.0 alpha

                       Command Line Assistant
                    by Avery.Andrews@anu.edu.au

The purpose of this program is to help in using programs that take
long command-lines, such as Olivier Montanuy's DeuTex.  The idea is
that you type something short and snappy, like:

   cla -make

and CLA consults a data file and executes a command such as:

   deutex -doom ..\ -overwrite -make wadinfo.txt ..\mycool.wad

The format of these data files is discussed in the help file (cla.hlp),
and illustrated in two example files, `defaults.cla' and `coolwad.cla'.
 

***** Usage *****

  --Installation:
Unzip the archive, and  put cla.exe and cla.hlp in some directory that is
on your dos path.

  --Preparations:

First you prepare a text file, with a name such as `defaults.cla'
or `coolwad.cla'.  The contents of this text file tell CLA what is
to be done with the command-line parameters you provide.  A very
simple one would just say:

    deutex -doom ..\

This would say that the program to be executed is DeuTex, its first
command-line parameter is to be `-doom ..\', and the remaining
parameters are whatever you call CLA with.  E.g.

  cla -merge cool.wad

will cause the command:

  deutex -doom ..\ -merge coolwad

to be executed.  See the file cla.hlp for more information about
what can appear in the .cla files.


    -- Running CLA:

The cla command is followed optionally by a flag ('/d', '/i' or
'/e'), and then optionally by a filename such as `mycool' or
`mycool.cla', and then by the actually command-line parameters,
which must consist of a series of one or more `commands', each
command starting with '-' followed by a name, followed by any
number of arguments.

If no filename is provided, 'default.cla' (in the current directory)
is assumed.  If no extension is provided, '.cla' is added.


   -- Flags

The '/d/' flag causes CLA to just write out the command-line it
comes up with, but not execute anything.

The '/i' flag causes CLA to write out the command-line it comes
up with, and ask if you want it to be executed.

The '/e' flag invokes the editor to prepare or modify a .cla file.
Filenames are interpreted as usual, but any commands are ignored.
The only reason to use cla/e is for easy access to the help-file
(by hitting <F1>, then <CR>), but hey wow, you can in fact use it
to edit any text file!

If there is a syntax error in the .cla file, your are dropped into
the editor, with the cursor located at the point where the parser
crashed (which will typically be at some point after the real error).
When you exit the editor, CLA also quits, & you can try again (if
anyone actually uses the program, maybe I'll get it to do a program-
internal edit-test cycle).


****** Limitations *******

CLA is only intended to work for programs with a DeuTex-like
command-line organization.  It also works by running a DOS shell
(from PDC Prolog) rather than by chaining, so it extacts a
substantial memory overhead.  If somebody finds these limitations
irksome, I might see what I can do about them.


****** Comments and Bug Reports *****

Are welcome, and can be emailed to Avery.Andrews@anu.edu.au,
or p-mailed to the mailing address at the bottom of this file.


****** License and Legalese *******

This program, CLA, is not guaranteed to be suitable for any purpose,
and Avery Andrews and the Australian National University accept no
responsibility for any consequences of its use.

It is licensed as freeware for non-profit-making purposes.  If you
use it in a manner that contributes to your income, the license fee
is $20 (per user), payable in US or Australian currency (if you're
planning to sell your wad to Idsoftware, you don't owe me the
money until the deal goes through :-))

The license fee entitles you to use this version of the program,
any any upgrades to it that I declare to be minor, free of
royalties or any other further claims.


  Avery D Andrews
  Linguistics, The Faculties
  ANU PO Box 4
  Canberra ACT 2601
  Australia
