Sample Uedit Hyper Text Copyright (C) 1986-91, Rick Stiles Uedit is a programmable, customizable SHAREWARE editor. For a general overview, read Uedit-Tutor. To investigate key assignments, use Teach Keys in the menu. PURCHASING & REGISTERING: See Uedit-Policy for purchasing/registering info in order to get the full Uedit package. See Also: Hyper Text keys: (Use these while in hyper text window) ESC: quit hyper text window lAmiga-mouse: select hyper word to look up F1: goto top of lookup table F2: goto parent of current hyper word F3: goto child of current hyper word F4: goto next sibling F5: goto prev sibling F6: goto last hyper word looked up (history) F7: get hyper word input and look it up F8: get next hyper word in table (at next index value) F9: get prev hyper word in table (at prev index value) Return: look up cursor word mouse: place cursor arrow keys: move cursor & scroll Hyper Text Keys: (Use these while in ordinary editing mode) R-gadget1: Get word input and lookup hyper word, going into hyper text mode R-gadget3: Open hyper text facility R-gadget4: Close hyper text facility R-mouse: Get clicked hyper word, go into hyper text mode & find it In the menus, reference manual, and in this Help facility, the following abbreviations are used for shift and certain other keys: S = Shift R = rAmiga A = Alt BS= BackSpace C = Ctl KP= KeyPad L = lAmiga Primitive Mode is used when it is necessary to collect a string or number input for a particular purpose, such as a search or replace or grep string. In primitive mode you cannot use compiled (hence customizable) key commands. But you can type normally and move the cursor using the arrow keys and can delete using Del and BackSpace. Primitive mode is terminated by the pmESC character. In the standard configuration, pmESC is the ESC character. You can change pmESC to another control character such as Return by pressing ESC. pmESC may also be set to any desired control character in Config!'s defaults (which are at the front of Config!). Use Teach Keys mode to learn key assignments. To start Teach Keys mode, select Teach Keys in the menu. To terminate it, press Amiga-ESC. When Teach Keys mode is active, the square brackets in the title bar [..,T] contain the letter 'T'. Certain Amiga-key combinations are unusable because the Amiga uses them, and pressing them may cause an abort out of Teach Keys mode. If this happens, select Teach Keys again to restart Teach Keys mode. If you click the title bar at the top of the screen, Uedit switches to Tiny Window. The tiny window comes up inactive so you can use CLI immediately. While in tiny window, Uedit does memory housekeeping and then goes to sleep. When ready to return to Uedit's big screen, click in the tiny window or activate the tiny window and press ESC.
A hyper text file is a readable text file organized into a simple format so that a hyper word lookup table can be built for it. The hyper text file can be created easily using Uedit. Then you can create a lookup table for it by running UHC (Uedit HyperCreate) and giving it the name of the hyper text file and lookup table. Hyper text files are organized into sections. Each
defines a hyper word. A may be a single word or a phrase. Each hyper word, except the very first one, has a parent hyper word. Thus a hyper text file is a family tree that may consist of any number of branches and generations defining up to 65535 hyper words. Command Language: hyperUp returns TRUE if a hyper text file & table have been loaded into memory, otherwise it returns FALSE. HyperOpen(textfilename,tablefilename,flag) opens a hyper text facility in Uedit. Depending on the flag value, the hyper text file may be accessed in memory or on disk. The lookup table is always loaded into memory, however. Hyper(outBuffer,wordBuffer,index,flag) looks up hyper words and returns their text
in the outBuffer. Hyper() has a large number of modes of usage or operation, depending on the contents of wordBuffer, index, and flag. HyperClose() closes the hyper text facility, freeing its memory. See the CL doc for more information about these.
A Hyper Word is any word or phrase. Up to 17 characters of it are used in the lookup table; any remaining characters are not used in looking it up although they may be considered part of the Hyper Word or phrase. Upper and lower case are identical in hyper words. When a hyper word is a phrase, enclose it in in the hyper text file so that the user can select it. Single words are selectable without brackets. Hyper words are defined in a by a section. (See the discussion of the
format.) The parent of each new hyper word being defined must already be defined. That is, in a hyper text file you can't define a new hyper word if its parent has not been defined yet. See the discussion of . Up to 65535 hyper words may be defined in a hyper text file. Hyper words do not have to be unique, as long as their lineage can be resolved. For example, hyper words A and B can each have a child called Details. Siblings must be unique; siblings share the same parent. A child can't have the same name as its parent; hyper word A cannot have a child called A.
A section defines a or phrase. A section begins with a formfeed (ASCII 12). After the formfeed is the Parent Line. The Parent Line contains the parent hyper word that "owns" the new hyper word being defined. The very first section in this file is . Note that its Parent Line is blank. All other sections must have a Parent Line hyper word. The parent of this hyper word,
, is . The outline of a section is as follows: FORMFEED ((begins the section)) ((Parent Line)) ((Word Line)) text..................................... text..................................... text..................................... The parent line hyper word must be defined before the new hyper word is defined, otherwise the parent cannot be found and the lineage cannot be established for the new hyper word. There are no restrictions on the amount or format of the text in the text area, except formfeeds (ascii 12) may not be included since they indicate the beginning of a new
. Hyper phrases in the text should be contained in , if you want the user to be able to select them.
The very first hyper word has a level value of 0. Its children have level value 1, their children have level value 2, and so on. There may be up to 65535 levels in the lookup tree. The level value is used primarily when a hyper word or phrase is to be looked up relative to a given index value in the table. (See the CL doc for the Hyper() function.) In the lookup algorithm, the following lookup sequence is used in trying to locate the desired hyper word: 1. immediate children (not grandchildren etc) 2. siblings (entries with the same parent as the current hyper word) 3. parent & parent's siblings 4. grandparent & grandparent's siblings 5. etc, until the trunk of the lookup tree is reached. The level value is also used in creating the hyper text lookup table when the parent hyper word is looked up. See the hyper text doc for a discussion of this. mouse: Hold down button & move mouse to scroll up/down R-s: Scroll Type in range 0 to 2 upArrow: Scroll up 1 line downArrow: Scroll down 1 line leftArrow: Scroll right 1 char rightArrow: Scroll left 1 char S-upArrow: Scroll up 11 lines S-downArrow: Scroll down 11 lines S-leftArrow: Scroll right 10 chars S-rightArrow: Scroll left 10 chars A-upArrow: Scroll to start of page A-downArrow: Scroll to bottom of page A-leftArrow: Scroll right 20 chars A-rightArrow: Scroll left 20 chars C-upArrow: Scroll to start of file C-downArrow: Scroll to end of file C-leftArrow: Scroll to end of line C-rightArrow: Scroll to start of line gadget3: Scroll display down gadget4: Scroll display up mouse: Place cursor or scroll if button held kp5: Find cursor and center it in window kp8: Move cursor up 1 line kp2: Move cursor down 1 line kp4: Move cursor to start of word kp6: Move cursor to end of word S-kp4: Move cursor left 1 char S-kp6: Move cursor right 1 char A-kp4: Move cursor to start of line A-kp6: Move cursor to end of line A-kp8: Move cursor to start of page A-kp2: Move cursor to end of page C-kp8: Move cursor to start of form C-kp2: Move cursor to end of form S-tab: Transparent tab forward A-tab: Transparent tab backward C-tab: Untab - delete white space back to previous tab column AC-tab: Switch to/from using spaces for tabs or using real tabs SA-tab: Show tab ruler above cursor line SC-tab: Set tab ruler using mouse or keys L-t: Convert tabs in file to spaces R-t: Convert spaces in file to tabs SAC-tab: Set tab table number (0-4) to use for tab spacing C-mouse: in blackspace: click-load dir/filename C-mouse: in whitespace: show buf38 split window directory list A-z: Get directory listing. (Also sets directoryname used in C-mouse.) AC-z: Change the current Uedit directory C-y: Execute an AmigaDOS command, but don't collect the results C-z: Execute an AmigaDOS command and get results gadget1: Switch to next file gadget2: Switch to previous file f1: Switch to next file S-f1: Switch to previous file C-mouse: Load File or select Directory that is CTRL-clicked A-f1: Load a file C-f1: Open new "Noname" file SA-f1: Insert file at cursor SC-f1: Restore current file to original L-f1: Bring up file requester (Needs ARP library & FileReq prog in C:.) A-n: Rename the file in the window f2: Save file currently in window S-f2: Save file under different name A-f2: Save all changed files SC-f2: Save hilite as... SA-f2: Abort the current file save f3: Close current file. If changed, "Save changes?" S-f3: Auto-save file, if changed, then close it closeBox: If changed, "Save changes?" Close, if no files, "Really quit?" f4: Ask "Save changes?", if any changes, then "Really quit?" S-f4: Auto-save changes, then quit A-f4: Quit fast, WITHOUT saving any files A-w: Swap current buffer to buffer 0 (the "home" buffer) A-f3: Free all work (non-file) buffers SA-f6: Input the number of a buffer to edit L-w: Push current file onto buffer stack R-w: Pop buffer off of stack SA-w: Rotate buffer stack C-w: Swap the current file with buffer 41 A-f: Input the number of a buffer to free SC-f6: Examine all buffers that aren't empty kp0: UNDO scratch deletes, inserting scratch delete buffer at cursor C-d: Delete cursor line, storing it in Undo buffer kp7: Delete word left, storing it in Undo buffer kp9: Delete word right, storing it in Undo buffer S-kp7: Delete char to left of cursor, storing it in Undo buffer S-kp9: Delete char under cursor, storing it in Undo buffer A-kp7: Delete to start of line, storing it in Undo buffer A-kp9: Delete to end of line, storing it in Undo buffer C-kp7: Delete from cursor to start of page, storing it in Undo buffer C-kp9: Delete from cursor to end of page, storing it in Undo buffer SAC-mouse: Drag mouse and mark hilite region S-mouse: Set start of hilite region A-mouse: Set end of hilite region kp1: Set start of hilite region at cursor kp3: Set end of hilite region at cursor kpDot: Copy hilite region into buffer kpMinus: Copy hilite region into buffer, then delete hilite region kpEnter: Insert copied hilite at cursor A-h: Unmark the hilite region C-h: Erase hilite region. No Copy is made! SC-mouse: Set start of invert region AC-mouse: Set end of invert region C-kp1: Set start of invert region at cursor C-kp3: Set end of invert region at cursor C-kpDot: Copy invert region into buffer C-kpMinus: Copy invert region into buffer, then delete invert region C-kpEnter: Insert copied invert region at cursor A-i: Unmark the invert region C-i: Erase the invert region. No Copy is made! R-h: Toggle hide display flag (used w/ cmdMultiplier & learn mode) help: Load and show help file - press again to release help C-help: Start Teach Keys mode - press Amiga-ESC to end it SC-help: Refresh window (or screen in interlace), including title bar A-help: Rotate 4 Workbench colors in Uedit SAC-Help: Rebuild the menus by running the startup command R-s: Toggle scroll type, 0 = slow, 1 = fast R-h: Toggle hide display S-esc: Toggle to/from interlace display mode R-f1: Regular screen, 1 bitplane (2 colors) R-f2: Regular screen, 2 bitplanes (4 colors) R-f3: Lace screen, 1 bitplane (2 colors) R-f4: Lace screen, 2 bitplanes (4 colors) A-esc: Tune RGB colors in interlace using mouse. (See A-Help also.) f7: Input search text & search fwd. (EitherOr="$", wildcards= "?" & "*".) S-f7: Modify existing search text and then search fwd A-f7: Input new search wildcard & allBut characters C-f7: Input new search either-or character f8: Input replace string to use in search-replace S-f8: Modify existing replace string f9: Search forward, mark matched region, put cursor at start of rgn S-f9: Search backward, mark matched region, put cursor at start of rgn f10: Replace matched region with replace text, then search forward S-f10: Replace matched region with replace text, then search backward A-f10: Replace and continue forward search-replace until search fails C-8: Toggle case-sensitivity of search lAmiga-f7: Set grep string (/search/replace/) lAmiga-f9: Grep search forward rAmiga-f9: Grep search backward lAmiga-f10: Grep search & replace forward rAmiga-f10: Grep search & replace backward S-gadget1: Goto next bookmark S-gadget2: Goto previous bookmark S-gadget3: Set bookmark at cursor A-gadget3: Clear all bookmarks f5: Swap next 2 commands SAC-f6: Kill next command L-f6: Find out if keys have got commands attached A-m: Swap mouse buttonUp with the next key pressed A-u: Toggle using printable keys for commands/normal typing C-t: Teach One, shows help message on next key f6: Compile command at or following cursor A-f6: Save UE data to disk. Default is Data! or last name you gave C-f6: Restore UE data from disk. Default is Data! or last name you gave AC-f6: Compile default values at the top of Config! file S-f6: Select buf44 to use for scratch editing or writing commands C-5: Save a learned sequence C-6: Load a learned sequence C-7: Load and run learned sequence C-s: Start/abort Learn Mode. (Use C-r to finish & to run it.) C-r: Finish Learn Mode or run learned sequence L-0: Remove current split window L-=: Adjust active split window size with mouse L-c: Split window to show current file L-1: Split window to show Undo buffer L-2: Split window to show search buffer L-3: Split window to show replace buffer L-4: Split window to show copied hilite buffer L-5: Split window to show copied invert buffer L-6: Split window to show copied columnar buffer L-7: Split window to show directory names L-8: Set split window size L-9: Activate next window split SC-`: Toggle columnar/regular display mode SC-1: Copy and clear hilited columnar data SC-2: Space-fill hilited columnar data, overlaying text. No copy made. SC-3: Copy hilited columnar data SC-4: Insert copied columnar data at cursor SC-5: Overlay copied columnar data at cursor SC-6: Insert marked columnar hilite at cursor (no intermediate copy) SC-7: Overlay marked columnar hilite at cursor (no intermed copy) C-p: Print the hilite region. A-p: Select printing port: parallel, serial, print.dev processed or raw AC-p: Print file L-a: Stop current print R-a: Stop all prints L-s: Restart current print SAC-p: Show printer control code help L-p: Printer codes: Next letter key brackets hilite for boldface, etc R-g: Find next printer code (can delete it with C-h) L-g: Insert printer code. (See printer code table for numbers 0-75.) L-y: Erase next page number A-3: Input page number to go to L-f: Insert a formfeed character L-h: Go to top of page L-b: Go to end of page L-v: Insert page-division at cursor L-d: Delete next page-division L-r: Auto-insert page-divisions and page-numbers in file R-u: Load in the speller dictionary files R-c: Find bad words starting at cursor (presents optional spellings,quit=ESC). R-m: Spell-check from cursor fwd. Mark bad words with "@". R-l: Load suppl dictionary & spell from cursor fwd. Add to supplement. R-d: Merge dict suppl with dict-files. dict.A-Z must be in Cur Dir. R-e: Remove words from dict-files. dict.A-Z must be in Cur Dir. R-f: Free speller files. (Frees 12k to 165k of memory.) C-0: Set running total to 0 C-\: Type the running total at cursor C-=: Add next word (if number) to total & display total C--: Subtract next word (if number) from total & display total AC-1: Edit Rexx output buf35 AC-2: Edit Rexx input buf36 AC-3: Send output buf35 to Rexx AC-4: Fetch Rexx input into buf36 AC-5: Send hilite region to Rexx AC-6: Fetch Rexx input at cursor AC-7: Send an OK reply to Rexx (Amiga-ESC abort sends Failed reply.) AC-8: Send an OK reply to Rexx along with text in hilite region AC-9: Toggle Rexx auto-traffic mode, handles traffic during idle periods AC-0: Make an x.rexx program with commands to send to Uedit C-m: Set command multiplier to use for next command C-n: Input a text line number to go to A-e: Change eol character C-e: Change current file's eol character A-c: Trim spaces between the next two words after cursor C-c: Let next character typed be a CTRL-character, such as formfeed, etc SA-c: Count number of times the next command is successfully run A-g: Input a new lines/page value L-k: Set left margin L-u: Set top margin L-l: Set bottom margin AC-f1: Set max files can load for editing (1-100, typ. 20) R-f5: Save Uedit's state to the default state file "uestate". R-f6 Load the default state file "uestate". C-return: Set new lineLength C-/: Show the ASCII value of character under cursor C-1: Show current file size C-3: Reformat cursor paragraph, starting at cursor line C-4: Delete all trailing white-space in current file S-f5: Toggle overstrike typing mode A-f5: Toggle autoindent typing mode C-f5: Toggle wordwrap typing mode A-j: Toggle right-justify typing mode L-f5: Toggle "changed" status of current buffer SA-f5: Toggle file read-only status SAC-f5: Toggle auto-backup mode SA-m: Toggle map illegals setting C-f2: Toggle save-on-idle flag SC-f5: Toggle speak-messages status AC-f5: Toggle speak-alerts status C-2: Toggle displaying of cursor row-column C-b: Toggle "busies" setting, shows buf# being worked on C-g: Toggle the mark-gadgets setting AC-i: Toggle the "make icons" flag C-v: Toggle flag that makes CTRL chars vis/invis C-l: Convert character under cursor to lower case and advance cursor C-f: Toggle upper/lower case of char under cursor C-u: Convert char under cursor to upper case C-x: Toggle number under cursor between hex/decimal C-j: Join next line to cursor line C-o: Open cursor line for typing S-del: Open space under cursor for typing A-del: Open line for typing below cursor line S-bs: Open space for typing in front of current word A-bs: Open line for typing above current line C-bs: Delete line below cursor line C-del: Delete line above cursor line A-l: Move hilite to left by one space A-r: Move hilite to right by one space A-1: Clear leading white space in cursor line A-2: Center cursor line. (Uses current lineLength.) A-4: Match indent of cursor line to prev line A-5: Right-align cursor line from cursor rightward SA-mouse: click/drag mouse to put word/phrase into index (C-w to see.) SA-i: Scan index buffer (buf41), build index. (C-w to see.) SAC-i: Input idle-timer value (tenths of sec) after which idle cmd run A-d: Delay amount of time (tenths of seconds) stored using SA-d SA-d: Set delay variable to some value in tenths of seconds A-8: Show value of a number variable A-9: Set value of a number variable SA-s: Sort lines alphabetically "See buffers" shows you the buffers, if they are not empty. The buffer assignments used in the standard config are the following: buf55-99 = available for user commands buf50-54 = used for temporary purposes in commands buf49 = search or grep string buf48 = replace string buf47 = copied hilite buf46 = copied invert buf45 = scratch deletes (for Undo) buf44 = edit-command buffer buf43 = filenames buf42 = HELP buf41 = used in swapBuf (ctl-w) buf40 = AmigaDOS command buf39 = AmigaDOS result buf38 = directory names buf37 = copied columnar data buf36 = Rexx msg/reply input buffer buf35 = Rexx msg/reply output buffer MaxFiles-buf34 = available You can change this convention by editing the standard configuration files and recompiling to create a new Data! file. These variables are used by certain commands. Press alt-8 to see them. Press alt-9 to set any number to a value: n46 = tenths of second to delay n49 = dollars & cents in running total n94 = flag used by bookmark commands