Cullen Programming

XPEDIT Editor


Users Guide and Examples

____________________

Introduction and Features

The XPEDIT text and source code editor attempts to marry the functionality and similarity of the zVM/CMS Xeditor Window system with the zOS/TSO Editor, while at preserving the flexibility of the personal computer's graphical user interface functions, such as Cut/Paste, Text Markup, Menus, Pulldowns; and the usability of the mouse.

The drive for originally developing this Editor was to provide programmers familiar with XEDIT and TSO Edit an editing facility that could be used on any PC Platform, whether Windows, Unix, Linux or OS/2, and thus extending and porting their ability to use their acquired knowledge and text editing skills to these platforms. We will use the VM/CMS XEDIT as the primary editor model to emulate insofar as look and feel and command structure. 

XPEDIT is a performance text editor for programming languages.  XPEDIT will currently edit the source code and highlight reserved keywords for:  JAVA,  C++,  Bourne Shell (BASH) Scripts, Windows batch (.bat), REXX,  NetRexx,  PERL, HTML, Python and  COBOL.   XPEDIT will first examine the file extension, then the first line of code in the text to determine the type of source code file.  If neither is available you can force the editing by an option code in the XPEDIT command.

The product is written in JAVA using the SWING and NetRexx classes. It can be ported to any operating platform that supports the JAVA Run Environment.

Features:
Edit multiple files.
Source code highlighting.
Automatic matching of Bracketed and DO-END code.
Prefix Area to accept CMS/TSO-like edit commands.
Command Area.
Scrollable.
Backlighting of current line.
Error and Information Message Area.
Cursor position, Line position, column position.
Find and Replace.
Full text manipulation commands.
Copy/Cut/Paste/SelectAll internally and to System Clipboard.
Line Numbering.
FileTree for locating files.
Unlimited UnDo/ReDo.
Hexadecimal Display.

Night Vision toggling.






**We continue to improve this facility adding functionality as we need it or as it is requested by our customer base. **


Getting Started

To edit a file simply type on the terminal window:

        xpedit  [path/]  filename

If that file exists it will be loaded into the editor window.

If that file does not currently exist then a file of that name will be created.

Invoking xpedit without a filename from a terminal window, (or by clicking the CP Icon) will cause an empty file of name: unnamed.txt  to be created.

Newly created files are of zero length in bytes.  Note that if no information is placed into the file then the empty files will be discarded at QUIT or CANCEL time; unless a SAVE command is first performed.



Navigation and Commands for the Editor

The Display Setup

The Editor Window consists of 3 main panels: the Command Area, the Prefix Area and the TextEditing (or File) Area;   and a Status Area and a Message Line.

Editting and I/O commands (such as SAVE, OPEN, CANCEL) may be issued from the Command Area.

The Prefix Area is the panel that has the line (or row) numbers. Special commands can also be issued from here.

The TextEditing is where the input file is layed out. Each line is separated by a line_end character that is not visible to the user.

When the ARROW or PAGEUP/PAGEDOWN keys are used the display will be repositioned (scrolled up or down) so that the CURSOR LINE remains at its relative screen position, unless you are near to TOP or BOTTOM.

Immediately under the Command Area is the Message Line. This will show error and informational type messages that may be generated by your editting commands.

The bottom panel is a Status Area. This shows the type of file that you are editing, the coordinates in both rows and columns, and pixels, along with offset from the beginning of the file. The area will also show INSERT/OVERLAY modes and CAPS ON mode.

Movement among the panels is performed by using the HOME, ENTER, TAB and the Down key.

Should you leave the editor window by using the mouse to click another window, and then return to the editor window, the last cursor position is remembered. The cursor will be re-positioned to this location regardless of where you click on its panel.


Keyboard Setup

To move from Command Area to TextEditing Area use the Down or the Page_Down keys, or the HOME key. To move back to the Command Area from the Text Editing use the ENTER key or the HOME key.

To move back and forth between the TextEditing Area and Prefix Area use the TAB key.

To return to the Command Area from the Prefix Area use the HOME key.



Arrow Keys move you up, down, right and left incrementally.

ALT+S text selection start marker

ALT+E text selection end marker

ALT+W Select word around caret position

ALT+N Extend selection to next word

ALT+P Extend selection to previous word

ALT+N Select line around caret position

CTL+A select-all and copy to clipboard

CTL+B delete to beginning of the current line

CTL+C copy to system clipboard

CTL+D delete to end of current line.

CTL+E mark selection from current cursor position to beginning of document.

CTL+H mark selection from current cursor position to end of document.

CTL+J line join with following line.

CTL+N cursor move to next word.

CTL+P cursor move back to previous word.

CTL+S line split at cursor.

CTL+V paste from system clipboard.

CTL+W delete current word.

CTL+X cut selected (highlighted) text and copy to clipboard.

CTL+Y redo immediate text change.

CTL+X undo immediate text change.

Backspace delete prior line character.

Delete delete the next line character

End Alternates between end positions of line.

Enter Process Enter key. 

ESCAPE Resets and Erases any commands or keystrokes in the Prefix Area. 

Home Return cursor to Home position.

Insert Toggle typing mode from overlay to insert.

PageUp Move up a page at a time.

PageDown Move down a page at a time.

Tab Alternates focus between edit and prefix areas.


Command Area Functions

To execute the below commands, type the command into the Command Area and then hit the Enter Key.

ADD Add a blank line.

BOTTOM Moves to the last line of the text.

BACKWARD Page backward screen(s) at a time.

CANCEL Terminate the editting without saving.

CAPPEND Append a text string to a line.

CPREPEND Prepend a text string to a line.

CHANGE Changes 1 or more occurences of a string.

CLEARPREFIX Clears variables and pointers of all prefix operations.

COLDELETE Column deletion.

COLINSERT Column insertion of a character string.

CUT Copies rows to the System Clipboard.

DELETE Deletes 1 or more lines.

DOWN Moves current line position down 1 line..

EXIT Same as CANCEL.

FILE Saves the text, then closes the file.

FILENAME Changes the output filename.

FORWARD Page forward screen(s) at a time.

GETFILE Get 1 or more lines of text from another file.

INPUT Open a blank line for input.

LOCATE Locate a string of data

LOCATEALL Locate all strings matching in the text.

LOWER Translates line characters to lower case.

MAX Reposition to TOP.

MIN Reposition to BOTTOM.

OPEN Opens another edit window for the specified file.

PASTE Pastes data from the System Clipboard.

PUTFILE Put 1 or more lines of text into another file.

QUIT Exit a edit without saving.

REPEAT Repeat prior command processing.

SAVE Saves the text into its original filename.

SHIFT Shifts editable text left or right nnn positions.

TOP Moves to the first line of the text.

UP Moves current line position up 1 line.

LOWER Translates line characters to upper case.

:nn Position cursor line at absolute line number.

+nn Positions cursor line down nnn number of rows.

-nn Positions cursor line up nnn number of rows. 

X    Opens and edits another file in a separate window.


Set Commands

SET commands are entered in the COMMAND AREA window of the display frame. They are used to set up the behaviour of the display environment and of other Commands, such as LOCATE and CHANGE.

All SET commands must be preceded by the word SET.


Syntax: SET CASE RESPECT|IGNORE

RESPECT will respect case sensitivity when performing LOCATE or FIND command functions.

IGNORE will disregard case when performing LOCATE or FIND command functions.

Default: RESPECT

 

TRACING Developer's edit subroutines tracing faciltiy
Syntax: SET TRACING ON|OFF

Default: OFF

ZONE Sets column limits for other editing command, such as LOCATE
and CHANGE. This restricts editing application command to the
specified columns.
Syntax: SET ZONE first_col last_col

Default: 1 *

? Retrieves the last commands entered. Up to 100 most recent
commands performed.


Program Function Key Settings

 

PF3 Performs a CANCEL

PF7 Performs a Page Up operation.

PF6 Toggles between DayVision and NightVision formats of backgrounds.

PF8 Performs a Page Down operation.

PF11 Shows in Command line area the last most recent command in the retrieve queue.
Repeating will backup in the queue 1 command each keystroke.
Retrieve FORWARD in the command queue. 

PF12 Shows in Command line area the next command in the retrieve queue.
Repeating will move forward in the queue 1 command each keystroke.
Retrieve BACKWARD in the command queue.


Prefix Area Function

Prefix commands are entered in the PREFIX AREA window of the display frame. They may be entered with or without intervening ENTER key strokes.

The double prefix commands, such as cc (COPY), are called block type commands. You would place these on the begin and last lines, by overtyping the line number. This will indicate the block of rows upon which you want to perform an operation.

d[d]        Delete a single row [or block of lines]

c[c]        Copy a single row [or block of lines]

m[m]     Move a single row [or block of lines]


Permitted prefixing combinations:

cc block with f, p, a, b
c with f, p, a, b
mm block with f, p, a, b
n with f, p, a, b


Multiple single deletes can be processed together. This command can be performed over multiple lines simultaneously.


r         Repeat this row on next line.

f         Insert row following this line.

p        Insert row prior to this line.

a        Insert row after this line (same as f).

b        Insert row before this line (same as p).

i          Open an Input row following this line.

       Create a single row of SPACE following this line. This command can be performed over multiple lines simultaneously.

/         Marker (forward slash) for PASTE operation from another file.

h        Translate the current line to hex immediately below this line in vertical format.

Note that pressing the ESCAPE key while the cursor is in the Prefix Area will remove and reset any prefix commands.



Pull_Down Menus


File --
Save As : will save the contents being edited to a different filename. 
Save : will save the contents of the file being edited.
Close : will close the file and window.
Open : will bring up a FileChooser window from which you can browse and select your next file.
Recent Files : will display the last files modified by this editor.

Edit --
Undo
Redo
Cut_to_Clipboard
Copy_to_Clipboard
Paste_from_Clipboard
Select_All-to-Clipboard will copy entire document to system clipboard
HEX Displays file in 16-byte hex and character format.
CHAR Changes display back to text line edit format.



View --
Set Editing Mode for various language source-code or plain text.
ForeGround Color Changes the color of the default foreground.
BackGround Color Changes the color of the default background.


Fonts --
Type Sets the font type.
Style Changes the style of the font.
Size Sets the size of the font characters.


Info -- (This tab is superceded by Website HTML documentation)
Navigation Keys
Command Functions
Keys Help for a quick reference of special keys and key combinations.
About Producer of the product.
Properties Displays Environmental and JAVA level information.


FileName-- The full pathname of the file being edited.

Revision Date -- Date of last change for this copy of the product. 


Bottom Status Area

TextType shows the recognized type of document being edited.

Row displays the current line

Column displays the current column displacement

FileSize the current number of lines.



[Return to Index]

[Return to Cullen Programming Home Page]