Boxer Text Editor version 7.5c for OS/2

A Programmer's Editor Shootout
Written by Andy Pitonyak

Introduction
Boxer is a mature, flexible, high power programmers' editor. The range of supported features and the attention to detail is amazing.

Packaging and Installation
The Boxer text editor wasted no time in impressing me; I was impressed even before I opened the mailing envelope. The artistic side of me liked the picture of the Kangaroo with boxing gloves and the philatelist side of me liked the beautiful stamp used to pay the postage. The package included two reviews, an impressive list of product endorsements, an evaluation pack to share with a friend and a shrink wrapped manual.

The documentation is very well written and professionally bound. Although the documentation is not needed to simply use the software, reading the documentation will certainly reveal useful features that you would probably not have guessed were there. The find difference macro is one example of this. On many occasions I have painstakingly gone through two files looking for changes, copies of my config.sys for example. Boxer has a command to do this. The index is good and indicates chapter and section rather than page number. I must admit that I had difficulty finding "backup" in the index; it is under "file backup".

The installation is simple: place the floppy disk in drive A and type A:\boxer. There are 14 different keyboard mappings already defined. These are BOXER, BOXER (CUA), Borland IDE, Brief, EPM, Epsilon, MS Word, Multi-Edit, Norton, PFS:Write, QEdit, VDE, WordPerfect, and WordStar. Being a long time Brief user, I initially chose Brief. The supported printers include HP Laserjet, HP Deskjet, Epson LQ-1500, IBM ProPrinter, Okidata 92, Panasonic KXP-1124e, Panasonic KXP-1124i, Epson Stylus Color, and "None of the above". Finally, I indicated that I like a blue background color.

If 4OS2 is used as the command interpreter, the floppy disk is write protected, and the Boxer installation program is run while logged to this write protected floppy, a "write protected floppy" error message will be printed. Telling OS/2 to return an error will allow the installation to continue with no errors.

A demo macro is included to give a brief overview of some of Boxer's more interesting features. It does not take long and is rather interesting, so give this a try.

A partial list of features follows: Boxer is a text mode program which displays all open windows inside of a single text window. It is possible to run multiple instances of the boxer editor. Although boxer can use drop down menus, they are not available using hot key combinations unless the boxer (CUA) key mappings are used. CUA stands for Common User Access. For most of the key mappings, a function key such as F10 or F1 will access the pull down menus and then the "hot" key will drop the menu. I find this a rather ingenious compromise. I have had difficulty configuring different editors because there were conflicts with hot keys in the pull down menus. This way, I can have my pull down menus with no conflicts. You can also turn off these menus (and window frames) to conserve screen space.
 * File find
 * Print file
 * Paginate (print to file with margins and page breaks)
 * Compile (many compilers are supported by default)
 * Save all files and exit
 * Swap line
 * Clone line
 * Undo (this is very configurable)
 * Undo all
 * Reset undo
 * Redo (undo the undo command)
 * Insert special characters
 * Search and replace using regular expressions
 * Search using regular expressions across all open buffers
 * Brace matching
 * Multiple windows (inside the single text mode window)
 * Find difference
 * Synchronized and Automatic scrolling
 * Multiple text marking modes
 * Multiple clipboards
 * Append to clipboard supported
 * Upper Case, Lower Case, Swap Case, and Capitalize
 * Convert tabs to spaces and vice versa
 * Sort lines using alphabetic or numeric sorts
 * Total a column of integers
 * Calculator command
 * Increment, Decrement, Multiply, or Divide numbers in the text
 * Remove white space from the end of lines
 * Indent/Unindent a region
 * Count words
 * Determine ASCII value of character under the cursor
 * Execute command or keystroke multiple times
 * Popup a multi-scale ruler beneath current cursor position. This is wonderful to count number of characters
 * Drawing mode to draw ASCII character lines and frames
 * Popup status menu
 * ASCII chart showing values in binary, hex, octal decimal along with the control character equivalent.
 * Calendar
 * Typewriter mode to send characters directly to the printer
 * Insert Date and/or time
 * Open command shells and/or execute commands
 * Screen peek command to look at the state of the display before running boxer
 * Flexible text anchors
 * Ability to automatically move forward or backward to the nearest changed line
 * Word processing commands with very flexible printing options, especially in the headers and footers
 * Embedded printer codes
 * Selectable text justification, left, right, or center
 * Regular indents, hanging indents, and bulleted paragraph support
 * Visible spaces
 * Configurable file backups
 * Macros with debug support
 * Extensive command line options
 * Syntax highlighting for many languages (see text)
 * Preferred file extensions
 * Extensible help system

Colour syntax highlighting is provided for C, C++, Java, Pascal, Ada, Modula-2, a few variants of Basic, Lisp, AutoCAD DCL, FORTRAN, Cobol, HTML, MAKE, INI, keyboard configuration file, demo macro, EIFFEL, 80x86 Assembly, DBase, Clipper, FOXPRO, PROGRESS, Paradox PAL, PAL-Edit, Resource Files, OS/2 REXX files, DOS Batch files, BRexx, 4DOS/4OS2 batch files, DOS CONFIG.SYS, IPF documents (GML), LaTex, PERL, PSION 3a OPL, Script Application Language for Telix (SALT), SALT Implementation Language (SIMPLE), Robocomm Script Language, COMMO Script Language, Procomm Plus ASPECT Script Language, Qmodem Script Language, Telemate Script Language, OzCIS Script Language, AUTOSIG Script Language, TAPCIS, PC Board v15 Programming Language (PPL), and the AT&T DSP32SL Package. The syntax highlighter determines the file type based on file extension. It is possible to extend the existing extensions or add new ones, but I could not think of any non-supported types that I use regularly enough to make it worth while. I was unable to find any problems with the syntax highlighting.

An interesting twist on the syntax highlighting is the use of colours to indicate which lines remain unchanged from the original, which have been changed and saved, and which are changed and not saved. The advantage is that you know the status of each line. The disadvantage is that this supersedes the standard syntax highlighting. If you prefer not to have colour highlighting indicating the changed status of each line, it is a simple matter to change the colours to avoid this.

It is simple to define your own macros and to assign them to key commands if you desire. The macro language is suitable for many tasks. The primary limitations are that it does not contain looping instructions, variables, and conditionals. This is suitable for the majority of tasks.

Boxer uses rename to create backups so if backups are placed in a backup directory rather than created with the extension bkp, a backup directory must be created on every drive. I created the directory \BOXER\BACKUP on every drive on my computer.

I found anchors done in an unusual manner. Pressing Alt+A drops an anchor. Pressing Alt+J displays a list of the anchors along with the text from the anchor line. Twenty anchors are allowed and they can be deleted. There are also commands to move forward and backwards through the lines changed since editing started.

Boxer uses its own help system. Although I do not like it as much as the standard OS/2 help system, it is excellent, extensible by the user, and the same across both DOS and OS/2. Help is also fully context sensitive.

Wrap up
Boxer is a wonderful text mode editor and I recommend it heartily. I still find myself amazed by all of the useful features. The attention to detail from the feature set to the printed documentation is amazing.

Information
Boxer can be downloaded from: http://www.boxersoftware.com/users/dhamel/

The price of Boxer is as follows:
 * BOXER/DOS: $49
 * BOXER/TKO and BOXER/DOS: $89
 * BOXER/OS2 and BOXER/DOS: $89
 * BOXER/SET (everything): $129

There are quantity discounts available.
 * Boxer Software
 * P.O. BOX 14545
 * Scottsdale, AZ
 * 85267-4545
 * U.S.A.


 * E-mail: dhamel@boxersoftware.com