home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-04-02 | 48.5 KB | 1,332 lines |
- -----------------------------------------------------------------------------
- | Config! V2.0 |
- | Copyright (C) 1986-87 Rick Stiles. All rights reserved. |
- | 2420 Summit Springs Drive, Dunwoody GA, 30350 |
- -----------------------------------------------------------------------------
-
- Config! defines Uedit's start-up settings and commands. Copy Config!, Data!,
- and Help! to S: so that Uedit can find them.
-
- If you edit Config! and want to make a new Data! file, type "Run UE -c" in
- CLI. (Or you can rename S:Data! or delete it, and Uedit will be forced to
- compile Config! next time.)
-
- If you create a new config such as "NewConfig", you can make Uedit compile it
- by typing "UE -cNewConfig" in CLI. On the "Save new Data?" question,
- selecting Yes will replace S:Data!. Selecting No will preserve the old
- S:Data!. Once inside Uedit, you can select "Save config" and save it under a
- new name like "NewData".
-
- To make Uedit use NewData next time, type "UE -dNewData" in CLI. To make it
- your standard data file, rename it to S:Data!.
-
-
- =============================================================================
-
-
- Edit the numbers at the left, but leave the angle-brackets as they are:
-
- <0> auto-backup mode: 0 = no, 1 = yes
- <1> word-wrap mode: 0 = no, 1 = yes
- <0> right-justify mode: 0 = no, 1 = yes
- <77> maximum line-length: 10 thru 999
- <66> lines per page: 1 thru 999
- <0> over-strike mode: 0 = no, 1 = yes
- <1> auto-indent mode: 0 = no, 1 = yes
- <0> print selection: 0 = parallel port, 1 = Preferences
- <0> search sensitive to upper/lower case: 0 = no, 1 = yes
- <?> search-string wildcard (1 character)
- <$> search string "either-or" delimiter (1 character)
- <4> tab spacing: 1-40
- <10> end-of-line character: 10 = Newline, 13 = Return or Enter
-
- <Next File> Name for gadget 1 (19 chars max).
- <Prev File> Name for gadget 2 (19 chars max).
- <Down Page> Name for gadget 3 (19 chars max).
- <Up Page> Name for gadget 4 (19 chars max).
-
-
- These are for the speech synthesizer:
-
- <n> "n" = natural,"f" = female,"m" = male,"r" = robotic
- <120> speech pitch: 65-320
- <200> speech speed: 40-400
- <0> speak alert messages: 0 = no, 1 = yes
- <0> speak ordinary messages: 0 = no, 1 = yes
-
- ===========================================================================
-
- Everything from here onward is menu selections or commands.
-
- Be sure and keep a backup copy of the original Config!, if you change this
- file!
-
- (( NOTE:
- The left hand entries below are Menu Titles. Their key argument is not
- used. Menu Titles should be as brief as possible. Menu selection names
- can have up to 17 characters.
- ))
-
- <startup:
-
- menu("Files",1,normal-f1)
- menu("Next file f1",1,normal-f1)
- menu("Prev file S-f1",1,shft-f1)
- menu("Open A-f1",1,alt-f1)
- menu("New file C-f1",1,ctl-f1)
- menu("Insert file SA-f1",1,shftAlt-f1)
- menu("Restore SC-f1",1,shftCtl-f1)
- menu("Rename A-n",1,alt-n)
- menu("AmigaDOS C-y",1,ctl-y)
- menu("DOS + result C-z",1,ctl-z)
- menu("Directory A-z",1,alt-z)
- menu("Save f2",1,normal-f2)
- menu("Save as... S-f2",1,shft-f2)
- menu("Save changes A-f2",1,alt-f2)
- menu("Close f3",1,normal-f3)
- menu("Auto-close S-f3",1,shft-f3)
- menu("Quit f4",1,normal-f4)
- menu("Auto-Quit S-f4",1,shft-f4)
- menu("About... ",1,shftAltCtl-a)
-
- menu("Buffers",2,normal-f1)
- menu("Search fwd f9",2,normal-f9)
- menu("Replace fwd f10",2,normal-f10)
- menu("Rpl all fwd A-f10",2,alt-f10)
- menu("Search bkwd S-f9",2,shft-f9)
- menu("Rpl bkwd S-f10",2,shft-f10)
- menu("Set search f7",2,normal-f7)
- menu("Set replace f8",2,normal-f8)
- menu("Free buffers A-f3",2,alt-f3)
- menu("Edit buffer SA-f6",2,shftAlt-f6)
- menu("Swap buffer C-w",2,ctl-w)
- menu("See buffers SC-f6",2,shftCtl-f6)
- menu("Speak hilite A-s",2,alt-s)
- menu("Print hilite C-p",2,ctl-p)
-
- menu("Commands",3,normal-f1)
- menu("Compile f6",3,normal-f6)
- menu("Make command S-f6",3,shft-f6)
- menu("Save config A-f6",3,alt-f6)
- menu("Load config C-f6",3,ctl-f6)
- menu("Swap keys AC-f6",3,altCtl-f6)
- menu("Kill key SAC-f6",3,shftAltCtl-f6)
- checkedMenu("Start learn C-s",3,ctl-s,learnMode)
- menu("Run learn C-r",3,ctl-r)
- menu("Command mult C-m",3,ctl-m)
- menu("Save learn C-5",3,ctl-5)
- menu("Load learn C-6",3,ctl-6)
- menu("Run learn # C-7",3,ctl-7)
-
- menu("Edits",4,normal-f1)
- menu("Copy kp.",4,normal-kpDot)
- menu("Cut kp-",4,normal-kpMinus)
- menu("Paste kpEnter",4,normal-kpEnter)
- menu("Clear C-h",4,ctl-h)
- menu("I-Copy C-kp.",4,ctl-kpDot)
- menu("I-Cut C-kp-",4,ctl-kpMinus)
- menu("I-Paste C-kpEnter",4,ctl-kpEnter)
- menu("I-Clear C-i",4,ctl-i)
- menu("Col Cut SC-1",4,shftCtl-1)
- menu("Col Erase SC-2",4,shftCtl-2)
- menu("Col Copy SC-3",4,shftCtl-3)
- menu("Col Insert SC-4",4,shftCtl-4)
- menu("Col Overlay SC-5",4,shftCtl-5)
- menu("Ins Hil->Csr SC-6",4,shftCtl-6)
- menu("Ovl Hil->Csr SC-7",4,shftCtl-7)
- menu("Reformat C-3",4,ctl-3)
- menu("Tab->space SC-tab",4,shftCtl-tab)
- menu("Space->tab SA-tab",4,shftAlt-tab)
- menu("Del white-spc C-4",4,ctl-4)
-
- menu("Modes",5,normal-f1)
- checkedMenu("OverStrike S-f5",5,shft-f5,overStrike)
- checkedMenu("WordWrap C-f5",5,ctl-f5,wordWrap)
- checkedMenu("Right justify A-j",5,alt-j,rightJustify)
- checkedMenu("AutoIndent A-f5",5,alt-f5,autoIndent)
- checkedMenu("Read-only SA-f5",5,shftAlt-f5,readOnly)
- checkedMenu("AutoBackup SAC-f5",5,shftAltCtl-f5,autoBackup)
- checkedMenu("Print Pref A-p",5,alt-p,prefPrint)
- checkedMenu("Search caps C-8",5,ctl-8,searchCaps)
- checkedMenu("Use keys A-u",5,alt-u,useKeys)
-
- menu("Numbers",6,normal-f1)
- menu("Show vals S-help",6,shft-help)
- menu("Tab space SAC-tab",6,shftAltCtl-tab)
- menu("Line length C-rtn",6,ctl-return)
- menu("Lines/page A-g",6,alt-g)
- menu("End of line C-e",6,ctl-e)
- menu("Set wildcard A-f7",6,alt-f7)
- menu("Set eitherOr C-f7",6,ctl-f7)
- menu("Name gadget C-esc",6,ctl-esc)
- menu("File size C-1",6,ctl-1)
-
- menu("Colors",7,normal-f1)
- menu("Colors A-help",7,alt-help)
- menu("Lace color A-esc",7,alt-esc)
- checkedMenu("Interlace S-esc",7,shft-esc,lace)
- checkedMenu("Row/Column C-2",7,ctl-2,rowCol)
- checkedMenu("Mark gadgets C-g",7,ctl-g,markGadgets)
- menu("Refresh C-help",7,ctl-help)
- menu("Unhilite A-h",7,alt-h)
- menu("Uninvert A-i",7,alt-i)
- checkedMenu("Columnar SC-`",7,shftCtl-`,columnar)
- checkedMenu("Invisibles C-v",7,ctl-v,spooks)
- checkedMenu("Busies C-b",7,ctl-b,busies)
-
- runKey(shftAltCtl-z)
-
- >
-
- NOTE: shftAltCtl-z is executed automatically at startup. Normally no
- command exists for it. During an edit session you can create and save one,
- however, and it will be executed each time you start Uedit.
-
- Press HELP if you want to see how to set up shftAltCtl-z to auto-load your
- files.
-
- ---------------------------------------------------------------------------
- Here is a description of how buffers are used in this file. If you make
- changes which involve buffers, you should follow the convention in this list:
- (You can change this convention entirely, of course.)
-
- buf50-54 = used for temporary purposes in commands
- buf49 = search string
- buf48 = replace string
- buf47 = copied hilite
- buf46 = copied invert
- buf45 = holds scratch deletes for Undo, keypad-0
- buf44 = make-command buffer
- buf43 = document names
- buf42 = holds Help, if loaded
- buf41 = used in buffer swapping command, ctl-w
- buf40 = used for AmigaDOS commands
- buf39 = used for result of AmigaDOS commands (if result selected)
- buf38 = most recent directory name, if "Directory" has been selected
- buf37 = copied columnar data
-
- ---------------------------------------------------------------------------
-
- <normal-help: if (not isEmpty(buf42)) {
- getBufNum(n54)
- if (eqNum(n54,42)) freeBuf(buf42)
- else editBuf(buf42)
- } else {
- if (insertFile(buf42,sFile,"S:Help!")) {
- editBuf(buf42)
- flipFlag(buf42,readOnly)
- flipFlag(buf42,changed)
- } else putMsg("Couldn't find S:Help! file.")
- } >
- <shft-help: showFlags >
- <alt-help: toggle(color) >
- <ctl-help: refreshDisplay >
-
- NOTE: There can be shft-closeBox, alt-closeBox, etc, commands also.
- <normal-closeBox: runKey(normal-f4) > execute graceful quit key
-
- <normal-gadget1: toggle(curFile) >
- <normal-gadget2: runKey(shft-f1) >
- <normal-gadget3: vScroll(ePage) >
- <normal-gadget4: vScroll(sPage) >
-
- <normal-upArrow: vScroll(upLine) >
- <normal-downArrow: vScroll(downLine) >
- <normal-leftArrow: hScroll(eChar) >
- <normal-rightArrow: hScroll(sChar) >
-
- <shft-upArrow: do (n54,1,11) vScroll(upLine) >
- <shft-downArrow: do (n54,1,11) vScroll(downLine) >
- <shft-leftArrow: do (n54,1,10) hScroll(eChar) >
- <shft-rightArrow: do (n54,1,10) hScroll(sChar) >
-
- <alt-upArrow: vScroll(sPage) >
- <alt-downArrow: vScroll(ePage) >
- <alt-leftArrow: do (n54,1,20) hScroll(eChar) >
- <alt-rightArrow: do (n54,1,20) hScroll(sChar) >
-
- <ctl-upArrow: vScroll(sFile) >
- <ctl-downArrow: vScroll(eFile) >
- <ctl-leftArrow: equateNum(n54,lineLength)
- do (n53,1,n54) hScroll(eChar) >
- <ctl-rightArrow: while (hScroll(sChar)) nothing >
-
- place cursor
- <normal-buttonDown: moveCursor(curFile,mouseLoc) >
- set start of hilite
- <shft-buttonDown: equateLoc(curFile,sHilite,mouseLoc) refreshDisplay >
- set end of hilite
- <alt-buttonDown: equateLoc(curFile,eHilite,mouseLoc) refreshDisplay >
- load filename that is clicked
- <ctl-buttonDown:
- equateLoc(curFile,atCursor,mouseLoc)
- if (not is(curFile,whiteSpace)) {
- while (not is(curFile,whiteSpace))
- { moveCursor(curFile,sChar) if (is(curFile,sFile)) goto label(1) }
- label(1)
- while (is(curFile,whiteSpace)) moveCursor(curFile,eChar)
- equateLoc(curFile,sInvert,atCursor)
- while (not is(curFile,whiteSpace)) {
- moveCursor(curFile,eChar) if (is(curFile,eFile)) goto label(2) }
- label(2)
- equateLoc(curFile,eInvert,atCursor)
- refreshDisplay
- freeBuf(buf54)
- insertRgn(buf54,sFile,buf38,all)
- insertRgn(buf54,eFile,curFile,invert)
- loadFile(buf54)
- } >
- Click or drag mouse, put word/phrase into index in buf41. (ctl-w to see.)
- <shftAlt-buttonDown:
- equateLoc(curFile,atCursor,mouseLoc)
- moveCursor(curFile,eWord)
- equateLoc(curFile,eInvert,atCursor)
- moveCursor(curFile,sWord)
- equateLoc(curFile,sInvert,atCursor)
- refreshDisplay>
-
- ((See shftAlt-buttonDown and shftAlt-i.))
- <shftAlt-buttonUp:
- equateLoc(curFile,atCursor,mouseLoc)
- moveCursor(curFile,eWord)
- equateLoc(curFile,eInvert,atCursor)
- if (geLoc(curFile,sInvert,eInvert)) returnFalse
- moveCursor(curFile,sInvert)
- if (is(curFile,upperCase)) equateNum(n0,1)
- else equateNum(n0,0)
- toLower(curFile)
- copyChar(curFile,n54)
- if (eqNum(n0,1)) toUpper(curFile)
- if (isEmpty(buf41)) insertChar(buf41,eLine)
- moveCursor(buf41,sFile)
- equateLoc(buf41,sPage,atCursor)
- label(1)
- if (is(buf41,upperCase)) equateNum(n0,1)
- else equateNum(n0,0)
- toLower(buf41)
- copyChar(buf41,n53)
- if (eqNum(n0,1)) toUpper(buf41)
- if (gtNum(n54,n53)) {
- moveCursor(buf41,downLine)
- if (not is(buf41,eFile)) goto label(1)
- }
- insertRgn(buf41,atCursor,curFile,invert)
- insertChar(buf41,eLine)
- >
-
- set start of invert
- <shftCtl-buttonDown: equateLoc(curFile,sInvert,mouseLoc) refreshDisplay >
- set end of invert
- <altCtl-buttonDown: equateLoc(curFile,eInvert,mouseLoc) refreshDisplay >
- drag mouse and create hilite
- <shftAltCtl-buttonDown:
- equateLoc(curFile,locA,mouseLoc)
- while (trackMouse) nothing
- if (gtLoc(curFile,locA,mouseLoc))
- { equateLoc(curFile,sHilite,mouseLoc) equateLoc(curFile,eHilite,locA) }
- else
- { equateLoc(curFile,eHilite,mouseLoc) equateLoc(curFile,sHilite,locA) }
- refreshDisplay >
-
- switch to next file
- <normal-f1: toggle(curFile) >
-
- switch to prev file
- <shft-f1: getBufNum(n54)
- while (nothing) {
- if (gtNum(n54,20)) equateNum(n54,20)
- decNum(n54)
- if (gtNum(0,n54)) equateNum(n54,19)
- if (not isEmpty(buf[n54])) {
- editBuf(buf[n54])
- returnTrue
- }
- } >
-
- <alt-f1: putMsg("Input new filename:")
- freeBuf(buf43)
- if (inputString(buf43)) loadFile(buf43) >
- open new blank file buffer
- <ctl-f1: newFile >
- <shftAlt-f1: putMsg("Input filename to insert:")
- freeBuf(buf43)
- if (inputString(buf43)) insertFile(curFile,atCursor,buf43) >
- <shftCtl-f1: if (not askYesNo("Restore file to original?"))
- returnFalse
- if (getFileName(buf43,curFile))
- { freeBuf(curFile) loadFile(buf43) } >
-
- save file currently in window
- <normal-f2: saveFile(curFile) >
- <shft-f2: putMsg("Save file as:")
- freeBuf(buf43)
- if (inputString(buf43)) if (setFileName(curFile,buf43))
- saveFile(curFile) >
- save all changed files
- <alt-f2: do(n54,0,19)
- if (getFlag(buf[n54],changed)) saveFile(buf[n54]) >
-
- <normal-f3: if (not isEmpty(curFile)) if (getFlag(curFile,changed))
- if (askYesNo("Save changes before closing?"))
- if (not saveFile(curFile)) returnFalse
- freeBuf(curFile) >
- save file, if changed, then close it
- <shft-f3: if (getFlag(curFile,changed)) if (not saveFile(curFile))
- returnFalse
- freeBuf(curFile) >
- free all buffers
- <alt-f3: do(n54,20,54) freeBuf(buf[n54]) >
-
- <normal-f4: if (not askYesNo("Really quit?")) returnFalse
- equateNum(n53,0)
- do(n54,0,19) if (getFlag(buf[n54],changed)) equateNum(n53,1)
- if (eqNum(n53,1)) if (askYesNo("Save changes?")) runKey(shft-f4)
- quit >
- save all changed files, then quit
- <shft-f4: do (n54,0,19) if (getFlag(buf[n54],changed))
- if (not saveFile(buf[n54])) returnFalse
- quit >
- quit WITHOUT saving any files
- <alt-f4: quit >
-
- switch flag settings:
- <shft-f5: flipFlag(curFile,overstrike) >
- <alt-f5: flipFlag(curFile,autoIndent) >
- <ctl-f5: flipFlag(curFile,wordWrap) >
- <shftAlt-f5: flipFlag(curFile,readOnly) >
- <shftCtl-f5: flipFlag(curFile,speakMsgs) >
- <altCtl-f5: flipFlag(curFile,speakAlerts) >
- <shftAltCtl-f5: flipFlag(curFile,autoBackup) >
-
- compile command in current buffer in window
- <normal-f6: compile >
- select buffer 44 to use for writing commands
- <shft-f6: editBuf(buf44)
- putMsg("Type in command, <anykey: etc>, and press F6 to compile:") >
- save editor config to disk
- <alt-f6:
- if (askYesNo("Save config?")) {
- putMsg("Input data filename or ESC:")
- freeBuf(buf54)
- inputString(buf54)
- saveConfig(buf54)
- } >
- restore editor config from disk
- <ctl-f6:
- if (askYesNo("Load config?")) {
- putMsg("Input data filename or ESC:")
- freeBuf(buf54)
- inputString(buf54)
- loadConfig(buf54)
- } >
- edit a buffer
- <shftAlt-f6: putMsg("Input number of buffer to edit:")
- if (inputNum(n54)) editBuf(buf[n54]) >
- examine all buffers that aren't empty
- <shftCtl-f6: do (n54,20,54) if (not isEmpty(buf[n54])) {
- editBuf(buf[n54])
- putMsg("F1=continue, F2=edit this one, F3=stop:")
- getKey(n53)
- if (eqNum(n53,normal-f2)) { putMsg(" ") returnTrue }
- if (eqNum(n53,normal-f3)) goto label(1)
- }
- label(1)
- toggle(curFile)
- putMsg(" ") >
- swap anything, including mouse clicks, menu selections, gadgets, keys
- <altCtl-f6: putMsg("Next 2 function keys will be swapped!")
- if (getKey(n53)) if (getKey(n54)) if (swapKey(n53,n54))
- { putMsg("Keys were swapped.") returnTrue }
- putMsg(" ") >
- kill command, including mouse clicks, menu selections, gadgets, keys
- <shftAltCtl-f6:
- putMsg("Next command-key will be deleted!")
- if (getKey(n54)) if (killKey(n54))
- { putMsg("Key command was deleted.") returnTrue }
- putMsg(" ") >
-
- input search text to use, including either-or "$" and wildcards "?"
- <normal-f7: freeBuf(buf49) runKey(shft-f7) >
- modify existing search text
- <shft-f7: putMsg("Input search string:")
- inputString(buf49)
- runKey(normal-f9) >
- <alt-f7: putMsg("Input new search wild-card char:")
- freeBuf(buf49)
- if (inputString(buf49))
- { moveCursor(buf49,sFile) copyChar(buf49,wildCard) } >
- <ctl-f7: putMsg("Input new search either-or char:")
- freeBuf(buf49)
- if (inputString(buf49))
- { moveCursor(buf49,sFile) copyChar(buf49,eitherOr) } >
-
- input replace text
- <normal-f8: freeBuf(buf48) runKey(shft-f8) >
- modify existing replace text
- <shft-f8: putMsg("input replace string:") inputString(buf48) >
-
- NOTE: returnTrue is needed below because "thisKey" could return a False even
- though search() returned True. returnFalse is needed because equateLoc()
- will return a True:
-
- search forward, invert "matched" region, put cursor at start of region
- <normal-f9: if (eqLoc(curFile,atCursor,eInvert)) moveCursor(curFile,sChar)
- if (search(curFile,sInvert,eInvert,buf49,eChar)) {
- if (thisKey) if (not onScreen(atCursor)) vScroll(atCursor)
- returnTrue
- }
- putMsg("Search failed.")
- equateLoc(curFile,sInvert,eInvert)
- returnFalse >
- search backward
- <shft-f9: if (search(curFile,sInvert,eInvert,buf49,sChar)) {
- if (thisKey) if (not onScreen(atCursor)) vScroll(atCursor)
- returnTrue
- }
- putMsg("Search failed.")
- equateLoc(curFile,sInvert,eInvert)
- returnFalse >
-
- replace "matched" region, then search forward
- <normal-f10: if (eqLoc(curFile,sInvert,eInvert)) returnFalse
- clearRgn(curFile,invert)
- insertRgn(curFile,sInvert,buf48,all)
- runKey(normal-f9) >
- replace "matched" region, then search backward
- <shft-f10: if (eqLoc(curFile,sInvert,eInvert)) returnFalse
- clearRgn(curFile,invert)
- insertRgn(curFile,sInvert,buf48,all)
- runKey(shft-f9) >
- replace-all forward
- <alt-f10: while(runKey(normal-f10)) nothing >
-
- insert a space for typing
- <shft-del: insertChar(curFile," ") moveCursor(curFile,sChar)
- if (is(curFile,sLine)) refreshDisplay>
- insert line below line
- <alt-del: if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- insertChar(curFile,eLine)>
-
- delete line above cursor line
- <ctl-del: equateLoc(curFile,mouseLoc,atCursor)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- if (not is(curFile,sFile)) {
- moveCursor(curFile,upLine)
- runKey(ctl-d)
- moveCursor(curFile,mouseLoc)
- }>
-
- open space in front of word for typing
- <shft-bs: if (not is(curFile,sWord)) moveCursor(curFile,sWord)
- runKey(shft-del)>
- open line above cur line for typing
- <alt-bs: if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- insertChar(curFile,eLine) moveCursor(curFile,sChar)>
-
- delete line below cursor line
- <ctl-bs: equateLoc(curFile,mouseLoc,atCursor)
- if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- if (not is(curFile,eFile)) {
- moveCursor(curFile,downLine)
- runKey(ctl-d)
- moveCursor(curFile,mouseLoc)
- }>
-
-
- ---------------------------- Keypad Keys ----------------------------------
- find cursor
- <normal-kp5: vScroll(atCursor) >
- delete word left
- <normal-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locB,atCursor)
- moveCursor(curFile,sWord)
- equateLoc(curFile,locA,atCursor)
- insertRgn(buf45,sFile,curFile,loc)
- clearRgn(curFile,loc) >
- delete word right
- <normal-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locA,atCursor)
- moveCursor(curFile,eWord)
- equateLoc(curFile,locB,atCursor)
- insertRgn(buf45,eFile,curFile,loc)
- clearRgn(curFile,loc) >
- <normal-kp8: moveCursor(curFile,upLine) >
- <normal-kp2: moveCursor(curFile,downLine) >
- <normal-kp4: moveCursor(curFile,sWord) >
- <normal-kp6: moveCursor(curFile,eWord) >
- set start of hilite at cursor
- <normal-kp1: equateLoc(curFile,sHilite,atCursor) refreshDisplay >
- set end of hilite at cursor
- <normal-kp3: equateLoc(curFile,eHilite,atCursor) refreshDisplay >
- UNDO scratch deletes, inserting scratch delete buffer at cursor
- <normal-kp0: insertRgn(curFile,atCursor,buf45,all) >
- copy hilite region into buffer
- <normal-kpDot: if (gtLoc(curFile,eHilite,sHilite))
- { freeBuf(buf47) insertRgn(buf47,sFile,curFile,hilite) }
- else returnFalse >
- copy hilite region into buffer, then delete hilite region
- <normal-kpMinus: if (runKey(normal-kpDot)) clearRgn(curFile,hilite) >
- insert copied hilite at cursor
- <normal-kpEnter: insertRgn(curFile,atCursor,buf47,all)
- if (not onScreen(atCursor)) vScroll(atCursor) >
-
- <shft-kp5: vScroll(atCursor) >
- delete character left
- <shft-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locB,atCursor)
- moveCursor(curFile,sChar)
- equateLoc(curFile,locA,atCursor)
- insertRgn(buf45,sFile,curFile,loc)
- clearRgn(curFile,loc) >
- delete character under cursor
- <shft-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locA,atCursor)
- moveCursor(curFile,eChar)
- equateLoc(curFile,locB,atCursor)
- insertRgn(buf45,eFile,curFile,loc)
- clearRgn(curFile,loc) >
- <shft-kp8: moveCursor(curFile,upLine) >
- <shft-kp2: moveCursor(curFile,downLine) >
- <shft-kp4: moveCursor(curFile,sChar) >
- <shft-kp6: moveCursor(curFile,eChar) >
- <shft-kp1: runKey(normal-kp1) >
- <shft-kp3: runKey(normal-kp3) >
- <shft-kp0: runKey(normal-kp0) >
- <shft-kpDot: runKey(normal-kpDot) >
- <shft-kpMinus: runKey(normal-kpMinus) >
- <shft-kpEnter: runKey(normal-kpEnter) >
-
- <alt-kp5: vScroll(atCursor) >
- delete line left
- <alt-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- if (is(curFile,sLine)) runKey(shft-kp7)
- else {
- equateLoc(curFile,locB,atCursor)
- moveCursor(curFile,sLine)
- equateLoc(curFile,locA,atCursor)
- insertRgn(buf45,sFile,curFile,loc)
- clearRgn(curFile,loc)
- } >
- delete line right
- <alt-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- if (is(curFile,eLine)) runKey(shft-kp9)
- else {
- equateLoc(curFile,locA,atCursor)
- moveCursor(curFile,eLine)
- equateLoc(curFile,locB,atCursor)
- insertRgn(buf45,eFile,curFile,loc)
- clearRgn(curFile,loc)
- } >
- <alt-kp8: moveCursor(curFile,upLine) >
- <alt-kp2: moveCursor(curFile,downLine) >
- <alt-kp4: moveCursor(curFile,sLine) >
- <alt-kp6: moveCursor(curFile,eLine) >
- <alt-kp1: runKey(normal-kp1) >
- <alt-kp3: runKey(normal-kp3) >
- <alt-kp0: runKey(normal-kp0) >
- <alt-kpDot: runKey(normal-kpDot) >
- <alt-kpMinus: runKey(normal-kpMinus) >
- <alt-kpEnter: runKey(normal-kpEnter) >
-
- <ctl-kp5: vScroll(atCursor) >
- delete to start of page
- <ctl-kp7: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locB,atCursor)
- moveCursor(curFile,sPage)
- equateLoc(curFile,locA,atCursor)
- insertRgn(buf45,sFile,curFile,loc)
- clearRgn(curFile,loc)
- vScroll(atCursor) >
- delete to end of page
- <ctl-kp9: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locA,atCursor)
- moveCursor(curFile,ePage)
- equateLoc(curFile,locB,atCursor)
- insertRgn(buf45,eFile,curFile,loc)
- clearRgn(curFile,loc) >
- <ctl-kp8: moveCursor(curFile,sPage) vScroll(atCursor) >
- <ctl-kp2: moveCursor(curFile,ePage) vScroll(atCursor) >
- <ctl-kp4: moveCursor(curFile,sLine) >
- <ctl-kp6: moveCursor(curFile,eLine) >
- set start of invert at cursor
- <ctl-kp1: equateLoc(curFile,sInvert,atCursor) refreshDisplay >
- set end of invert at cursor
- <ctl-kp3: equateLoc(curFile,eInvert,atCursor) refreshDisplay >
- <ctl-kp0: runKey(normal-kp0) >
- copy invert region into buffer
- <ctl-kpDot: if (gtLoc(curFile,eInvert,sInvert))
- { freeBuf(buf46) insertRgn(buf46,sFile,curFile,invert) }
- else returnFalse >
- copy, then delete, invert region
- <ctl-kpMinus: runKey(ctl-kpDot) clearRgn(curFile,invert) >
- insert copied invert region at cursor
- <ctl-kpEnter: insertRgn(curFile,atCursor,buf46,all)
- if (not onScreen(atCursor)) vScroll(atCursor) >
-
- ------------------------- miscellaneous keys -------------------------------
-
- <ctl-return: putMsg("Enter new line-length:")
- if (inputNum(n54))
- { setLocal(curFile,lineLength,n54) equateNum(lineLength,n54) } >
-
- transparent tab fwd
- <shft-tab: while (moveCursor(curFile,eChar)) {
- if (is(curFile,sLine)) returnTrue
- if (is(curFile,tabColumn)) returnTrue
- }
- returnFalse >
-
- transparent tab bkwd
- <alt-tab: while (moveCursor(curFile,sChar)) {
- if (is(curFile,sLine)) returnTrue
- if (is(curFile,tabColumn)) returnTrue
- }
- returnFalse >
-
- untab - delete spaces back to prev tab column
- <ctl-tab: equateNum(n53,tabSpacing)
- do (n54,1,n53) {
- moveCursor(curFile,sChar)
- if (is(curFile,space)) clearChar(curFile)
- else { moveCursor(curFile,eChar) returnFalse }
- if (is(curFile,tabColumn)) returnTrue
- } >
- <shftAlt-tab: putMsg("Converting spaces to TABs....")
- spacesToTabs putMsg(" ") >
- <shftCtl-tab: putMsg("Converting TABs to spaces....")
- tabsToSpaces putMsg(" ") >
- <shftAltCtl-tab:
- putMsg("Enter new tab spacing:")
- if (inputNum(n54)) if (gtNum(n54,0))
- { setLocal(curFile,tabSpacing,n54) equateNum(tabSpacing,n54) } >
-
- <ctl-b: flipFlag(curFile,busies) >
- trim spaces between words
- <alt-c: while (not is(curFile,space))
- { moveCursor(curFile,eChar) if (is(curFile,eFile)) returnTrue }
- moveCursor(curFile,eChar)
- while (is(curFile,space)) clearChar(curFile) >
- input a ctl-character, such as formfeed, into text at cursor
- <ctl-c: putMsg("Input a control character:") inputctlChar >
- input a command and count number of times executed
- <shftAlt-c: equateNum(n54,0)
- putMsg("Input command to execute & count:")
- if (getKey(n53)) {
- while (runKey(n53)) incNum(n54)
- freeBuf(buf54)
- insertRgn(buf54,sFile,"Times executed = ",all)
- toWord(buf54,n54)
- putMsg(buf54)
- } >
- delay # tenths of seconds stored in n46 (see shftAlt-d)
- <alt-d: delay(n46) >
- delete entire line
- <ctl-d: if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf45)
- equateLoc(curFile,locB,atCursor)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- if (not eqLoc(curFile,locB,atCursor)) {
- equateLoc(curFile,locA,atCursor)
- insertRgn(buf45,sFile,curFile,loc)
- clearRgn(curFile,loc)
- } else equateLoc(curFile,locA,atCursor)
- if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- moveCursor(curFile,eChar)
- equateLoc(curFile,locB,atCursor)
- insertRgn(buf45,eFile,curFile,loc)
- clearRgn(curFile,loc) >
-
- <shftAlt-d: putMsg("Input # tenths of seconds (used in delays)")
- inputNum(n46) >
- <alt-e: putMsg("Input new end-of-line value (usually 10 or 13):")
- inputNum(n54)
- setEol(n54)
- refreshDisplay >
- <ctl-e:
- putMsg("Input file's current end-of-line value (usually 10 or 13):")
- inputNum(n54)
- if (not gtNum(n54,0)) returnFalse
- putMsg("Input new end-of-line value (usually 10 or 13):")
- inputNum(n53)
- if (not gtNum(n53,0)) returnFalse
- setEol(n54)
- moveCursor(curFile,sFile)
- putMsg("Changing eol characters ... hit Amiga-ESC to abort.")
- while (moveCursor(curFile,eLine))
- if (is(curFile,n54)) swapChar(curFile,n53)
- setEol(n53)
- vScroll(sFile)
- putMsg(" ")
- refreshDisplay >
- <alt-f: putMsg("Input buffer # to free:")
- if (inputNum(n54)) freeBuf(buf[n54]) >
- flip upper/lower case of character under cursor
- <ctl-f: if (is(curFile,alpha)) {
- if (is(curFile,lowerCase)) toUpper(curFile)
- else toLower(curFile)
- }
- moveCursor(curFile,eChar) >
- <ctl-g: flipFlag(curFile,markGadgets) >
- <alt-g: putMsg("Enter new lines/page:")
- inputNum(n54)
- if (gtNum(n54,0))
- { setLocal(curFile,pageLines,n54) equateNum(pageLines,n54) } >
-
- unhilite the hilite
- <alt-h: equateLoc(curFile,sHilite,eHilite) refreshDisplay >
- clear hilite region - No Copy is made
- <ctl-h: clearRgn(curFile,hilite) >
- uninvert the invert
- <alt-i: equateLoc(curFile,sInvert,eInvert) refreshDisplay >
- clear invert region - No Copy is made
- <ctl-i: clearRgn(curFile,invert) >
- Scan list in buf41, create index. ((See shftAlt-buttonDown & buttonUp.))
- <shftAlt-i:
- if (isEmpty(buf41)) returnFalse
- runKey(alt-g)
- freeBuf(buf54)
- label(1)
- moveCursor(buf41,sFile)
- while (is(buf41,whiteSpace)) clearChar(buf41)
- if (is(buf41,eFile)) {
- swapBuf(buf54,buf41)
- freeBuf(buf54)
- setFileName(buf41,"Index")
- equateLoc(buf41,sPage,sFile)
- equateLoc(buf41,atCursor,sFile)
- putMsg("Press ctl-w to see Index")
- returnTrue
- }
- freeBuf(buf49)
- insertRgn(buf49,sFile,buf41,line)
- clearRgn(buf41,line)
- putMsg(buf49)
- moveCursor(buf54,eFile)
- insertRgn(buf54,eFile,buf49,all)
- insertRgn(buf54,eFile," ",all)
- insertChar(buf54,eLine)
- moveCursor(buf54,sChar)
- equateNum(n53,0)
- moveCursor(curFile,sFile)
- label(2)
- while (search(curFile,sInvert,eInvert,buf49,eChar)) {
- moveCursor(curFile,sChar)
- if (is(curFile,alpha)) {
- label(3)
- moveCursor(curFile,eInvert)
- goto label(2)
- }
- if (is(curFile,digit)) goto label(3)
- moveCursor(curFile,eInvert)
- if (is(curFile,alpha)) goto label(2)
- if (is(curFile,digit)) goto label(2)
- locToLine(curFile,n54,atCursor)
- div(n54,n54,pageLines)
- incNum(n54)
- if (not eqNum(n54,n53)) {
- if (not eqNum(n53,0)) insertChar(buf54,",")
- toWord(buf54,n54)
- equateNum(n53,n54)
- }
- }
- goto label(1)
- >
- <alt-j: flipFlag(curFile,rightJustify) >
- join two lines together
- <ctl-j: if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- equateLoc(curFile,locA,atCursor)
- label(1)
- moveCursor(curFile,eChar)
- if (is(curFile,space)) goto label(1)
- equateLoc(curFile,locB,atCursor)
- clearRgn(curFile,loc)
- insertRgn(curFile,atCursor," ",all) >
- move hilite region to left by one space
- <alt-l: moveCursor(curFile,sHilite)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- label(1)
- if (is(curFile,space)) clearChar(curFile)
- if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- moveCursor(curFile,eChar)
- if (gtLoc(curFile,eHilite,atCursor)) goto label(1) >
- convert char under cursor to lower case
- <ctl-l: toLower(curFile) moveCursor(curFile,eChar) >
- <ctl-m: putMsg("Input command multiplier:") inputNum(cmdMultiplier) >
- rename document in window
- <alt-n: putMsg("Input new filename:")
- getFileName(buf43,curFile)
- if (inputString(buf43))
- setFileName(curFile,buf43) >
- go to line number in text
- <ctl-n: putMsg("Input line number:")
- if (inputNum(n54))
- { lineToLoc(curFile,atCursor,n54) vScroll(atCursor) } >
- open cursor line for typing
- <ctl-o: insertChar(curFile,eLine) moveCursor(curFile,sChar) >
-
- print hilite region
- <ctl-p: print(curFile,hilite) >
- switch between printing thru parallel port and through Amiga Preferences
- <alt-p: flipFlag(curFile,prefPrint) >
- move hilite region to right by one space
- <alt-r: moveCursor(curFile,sHilite)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- label(1)
- if (gtLoc(curFile,eHilite,atCursor)) {
- insertChar(curFile," ")
- if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- moveCursor(curFile,eChar)
- goto label(1)
- } >
- run whatever is stored in learn-buffer
- <ctl-r: runLearn >
- speak the hilite region a line at a time
- <alt-s: if (gtLoc(curFile,eHilite,sHilite)) {
- equateLoc(curFile,locA,atCursor)
- equateLoc(curFile,sInvert,sHilite)
- equateLoc(curFile,atCursor,sHilite)
- while (gtLoc(curFile,eHilite,sInvert)) {
- if (not is(curFile,eLine)) moveCursor(curFile,eLine)
- moveCursor(curFile,eChar)
- if (gtLoc(curFile,atCursor,eHilite))
- equateLoc(curFile,eInvert,eHilite)
- else equateLoc(curFile,eInvert,atCursor)
- if (gtLoc(curFile,eInvert,sInvert)) {
- freeBuf(buf50)
- insertRgn(buf50,sFile,curFile,invert)
- speak(buf50)
- }
- equateLoc(curFile,sInvert,atCursor)
- }
- equateLoc(curFile,atCursor,locA)
- } >
- start/abort Learn Mode
- <ctl-s: if (not getFlag(curFile,learnMode)) putMsg("LEARN MODE ACTIVE!")
- else putMsg("Learn Mode cancelled.")
- flipFlag(curFile,learnMode) >
- Use keys for character/number input
- <alt-u: flipFlag(curFile,useKeys)>
- switch char under cursor to upper case
- <ctl-u: toUpper(curFile) moveCursor(curFile,eChar) >
- switch flag that makes control-characters visible/invisible
- <ctl-v: flipFlag(curFile,spooks) refreshDisplay >
- swap current buffer in window with buffer 41
- <ctl-w: swapBuf(curFile,buf41) >
- for programmers: toggle number under cursor betw hexadecimal/decimal
- <ctl-x: hexDecimal(curFile) >
- execute AmigaDOS command but don't collect the results
- <ctl-y: putMsg("Enter AmigaDOS command")
- freeBuf(buf40)
- if (inputString(buf40)) execute(" ",buf40) >
- execute AmigaDOS command and collect results
- <ctl-z: putMsg("Enter AmigaDOS command")
- freeBuf(buf40)
- if (not inputString(buf40)) returnFalse
- freeBuf(buf39)
- if (not execute(buf39,buf40)) returnFalse
- if (not isEmpty(buf39))
- { putMsg("Result of AmigaDOS command:") editBuf(buf39) }
- else
- { putMsg("No message from AmigaDOS.") freeBuf(buf39) } >
- get a directory - this sets directoryname in buf38 that is used in click-
- loading files (see ctl-buttonDown)
- <alt-z: putMsg("Enter directory: ")
- freeBuf(buf38)
- inputString(buf38)
- freeBuf(buf54)
- insertRgn(buf54,eFile,"Dir ",all)
- insertRgn(buf54,eFile,buf38,all)
- if (not execute(buf39,buf54)) returnFalse
- moveCursor(buf38,eFile)
- moveCursor(buf38,sChar)
- if (not isEmpty(buf38)) if (not is(buf38,":"))
- insertRgn(buf38,eFile,"/",all)
- insertRgn(buf39,sFile,"
- ",all)
- insertRgn(buf39,sFile,buf38,all)
- newFile
- swapBuf(buf39,curFile)
- freeBuf(buf39)
- vScroll(sFile)
- putMsg("To load files, ctrl-click names with mouse.")
- setFileName(curFile,buf54)
- flipFlag(curFile,changed) >
-
- match columns
- <alt-0: equateNum(n43,n44)
- runKey(alt-7)
- while (gtNum(n43,n44)) {
- insertChar(curFile,32)
- decNum(n43)
- }
- while (gtNum(n44,n43)) {
- moveCursor(curFile,sChar)
- if (not is(curFile," ")) returnFalse
- incNum(n43)
- clearChar(curFile)
- } >
- clear leading white space
- <alt-1: if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- while (is(curFile,whiteSpace)) {
- if (is(curFile,eLine)) returnTrue
- clearChar(curFile)
- } >
- center text in line
- <alt-2: runKey(alt-1)
- equateNum(n54,lineLength)
- do (n53,1,n54) {
- if (is(curFile,eLine)) goto label(1)
- incLoc(curFile,atCursor)
- }
- label(1)
- if (gtNum(lineLength,n53)) {
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- sub(n53,lineLength,n53)
- div(n53,n53,2)
- do (n54,2,n53) insertChar(curFile," ")
- } >
- go to page #
- <alt-3: putMsg("Go to page #:")
- if (inputNum(n54)) if (gtNum(pageLines,1)) {
- sub(n54,n54,1)
- mul(n54,n54,pageLines)
- moveCursor(curFile,sFile)
- do (n53,1,n54) moveCursor(curFile,downLine)
- } else putMsg("Lines/page not defined")>
- match indent of prev line
- <alt-4: if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- if (is(curFile,sFile)) returnFalse
- moveCursor(curFile,sLine)
- equateNum(n54,0)
- while (is(curFile,space)) {
- incLoc(curFile,atCursor)
- incNum(n54)
- }
- moveCursor(curFile,downLine)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- equateNum(n53,0)
- while (is(curFile,space)) {
- incLoc(curFile,atCursor)
- incNum(n53)
- }
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- while (gtNum(n54,n53)) {
- insertChar(curFile,32)
- incNum(n53)
- }
- while (gtNum(n53,n54)) {
- clearChar(curFile)
- decNum(n53)
- } >
- justify right
- <alt-5: equateLoc(curFile,locA,atCursor)
- runKey(alt-6)
- equateLoc(curFile,atCursor,locA)
- decNum(n45)
- while (gtNum(lineLength,n45)) {
- insertChar(curFile,32)
- incNum(n45)
- }
- while (gtNum(n45,lineLength)) {
- moveCursor(curFile,sChar)
- if (not is(curFile,32)) returnFalse
- clearChar(curFile)
- decNum(n45)
- } >
- store cursor line length in n45
- <alt-6: equateLoc(curFile,locA,atCursor)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- do (n45,1,999999999) {
- if (is(curFile,eLine)) goto label(1)
- moveCursor(curFile,eChar)
- }
- label(1)
- equateLoc(curFile,atCursor,locA) >
- store cursor col in n44
- <alt-7: equateLoc(curFile,locA,atCursor)
- if (not is(curFile,sLine)) moveCursor(curFile,sLine)
- do (n44,1,999999999) {
- if (eqLoc(curFile,atCursor,locA)) goto label(1)
- if (is(curFile,eLine)) goto label(1)
- moveCursor(curFile,eChar)
- }
- label(1)
- equateLoc(curFile,atCursor,locA) >
- Show value of n-variable
- <alt-8: putMsg("n-variable #: ")
- inputNum(n54)
- freeBuf(buf54)
- insertChar(buf54,"n")
- toWord(buf54,n54)
- insertRgn(buf54,eFile," is ",all)
- toWord(buf54,n[n54])
- putMsg(buf54) >
- Set value of n-variable
- <alt-9: putMsg("Set n-variable #:")
- inputNum(n54)
- putMsg("To value:")
- inputNum(n[n54])>
- tell what ASCII value is of char under cursor (use to ID ctl-chars)
- <ctl-/: copyChar(curFile,n54)
- freeBuf(buf54)
- toWord(buf54,n54)
- insertRgn(buf54,sFile,"Character value under cursor was ",all)
- putMsg(buf54)
- moveCursor(curFile,eChar) >
- display file-size in message line (if slow, it packed file first)
- <ctl-1: fileSize(curFile,n54)
- freeBuf(buf54)
- insertRgn(buf54,sFile,"File size in bytes: ",all)
- toWord(buf54,n54)
- putMsg(buf54)>
- <ctl-2: flipFlag(curFile,rowCol) >
- reformat paragraph
- <ctl-3: putMsg("Reformatting...")
- if (reformat) moveCursor(curFile,downLine)
- putMsg(" ")>
-
- delete trailing white-space in entire document
- <ctl-4: equateLoc(curFile,locA,atCursor)
- moveCursor(curFile,sFile)
- label(1)
- if (is(curFile,eFile))
- { equateLoc(curFile,atCursor,locA) returnTrue }
- moveCursor(curFile,eLine)
- moveCursor(curFile,sChar)
- while (is(curFile,space))
- { clearChar(curFile) moveCursor(curFile,sChar) }
- moveCursor(curFile,eLine)
- goto label(1) >
- save learn-sequence to disk
- <ctl-5: putMsg("Save Learn under what #?")
- if (inputNum(n54)) saveLearn(n54) >
- load a learn-sequence stored on disk
- <ctl-6: putMsg("Load what Learn #?")
- if (inputNum(n54)) loadLearn(n54) >
- both load & run a learn-sequence stored on disk
- <ctl-7: putMsg("Input learn # to load & run:")
- if (inputNum(n54)) if (loadLearn(n54)) runLearn >
- <ctl-8: flipFlag(curFile,searchCaps) >
-
- --------------------------- arithmetic commands --------------------
- set running total to zer0
- <ctl-0: equateNum(n49,0) >
- type running total into text at cursor
- <ctl-\: freeBuf(buf54)
- div(n52,n49,100)
- if (gtNum(0,n49)) if (eqNum(n52,0)) insertChar(buf54,"-")
- toWord(buf54,n52)
- insertChar(buf54,".")
- if (gtNum(0,n49)) mul(n52,n49,-1)
- else equateNum(n52,n49)
- mod(n52,n52,100)
- if (gtNum(10,n52)) insertChar(buf54,"0")
- toWord(buf54,n52)
- insertRgn(curFile,atCursor,buf54,all)
- insertRgn(buf54,sFile,"Inserted total into text ",all)
- putMsg(buf54) >
- add next word (if a number) to running total & display total
- <ctl-=: moveCursor(curFile,eWord)
- moveCursor(curFile,sWord)
- toNumber(n54,curFile)
- moveCursor(curFile,eWord)
- if (is(curFile,".")) {
- moveCursor(curFile,eChar)
- if (not is(curFile,digit)) goto label(1)
- toNumber(n53,curFile)
- moveCursor(curFile,eChar)
- if (not is(curFile,digit)) {
- mul(n53,n53,10)
- moveCursor(curFile,sChar)
- }
- moveCursor(curFile,eWord)
- } else { label(1) equateNum(n53,0) }
- mul(n54,n54,100)
- if (gtNum(0,n54)) mul(n52,n53,-1)
- else equateNum(n52,n53)
- add(n54,n54,n52)
- add(n49,n49,n54)
- freeBuf(buf54)
- div(n52,n49,100)
- if (gtNum(0,n49)) if (eqNum(n52,0)) insertChar(buf54,"-")
- toWord(buf54,n52)
- insertChar(buf54,".")
- mod(n52,n49,100)
- if (gtNum(0,n49)) mul(n52,-1,n52)
- if (gtNum(10,n52)) insertChar(buf54,"0")
- toWord(buf54,n52)
- insertRgn(buf54,sFile,"Running total is ",all)
- putMsg(buf54) >
-
- subtract next word (if a number) from running total & display total
- <ctl--: moveCursor(curFile,eWord)
- moveCursor(curFile,sWord)
- toNumber(n54,curFile)
- moveCursor(curFile,eWord)
- if (is(curFile,".")) {
- moveCursor(curFile,eChar)
- if (not is(curFile,digit)) goto label(1)
- toNumber(n53,curFile)
- moveCursor(curFile,eChar)
- if (not is(curFile,digit)) {
- mul(n53,n53,10)
- moveCursor(curFile,sChar)
- }
- moveCursor(curFile,eWord)
- } else { label(1) equateNum(n53,0) }
- mul(n54,n54,100)
- if (gtNum(0,n54)) mul(n52,n53,-1)
- else equateNum(n52,n53)
- add(n54,n54,n52)
- sub(n49,n49,n54)
- freeBuf(buf54)
- div(n52,n49,100)
- if (gtNum(0,n49)) if (eqNum(n52,0)) insertChar(buf54,"-")
- if (gtNum(0,n49)) insertChar(buf54,"-")
- toWord(buf54,n52)
- insertChar(buf54,".")
- mod(n52,n49,100)
- if (gtNum(0,n52)) mul(n52,n52,-1)
- if (gtNum(10,n52)) insertChar(buf54,"0")
- toWord(buf54,n52)
- insertRgn(buf54,sFile,"Running total is ",all)
- putMsg(buf54) >
-
- ------------------ These are for columnar data -------------------------
-
- Switch to columnar hilite/invert display mode
- <shftCtl-`: flipFlag(curFile,columnar) refreshDisplay>
-
- Clear hilited column data
- <shftCtl-1: freeBuf(buf37)
- copyColData(buf37,sFile,curFile,hilite,1)
- clearColData(curFile,hilite,0) >
-
- Space-out hilited column data
- <shftCtl-2: clearColData(curFile,hilite,1) >
-
- Copy hilited column data
- <shftCtl-3: if (geLoc(curFile,sHilite,eHilite)) returnFalse
- freeBuf(buf37) copyColData(buf37,sFile,curFile,hilite,1)>
-
- Insert buf37 column data
- <shftCtl-4: copyColData(curFile,atCursor,buf37,all,1)>
-
- Overlay buf37 column data onto current data
- <shftCtl-5: copyColData(curFile,atCursor,buf37,all,0)>
-
- Insert hilite at cursor
- <shftCtl-6: copyColData(curFile,atCursor,curFile,hilite,1)>
-
- Overlay hilite at cursor
- <shftCtl-7: copyColData(curFile,atCursor,curFile,hilite,0)>
-
- ----------------- Interlace Mode -------------------------
-
- Switch to/from interlace
- <shft-esc: flipFlag(curFile,lace)>
-
- Tune the RGB colors in interlace using mouse (Use alt-Help also)
- <alt-esc: laceColor>
-
- <ctl-esc: putMsg("Enter gadget number (1-4):")
- if (not inputNum(n54)) returnFalse
- if (gtNum(n54,4)) returnFalse
- if (gtNum(1,n54)) returnFalse
- putMsg("Enter gadget name (one Space to clear):")
- freeBuf(buf54)
- inputString(buf54)
- if (not isEmpty(buf54)) {
- gadgetName(n54,buf54)
- putMsg(" ")
- } >
-
-
- <shftAltCtl-a:
- getBufNum(n54)
- freeBuf(buf54)
- insertRgn(buf54,sFile,
- "
-
- Uedit V2.0
- Copyright (C) 1986-87, Rick Stiles
- 2420 Summit Springs Drive
- Dunwoody, GA 30350
-
- Uedit V2.0 is ShareWare. Feel free to copy and distribute it to friends and
- bulletin boards. If you like Uedit, become a registered user by sending $25
- cash, check or money order to the above address.
-
- When you register, include the Serial # of the copy you are using. To see
- the Serial # of your copy, select 'Show vals' in the 'Numbers' menu.
-
- You will receive the Manual, a Serial Number, and a $5 bonus for everyone who
- registers off of your copy of Uedit!
-
- (If you've already registered, you'll be sent a Manual update and Serial #.
- If you bought a pre-V1.7 copy of Uedit, send your original disk and $15.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ",all)
- moveCursor(buf54,sFile)
- do (n52,1,5) moveCursor(buf54,eLine)
- equateLoc(buf54,eHilite,atCursor)
- do (n52,1,3) moveCursor(buf54,upLine)
- do (n52,1,36) moveCursor(buf54,sChar)
- equateLoc(buf54,sHilite,atCursor)
- moveCursor(buf54,eFile)
- if (getFlag(curFile,columnar)) equateNum(n51,0)
- else { flipFlag(curFile,columnar) equateNum(n51,1) }
- editBuf(buf54)
- setFileName(buf54," About Uedit...")
- putMsg(" ")
- vScroll(sFile)
- getKey(n53)
- editBuf(buf[n54])
- putMsg(" ")
- if (eqNum(n51,1)) flipFlag(curFile,columnar)
- freeBuf(buf54)
- >
-
- load DU config
- <shftAltCtl-f: freeBuf(buf20) freeBuf(buf21) equateNum(n53,0)
- killKey(shftAltCtl-z)
- newFile
- setFileName(curFile,"Click 2nd Gadget ==> for Directory")
- loadConfig("S:DU-Data!") >
-
- -------------------------- end of Config! ----------------------------------
-
- Erase this when you no longer want to run the demo. Or just erase the left
- angle-bracket so that it won't get compiled.
-
- <shftAltCtl-d: if (loadFile("demo")) { compile runKey(shftAlt-1) } >
-
-
-