gert@nikhefh.hep.nl (Gert Poletiek) (07/22/88)
My mailbox is overflowing with requests for more information on the CRAFT program development environment. At first I tried to answer these letters via mail, but more and more are 'returned to sender' with host unknown errors. Therefore I'm posting the description here. The CRAFT environment is a UNIX like development environment for the ST. It consists of a Shell and an Editor plus a number of utility programs. The Shell is almost completely compatible with the BSD Unix C-shell. The Editor is not compatible with any existing editor on Unix, but ideas for its design were taken from a number of others editors (among these unix' vi, Apollo domain editor, Norsk Data Sintran Screen editor and many others). The Editor is, as recent benchmarks in Dutch ST magazines demonstrate, the fastest available for the ST. It easily beats the (claimed fastest) editor Tempus. In most operations the speed difference is more than an order of magnitude, sometimes even more. The Shell has most of its commands built-in for speed (especially for floppy based systems). The following list of built-ins is taken from the first level online help of the Shell: CRAFT/GPshell for Atari ST Series - Version 2.0.4 (c) 1987, 1988 Gert Poletiek, ComMedia Amsterdam 70 built-in commands, 19 keywords @ df history pathname setres alias echo keyclick palette shift alloc errorfile keydelay popd sleep basename exit keyrepeat printenv source bell extension logout pushd tee cache filename lpr pwd time cat find lprm ramdisk touch cd font lpq read umount chmod free ls rehash unalias clear funcs man rm unset cp getres mkdir rmdir unsetenv cursor hashstat moreheap rmfunc verify date hashtable mount set which dirs help mv setenv who break default endif if time breaksw do endsw repeat until case else foreach switch while continue end function then The Shell is *NOT* a multitasking environment as this causes too many problems for existing software. The following are the most important Shell features: - history list - shell scripts - command line editing - I/O redirection - user programmable - pipes function keys - built-in ramdisk, - filename completion printer spooler - wildcarding using and disk cache regular expressions - command substitution - fontloader with - 89 built-in 7 alternate fonts functions and keywords - Gemdos and UNIX - aliasing style pathnames - control flow - search paths for (such as: if-then-else) executable programs - user definable - full color control shell functions - system() call interface - can run on serial port for debugging puposes The cache and ramdisk can be enabled and disabled at any time freeing the memory they occupy making it available for other puposes. The Editor is fully screen oriented. Most people like the fact that the text being entered can be started anywhere on the screen, i.e. the cursor may be positioned anywhere not just inside existing text boundaries but anywhere on the screen (which for the editor is considered 256 columns by 25-32-48 rows large). The actual number of text rows depend on the screen font selected. The editor is not a GEM application although the mouse may be used to select most operations. Below you'll find a list of the most important Editor features: . cut copy and past operations on line selections as well as on rectangular blocks of text (column copy mode). . automatic line indent (user [de]activated) . automatic wrap around, supporting fortran continuation card standard (if enabled) . extrememly fast search and replace functions . folds: programming language comment lines that allow you to hide parts of the program text behind a single screen line while editing. Folds may be nested to 32000 levels which is far beyond the useful amount. . editing binary files . fast search and replace . full control over tabs . cut, copy, paste and delete . word jumps and deletes (also in column mode) . word wrapping and auto indent . automatic backup file generation . 8 edit buffers . 10 learn buffers . online help facility . redefinable keyboard . undo on delete operations . keyboard macros . available as desk accessory . shell escape and application. . folds . find current word . insert and overstrike mode . stream editing commands for automatic text manipulation . files size limited to 100000 lines on per edit buffer base (or available memory, which is likely to occur before the line limit is reached). There are several mechanisms to create your own composite commands: there are 10 learn buffers that can remember up to 100 keystrokes each. Stream editing can be done by preparing a file with edit commands. Keyboard redefinitions can put sequences of up to 510 key strokes behind a single key (or a sequence of keys). All redefinitions will be remembered across edit sessions. The external utilties supplied with CRAFT are: backup envtest getpr mvt setpr cmp expand head normdisk setser desk fastdisk make od size du fgrep more perror tail dump format mve pr wc of which the backup utility is an example shell script demonstrating the programming features of the shell as well as being a useful (but not too fast) hard disk backup utility. The CRAFT environment is extensively documented in a 640 page manual which includes tutorials as well as reference parts. CRAFT has been tested with: Mark Williams C, Megamax C, Laser C, Aztec C, Lattice C, Alcyon C, OSS/CCD Pascal, Hisoft Modula-2, TDI Modula-2, Absoft Fortran, Prospero Fortran. CRAFT 2.0 is just released and may be obtained from Creative Computing Media (ComMedia) 98 Leidsekade 1017 PP Amsterdam Telephone: (+ 31 20) 23 17 40 Fax: (+ 31 20) 38 00 65 The price is 395 Dutch Guilders (roughly 200 US $, 115 British Pounds). regards, Gert Poletiek NIKHEF-H, Dutch National Institute for Nuclear and High Energy Physics Kruislaan 409, P.O.Box 41882, 1009 DB Amsterdam, The Netherlands UUCP: {decvax,cernvax,unido,seismo}!mcvax!nikhefh!gert bitnet: nikhefh!gert@mcvax.bitnet, U00025@hasara5.bitnet