home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d7xx
/
d770
/
uedit.lha
/
Uedit
/
Ustar.LZH
/
UstarConfig!A
< prev
next >
Wrap
Text File
|
1992-03-04
|
65KB
|
1,989 lines
System/Miscellaneous
Help key control
General Help: all Ustar key commands, primitive mode, #s, buffers
<normal-help:
equateNum(n99,curFile)
if (not eqNum(n99,79)) {
if (not isEmpty(buf79)) { editBuf(buf79) returnTrue }
insertChar(buf79," ") moveCursor(buf79,sChar) clearChar(buf79) ..a fix
if (not insertFile(buf79,sFile,"UstarHelp!")) {
if (not insertFile(buf79,sFile,"S:UstarHelp!"))
{ putMsg("UstarHelp! not found") freeBuf(buf79) returnFalse } }
editBuf(buf79) flipFlag(buf79,readOnly) flipFlag(buf79,changed) }
else { editBuf(buf[n82]) freeBuf(buf79) }>
Also used as a "no-op" for info-only menu selections
Occasionally, the display isn't fully updated; this refreshes it manually
<ctl-help: refreshDisplay >
Get ASCII help; no discard on toggle (not very big)
Get/toggle ASCII table; entire table fits on screen if in interlace mode.
<shftCtl-help:
equateNum(n99,curFile)
if (not eqNum(n99,78)) {
if (not isEmpty(buf78)) editBuf(buf78)
else {
insertChar(buf78," ") moveCursor(buf78,sChar) clearChar(buf78) ..a fix
if (not insertFile(buf78,sFile,"ASCII")) {
if (not insertFile(buf78,sFile,"S:ASCII"))
{ putMsg("ASCII not found") freeBuf(buf78) returnFalse } }
editBuf(buf78) flipFlag(buf78,readOnly) flipFlag(buf78,changed) } }
else editBuf(buf[n82])>
Get the UstarTutor file to help user learn Ustar editing actions
<alt-u:
loadFile("UstarTutor") if (isEmpty(curFile)) {
equateNum(n99,curFile) editBuf(buf[n82]) freeBuf(buf[n99])
loadFile("s:UstarTutor") if (isEmpty(curFile)) {
equateNum(n99,curFile) editBuf(buf[n82]) freeBuf(buf[n99])
putMsg("UstarTutor not found, or no buffers.")
beepDisplay returnFalse } }
equateNum(n82,curFile)
>
Get the QuickRef file for reference to summary of Uedit command language
<alt-q:
loadFile("UeRef") if (isEmpty(curFile)) {
equateNum(n99,curFile) editBuf(buf[n82]) freeBuf(buf[n99])
loadFile("s:UeRef") if (isEmpty(curFile)) {
equateNum(n99,curFile) editBuf(buf[n82]) freeBuf(buf[n99])
putMsg("UeRef not found, or no buffers.")
beepDisplay returnFalse } }
equateNum(n82,curFile)
>
Display / Windows
Toggle to tiny window from keyboard or menu (same as clicking title window)
<rAmiga-help: toggle(toTiny)>
Get buffer to edit or show, via either number or name. Returns # in n99.
<virtual-b:
equateNum(n99,curFile) .. save current file #
..freeBuf(buf74)
moveCursor(buf74,sFile) equateLoc(buf54,sInvert,eInvert)
inputString(buf74)
if (not isEmpty(buf74)) { .. get buffer ID
moveCursor(buf74,sFile)
if (is(buf74,decimalNum)) toNumber(n99,buf74) .. spec'd via #, get it
else { .. specified via name, figure out number
getMaxFiles(n97) decNum(n97)
freeBuf(buf98)
if (getFlag(buf98,searchCaps)) flipFlag(buf98,searchCaps)
setSearch(buf74)
do (n98,0,n97) {
getFileName(buf98,buf[n98])
moveCursor(buf98,sFile) insertChar(buf98," ")
moveCursor(buf98,sFile)
if (search(buf98,sInvert,eInvert,1)) {
equateNum(n99,n98) goto label(1) } }
label(1)
}
}>
Open a split window, optionally specifying the buffer and size
<alt-v:
putMsg("Enter buffer # or name to show in split window, none for current:")
runKey(virtual-b) .. get buf name/#
freeBuf(buf97) insertRgn(buf97,sFile,
"Enter size in screen lines of window split (default is ",all)
toWord(buf97,splitSize) insertRgn(buf97,atCursor,"; 0 closes):",all)
putMsg(buf97)
if (not inputNum(n98)) equateNum(n98,splitSize)
putMsg(" ")
if (not splitWindow(buf[n99],n98)) {
if (not eqNum(n98,0)) {
putMsg("Can't make window - probably not enough display space!")
returnFalse
}
}
equateNum(n99,curFile) getMaxFiles(n98)
if (not geNum(n99,n98)) equateNum(n82,curFile)
>
Split Kwik - Klone a split window in current buffer, at default split size
<alt-k:
if (not splitWindow(curFile,splitSize)) {
putMsg("Can't make window - probably not enough display space!")
returnFalse }
equateNum(n99,curFile) getMaxFiles(n98)
if (not geNum(n99,n98)) equateNum(n82,curFile)
>
Eliminate active split window from the screen (buffer contents not touched)
<alt-y:
if (not splitWindow(curFile,0)) {
putMsg("No split windows to close!") returnFalse }
equateNum(n99,curFile) getMaxFiles(n98)
if (not geNum(n99,n98)) equateNum(n82,curFile)
>
Make next split window the currently active one (same as clicking in it)
<alt-n: toggle(windowSplit)
equateNum(n99,curFile) getMaxFiles(n98)
if (not geNum(n99,n98)) equateNum(n82,curFile)
>
Set the default size for split windows, in screen lines
<alt-z:
freeBuf(buf99) insertRgn(buf99,sFile,
"Enter default size for split windows, in screen lines (default is ",all)
toWord(buf99,splitSize) insertRgn(buf99,atCursor,"):",all)
putMsg(buf99)
if (inputNum(n99)) if (gtNum(n99,1)) equateNum(splitSize,n99)
>
2.3c: Make current split-window one line bigger
<lAmiga-=:
equateNum(n98,curFile)
getSplitLines(n96,n97) sub(n97,n97,n96) incNum(n97) ..get cur size & increase
splitWindow(curFile,0)
if (not splitWindow(buf[n98],n97)) {
decNum(n97) .. decrement it back
splitWindow(buf[n98],n97)
returnFalse
} >
2.3c: Make current split-window one line smaller
<lAmiga--:
equateNum(n98,curFile)
getSplitLines(n96,n97) decNum(n97) sub(n97,n97,n96) .. cur size - 1
if (gtNum(2,n97)) returnFalse
splitWindow(curFile,0)
splitWindow(buf[n98],n97)
>
Gadget control
Safe Quit: Exits Ustar safely, asking if you want to save any changed files
<normal-closeBox: runKey(shftCtl-x) >
DANGEROUS QUIT!!! - quits IMMEDIATELY! - CHANGES NOT ALREADY SAVED ARE LOST!
<shftAltCtl-closeBox: beepDisplay beepDisplay beepDisplay quit(0) >
Next buffer
<normal-gadget1: runKey(normal-f1) >
Previous buffer
<normal-gadget2: runKey(shft-f1) >
Scroll down - fast
<normal-gadget3: while (mouseDown) { vScroll(downLine) updateDisplay }
if (not onScreen(atCursor)) {
equateLoc(curFile,atCursor,sPage) refreshDisplay }>
Scroll up - fast
<normal-gadget4: while (mouseDown) { vScroll(upLine) updateDisplay }
if (not onScreen(atCursor)) { equateLoc(curFile,atCursor,ePage)
moveCursor(curFile,upLine) refreshDisplay }>
Space bar control
Process space bar to work properly. V2.3, eliminated sLine/File checking.
Space bar; insert mode inserts a space; overstrike replaces char. with space
<normal-space:
if (eqNum(n84,0)) {
if (getFlag(curFile,overStrike)) {
if (is(curFile,eFile)) insertChar(curFile," ")
if (is(curFile,eLine)) insertChar(curFile," ")
else { swapChar(curFile," ") moveCursor(curFile,eChar) } }
else insertChar(curFile," ")
}
else { equateNum(n84,0) putmsg(" ") }
>
Was able to eliminate sFile checking from this command.
Insert a space (useful in OverStrike mode)
<ctl-space: if (eqnum(n84,0)) {
insertChar(curFile," ") moveCursor(curFile,sChar) }
else { equateNum(n84,0) putMsg(" ") }
returnTrue>
Move cursor one character to the right, like right arrow does
<shft-space: moveCursor(curFile,eChar) >
Return Key control
Process return key to work properly. Removed sFile checking v2.3a.
To beginning of next line. Insert mode inserts lines; overstrike doesn't.
<normal-return:
if (getFlag(curFile,overStrike)) {
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
if (is(curFile,eFile)) insertChar(curFile,eLine)
else moveCursor(curFile,eChar) }
else {
insertChar(curFile,eLine)
if (getFlag(curFile,autoIndent)) runKey(shft-return) }
>
Find the line the cursor is on and make that the middle line of the screen
<ctl-return: vScroll(atCursor) >
Uses n99
Match previous line's indentation
<shft-return:
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
if (is(curFile,sFile)) returnFalse
moveCursor(curFile,upLine)
while (nothing) { .. find first printable char on prev line, or eol
if (not is(curFile,space)) if (not is(curFile,9)) goto label(1)
moveCursor(curFile,eChar) } .. ^- checks for Tab char too
label(1)
locToCol(curFile,n99,atCursor) .. save column
moveCursor(curFile,downLine)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
while (nothing) { .. clear leading space from this line
if (not is(curFile,space)) if (not is(curFile,9)) goto label(2)
clearChar(curFile) }
label(2)
decNum(n99)
while (decNum(n99)) insertChar(curFile," ") .. and indent it to match
>
F1 - files
Next buffer
<normal-f1:
equateNum(n99,curFile)
getMaxFiles(n98)
if (geNum(n99,n98)) {
editBuf(buf[n82])
}
else {
toggle(curFile)
equateNum(n82,curFile)
}>
Previous buffer
<shft-f1:
equateNum(n99,curFile)
getMaxFiles(n98) decNum(n98)
while (nothing) {
if (gtNum(n99,n98)) equateNum(n99,n82) .. if in global buf, back to ebuf
decNum(n99)
if (gtNum(0,n99)) equateNum(n99,n98)
if (not isEmpty(buf[n99])) {
editBuf(buf[n99]) equateNum(n82,curFile) returnTrue } } >
View all non-empty global (internal use) buffers one by one
<ctl-f1: equateNum(n97,curFile) getMaxFiles(n96)
do (n99,n96,99) if (not isEmpty(buf[n99])) {
editBuf(buf[n99]) vScroll(sFile)
putMsg("Buffer view: F1=Next, F2=Edit, F3=Cancel")
getKey(n98)
if (eqNum(n98,normal-f2)) { putMsg(" ") returnTrue }
if (eqNum(n98,normal-f3)) { editBuf(buf[n97]) putMsg(" ") returnTrue }
}
putMsg(" ")
>
Swap current buffer with swap buffer (buffer 80)
<alt-f1: swapBuf(curFile,buf80)
getMaxFiles(n98) equateNum(n99,curFile)
if (not geNum(n99,n98)) equateNum(n82,curFile)>
Edit specific buffer, specifying by name or #
<altCtl-f1: putMsg("Edit buffer # or name:")
runKey(virtual-b) .. get buf name/#
editBuf(buf[n99])
getMaxFiles(n98) if (not geNum(n99,n98)) equateNum(n82,curFile) .. set as current
>
Execute AmigaDOS command and collect results
<shftCtl-f1:
putMsg("AmigaDOS command:")
movecursor(buf75,eFile)
inputString(buf75) if (isEmpty(buf75)) returnFalse
freeBuf(buf82) if (not execute(buf82,buf75)) {
putMsg("Error - AmigaDOS rejected command.") beepDisplay returnFalse }
if (not isEmpty(buf82))
{ putMsg("AmigaDOS result:") editBuf(buf82) }
else
{ putMsg("AmigaDOS returned no message.")
editBuf(buf[n82]) freeBuf(buf82) }
returnTrue>
Execute AmigaDOS command without getting anything back from DOS
<shft-f5:
putMsg("AmigaDOS command:")
movecursor(buf75,eFile)
inputString(buf75) if (isEmpty(buf75)) returnFalse
if (not execute(" ",buf75)) {
putMsg("DOS command error") beepDisplay returnFalse }
returnTrue>
DANGEROUS QUIT!!! - quits IMMEDIATELY! - CHANGES NOT ALREADY SAVED ARE LOST!
<shftAltCtl-f1: beepDisplay beepDisplay beepDisplay quit(0) >
n96 # files, n97 tot. size, n99 loop cntr, n95 maxfiles, n98 temp
Show all edit buffers that are in use, summarize info
<shftAlt-f1: freeBuf(buf97) insertRgn(buf97,sFile,"Getting info...",all)
freeBuf(buf99)
runKey(virtual-s)
insertRgn(buf99,atCursor,"
# Buffer Name Changed? Size (Bytes)
** Non-Empty Edit Buffers **
", all)
getMaxFiles(n95) decNum(n95)
equateNum(n97,0) equateNum(n96,0)
do(n99,0,n95) {
if (not isEmpty(buf[n99])) {
add(n96,n96,1) freeBuf(buf98)
toWord(buf97,n99) insertChar(buf97,",") putMsg(buf97)
getFileName(buf98,buf[n99]) moveCursor(buf98,sFile)
toWord(buf98,n99) insertChar(buf98," ")
if (not geNum(n99,10)) insertChar(buf98," ")
moveCursor(buf98,sFile)
do (n98,1,45) {
if (is(buf98,eFile)) insertChar(buf98," ")
else moveCursor(buf98,eChar) }
if (getFlag(buf[n99],changed)) insertRgn(buf98,atCursor,"Yes ",all)
else insertRgn(buf98,atCursor," - ",all)
FileSize(buf[n99],n98) toWord(buf98,n98) add(n97,n97,n98)
insertChar(buf98,eLine)
insertRgn(buf99,atCursor,buf98,all)
}
}
moveCursor(buf99,eFile) insertChar(buf99,eLine)
toWord(buf99,n96) if(not geNum(n96,10)) insertChar(buf99," ")
insertRgn(buf99,atCursor,
" <-- Totals --> ",all)
toWord(buf99,n97)
if (not isEmpty(buf80)) insertRgn(buf99,atCursor,"
** NOTE: The swap buffer (# 80) is not empty **",all)
..moveCursor(buf99,sFile) editBuf(buf99) vScroll(atCursor)
..using the below instead of above JUST to get rid of stupid display flicker
freeBuf(buf98) insertChar(buf98," ") moveCursor(buf98,sFile)
insertRgn(buf98,eFile,buf99,all) freeBuf(buf99) editBuf(buf98)
putMsg("F1 resumes")
>
Routine used by virtual-s to save a few bytes
<virtual-space: if (gtNum(10,n99)) insertChar(buf99," ")
insertChar(buf99," ")>
Called by SA-F1 to show global flag status
<virtual-s:
insertRgn(buf99,atCursor,"
MaxFiles SPEAK:Alerts :Pitch End-of-Line Prim.mode.Esc GlobalB<User>LocB
| SplitSize |:Msgs | | EitherOr | Spooks | Beep TrueTabs |
| | IdleTime | |:Speed | | | WildCard | | PrintSel | | AutoSave | |
| | | Serial#| | | :Mode| | | | CmdMult| | | UseKeys| | | Icons | |
",all)
..no show, obvious from display:
.. busies, columnar, teachKeys, markGadgets, lace, cram, rowCol, learnMode
..used internally: searchCaps
getMaxFiles(n99) toWord(buf99,n99) runKey(virtual-space)
toWord(buf99,splitSize) equateNum(n99,splitSize) runKey(virtual-space)
toWord(buf99,idleTime) equateNum(n99,idleTime) runKey(virtual-space)
if (gtNum(100,n99)) insertChar(buf99," ")
if (gtNum(1000,n99)) insertChar(buf99," ")
getSerialNum(n99) freeBuf(buf98) toWord(buf98,n99)
fileSize(buf98,n98) do (n97,n98,6) insertChar(buf98," ")
insertRgn(buf99,atCursor,buf98,all) moveCursor(buf99,eLine)
if (getFlag(curFile,speakAlerts)) insertChar(buf99,"Y")
else insertChar(buf99,"n")
insertChar(buf99," ")
if (getFlag(curFile,speakMsgs)) insertChar(buf99,"Y")
else insertChar(buf99,"n")
insertChar(buf99," ")
toWord(buf99,0) equateNum(n99,0) runKey(virtual-space)
if (gtNum(100,n99)) insertChar(buf99," ")
toWord(buf99,0) insertRgn(buf99,atCursor," ",all)
toWord(buf99,0) equateNum(n99,0) runKey(virtual-space)
if (gtNum(100,n99)) insertChar(buf99," ")
insertChar(buf99,eLine) moveCursor(buf99,sChar) copyChar(buf99,n99)
clearChar(buf99) toWord(buf99,n99) runKey(virtual-space)
insertChar(buf99,eitherOr) insertChar(buf99," ")
insertChar(buf99,wildCard) insertChar(buf99," ")
toWord(buf99,cmdMultiplier) equateNum(n99,cmdMultiplier) runKey(virtual-space)
if (gtNum(100,n99)) insertChar(buf99," ")
if (gtNum(1000,n99)) insertChar(buf99," ")
insertChar(buf99," ") insertChar(buf99," ")
toWord(buf99,pmEsc) equateNum(n99,pmEsc) runKey(virtual-space)
if (getFlag(curFile,spooks)) insertChar(buf99,"Y") else insertChar(buf99,"n")
insertChar(buf99," ")
toWord(buf99,prefPrint) insertChar(buf99," ")
if (getFlag(curFile,useKeys)) insertChar(buf99,"Y") else insertChar(buf99,"n")
insertRgn(buf99,atCursor," ",all)
if (getFlag(curFile,userGlobalB)) insertChar(buf99,"Y")
else insertChar(buf99,"n")
insertChar(buf99," ")
if (getFlag(curFile,userGlobalA)) insertChar(buf99,"Y")
else insertChar(buf99,"n")
insertChar(buf99," ")
if (getFlag(curFile,userLocalA)) insertChar(buf99,"Y")
else insertChar(buf99,"n")
insertChar(buf99," ")
if (getFlag(curFile,icons)) insertChar(buf99,"Y") else insertChar(buf99,"n")
insertRgn(buf99,atCursor," ",all)
if (getFlag(curFile,trueTabs)) insertChar(buf99,"Y") else insertChar(buf99,"n")
insertChar(buf99," ")
if (getFlag(curFile,userLocalB)) insertChar(buf99,"Y")
else insertChar(buf99,"n")
..insertChar(buf99," ")
>
F2 - favorites
Switch to next file that has its "Favorite" flag set, if any
<normal-f3: toggle(favorite)
getMaxFiles(n98) equateNum(n99,curFile)
if (not geNum(n99,n98)) equateNum(n82,curFile) .. set as current
>
Toggle the "Favorite" flag setting of current file on/off (for sets of files)
<shft-f3: flipFlag(curFile,favorite)
if (getFlag(curFile,favorite)) putMsg("Fave") else putMsg("Norm")
returnTrue>
Clear the "Favorite" flag of all files
<alt-f3: putmsg("No Faves")
do (n99,0,99)
if (getFlag(buf[n99], favorite)) flipFlag(buf[n99], favorite)
putMsg(" ") returnTrue >
Colors/Screens
<defines:
define(N_0 ,n0)
define(N_1 ,n1)
define(N_2 ,n2)
define(N_3 ,n3)
define(N_4 ,n4)
define(N_5 ,n5)
define(N_6 ,n6)
define(N_7 ,n7)
define(N_8 ,n8)
define(N_9 ,n9)
define(N_10 ,n10)
define(N_11 ,n11)
define(N_12 ,n12)
define(N_13 ,n13)
define(N_14 ,n14)
define(N_15 ,n15)
define(N_16 ,n16)
define(N_17 ,n17)
define(N_18 ,n18)
define(n_19 ,n19)
define(B_0 ,buf50)
define(B_1 ,buf51)
define(B_2 ,buf52)
define(B_3 ,buf53)
define(B_4 ,buf54)
define(COLUMNAR_BUF ,buf37)
define(DIR_NAMES ,buf38)
define(SWAP_BUF ,buf41)
define(FILE_NAME ,buf43)
define(UNDO_BUF ,buf45)
define(INVERT_BUF ,buf46)
define(HILITE_BUF ,buf47)
define(REPLACE_TXT ,buf48)
define(SEARCH_STR ,buf49)
define(BUF_99 ,buf99)
define(BSTACK_99 ,buf99) .. note buf99 isn't really used
define(NSTACK_99 ,n99) .. note n99 isn't really used
define(Eat_MouseUp_Input ,624)
>
Set colors
<alt-help:
inputKey(N_5)
while (nothing) {
gosub label(0)
putMsg("# of color (0-15) to change (ESC=quit):")
if (!inputNum(N_5)) {
refreshDisplay
putMsg("")
return
}
if (geNum(N_5,0) & geNum(15,N_5)) {
putMsg("Fg color value (0-3)?")
inputNum(N_7)
if (geNum(N_7,0) & geNum(3,N_7)) {
putMsg("Bg color value (0-3)?")
inputNum(N_6)
if (geNum(N_6,0) & geNum(3,N_6)) {
if (eqNum(N_6,N_7)) {
putMsg("Fg == Bg is NOT ALLOWED")
delay(10)
} else {
setColors(curFile,N_5,N_7,N_6)
setColors(" ",N_5,N_7,N_6) .. so new buf's inherit these
}
if (eqNum(N_5,8)) {
toggle(toTiny)
toggle(toTiny)
}
if (eqNum(N_5,10)) runKey(startup)
updateDisplay
}
}
}
}
label(0) ..subroutine to demonstrate current color settings
equateNum(N_3,1)
equateNum(N_5,0)
do (N_4,2,21) {
text("",N_4,18,N_3,41)
if (gtNum(N_4,3) & gtNum(21,N_4) & !eqNum(N_4,12)) {
if (gtNum(N_5,9)) text(N_5,N_4,19,N_3,0)
else text(N_5,N_4,20,N_3,0)
text("< > < >",N_4,49,N_3,0)
incNum(N_5)
}
}
equateNum(N_0,0)
do (N_4,4,20) {
if (!eqNum(N_4,12)) {
getColors(curFile,N_0,N_1,N_2)
text(N_1,N_4,50,N_3,0)
text(N_2,N_4,55,N_3,0)
incNum(N_0)
}
}
text("# ((( For Files ))) Fg Bg",3,20,N_3,0)
text("normal text", 4,23,0,0)
text("cursor", 5,23,1,0)
text("hilite", 6,23,2,0)
text("cursor + hilite", 7,23,3,0)
text("invert", 8,23,4,0)
text("invert+cursor", 9,23,5,0)
text("hilite+invert", 10,23,6,0)
text("cursor+hilite+invert", 11,23,7,0)
text(" ((( For Screen )))",12,20,N_3,0)
text("title bar", 13,23,8,0)
text("msg line", 14,23,9,0)
text("menus", 15,23,10,0)
text("tab ruler", 16,23,11,0)
text("requester", 17,23,12,0)
text("formfeed", 18,23,13,0)
text("spare1", 19,23,14,0)
text("spare2", 20,23,15,0)
>
Change the RGB color register values
<alt-esc:
define(Reg0 ,N_0) ..NOTE: register n-vars must be contiguous (N_10-N_13)
define(Reg1 ,N_1)
define(Reg2 ,N_2)
define(Reg3 ,N_3)
define(KReg0 ,N_14)
define(KReg1 ,N_15)
define(KReg2 ,N_16)
define(KReg3 ,N_17)
define(REGISTER ,N_6)
define(CURCOLOR ,N_7)
define(REG_NUM ,N_10)
define(OFFSET ,N_11)
define(ROW ,N_12)
define(RGB_RED ,N_13)
define(RGB_GREEN ,N_4)
define(RGB_BLUE ,N_5)
define(COLOR_1 ,2)
define(COLOR_2 ,1)
define(XN_10 ,N_8)
define(XN_11 ,N_9)
define(TUNE_COLOR,label(0))
define(COLORMSG ,label(1))
define(FINISHED ,label(2))
getRGB(Reg0,Reg1,Reg2,Reg3)
getRGB(KReg0,KReg1,KReg2,KReg3)
do (ROW,1,15) text("",ROW,15,COLOR_1,49)
text(">>>> Tune RBG Color Registers <<<<",2,23,COLOR_2,0)
text("R:",5,18,COLOR_1,0)
text("G:",6,18,COLOR_1,0)
text("B:",7,18,COLOR_1,0)
text("Test Test ",9,20,1,0)
text("Test Test ",9,-1,2,0)
text("Test Test ",9,-1,3,0)
text("Test Test ",9,-1,4,0)
text(" ARROW keys: new selection",11,20,COLOR_1,0)
text("SHIFT ARROW keys: inc/dec color value",12,20,COLOR_1,0)
text(" ESC/Q/CLICK: use new colors",13,20,COLOR_1,0)
text(" any other key: restore old colors",14,20,COLOR_1,0)
equateNum(REGISTER,0)
equateNum(CURCOLOR,0)
while (inputKey(XN_10)) nothing
while (nothing) {
GOSUB COLORMSG
getKey(XN_10)
switch (XN_10) {
case(normal-buttonDown)
case(normal-esc)
case(normal-q) { GOTO FINISHED }
case(normal-upArrow)
{ decNum(CURCOLOR)
if (gtNum(0,CURCOLOR)) equateNum(CURCOLOR,2) }
case(normal-downArrow)
{ incNum(CURCOLOR)
if (gtNum(CURCOLOR,2)) equateNum(CURCOLOR,0) }
case(normal-leftArrow)
{ decNum(REGISTER)
if (gtNum(0,REGISTER)) equateNum(REGISTER,3) }
case(normal-rightArrow)
{ incNum(REGISTER)
if (gtNum(REGISTER,3)) equateNum(REGISTER,0) }
case(shft-upArrow)
{ equateNum(XN_11,1) GOSUB TUNE_COLOR }
case(shft-downArrow)
{ equateNum(XN_11,-1) GOSUB TUNE_COLOR }
case(shft-leftArrow)
{ equateNum(XN_11,-1) GOSUB TUNE_COLOR }
case(shft-rightArrow)
{ equateNum(XN_11,1) GOSUB TUNE_COLOR }
default { setRGB(KReg0,KReg1,KReg2,KReg3)
GOTO FINISHED }
}
while (inputKey(XN_10)) nothing
}
FINISHED
putMsg(" ") putMsg("")
fullRefresh
return
TUNE_COLOR ..SUBROUTINE to inc/dec a register color value
equateNum(XN_10,n[REGISTER])
and(RGB_BLUE,XN_10,15) div(XN_10,XN_10,16)
and(RGB_GREEN,XN_10,15) div(XN_10,XN_10,16)
and(RGB_RED,XN_10,15)
switch(CURCOLOR) {
case(0) { equateNum(XN_10,RGB_RED) }
case(1) { equateNum(XN_10,RGB_GREEN) }
case(2) { equateNum(XN_10,RGB_BLUE) }
}
add(XN_10,XN_10,XN_11)
if (gtNum(XN_10,15)) equateNum(XN_10,0)
else if (gtNum(0,XN_10)) equateNum(XN_10,15)
switch(CURCOLOR) {
case(0) { equateNum(RGB_RED,XN_10) }
case(1) { equateNum(RGB_GREEN,XN_10) }
case(2) { equateNum(RGB_BLUE,XN_10) }
}
equateNum(XN_10,RGB_RED)
mul(XN_10,XN_10,16)
or(XN_10,XN_10,RGB_GREEN)
mul(XN_10,XN_10,16)
or(XN_10,XN_10,RGB_BLUE)
equateNum(n[REGISTER],XN_10)
return
COLORMSG ..SUBROUTINE to setRGB & display RGB color register contents
setRGB(Reg0,Reg1,Reg2,Reg3)
do (REG_NUM,0,3) {
equateNum(ROW,4)
mul(OFFSET,REG_NUM,10)
add(OFFSET,OFFSET,22)
text("Reg ",ROW,OFFSET,COLOR_1,0)
text(REG_NUM,ROW,-1,COLOR_1,0)
text(":",ROW,-1,COLOR_1,0)
incNum(ROW)
equateNum(XN_10,n[REG_NUM])
and(RGB_BLUE,XN_10,15) div(XN_10,XN_10,16)
and(RGB_GREEN,XN_10,15) div(XN_10,XN_10,16)
and(RGB_RED,XN_10,15)
equateNum(XN_10,COLOR_1)
if (eqNum(CURCOLOR,0) & eqNum(REG_NUM,REGISTER)) equateNum(XN_10,COLOR_2)
text(" ",ROW,OFFSET,COLOR_1,0)
text(RGB_RED,ROW,OFFSET,XN_10,0)
incNum(ROW)
equateNum(XN_10,COLOR_1)
if (eqNum(CURCOLOR,1) & eqNum(REG_NUM,REGISTER)) equateNum(XN_10,COLOR_2)
text(" ",ROW,OFFSET,COLOR_1,0)
text(RGB_GREEN,ROW,OFFSET,XN_10,0)
incNum(ROW)
equateNum(XN_10,COLOR_1)
if (eqNum(CURCOLOR,2) & eqNum(REG_NUM,REGISTER)) equateNum(XN_10,COLOR_2)
text(" ",ROW,OFFSET,COLOR_1,0)
text(RGB_BLUE,ROW,OFFSET,XN_10,0)
incNum(ROW)
}
>
<defines: >
Switch to/from interlace mode
<shft-esc: flipFlag(curFile,lace)>
TAB Stuff
Tabs enter into document as Tab code (ASCII 9) when On, as spaces when Off
<ctl-tab: flipFlag(curFile,trueTabs)
if (getFlag(curFile,trueTabs)) putMsg("Real Tabs")
else putMsg("Tabs as Spaces")
refreshDisplay>
Tab Key
WS tabs are totally different than UE tabs. WS has overstrike tabs: if you
tab past the current end of text on a line, it will insert spaces up to the
next tab stop (as long as line length isn't exceeded, and not already on the
last tab stop) and if this puts it at the end of a file, it will insert an
end of line. This is as opposed to UE tabs, which are always in insert mode
and will jump to the next line if you tab past existing text.
n98 is used for two things: eol/eof switch in overstrike, and
as a "spaces have been inserted" flag
n97 is used for determining cursor column
n99 holds current local line length
Tab to next tab stop; insert mode inserts, overstrike transparent to text
<normal-tab:
.. if truetabs on, no processing at all, just put in tab char
if (getFlag(curFile,trueTabs)) { insertChar(curFile,9) return }
.. set up transition flag: n98 > 5 means on end of line/file, else is on char
equateNum(n98,0)
if (is(curFile,eLine)) equateNum(n98,5)
if (is(curFile,eFile)) equateNum(n98,10)
getLocal(curFile,n99,lineLength)
.. main tab code
if (getFlag(curFile,overStrike)) {
while (nothing) {
label(1)
if (eqNum(n98,0)) moveCursor(curFile,eChar)
else insertChar(curFile," ")
if (is(curFile,tabColumn)) return .. usual exit
locToCol(curFile,n97,atCursor)
if (geNum(n97,n99)) goto label(2) .. greater than line length
if (eqNum(n98,0)) { .. see if have run into eol or eof, flag
if (is(curFile,eLine)) equateNum(n98,5)
if (is(curFile,eFile)) equateNum(n98,10)
if (gtNum(n98,0)) equateLoc(curFile,locA,atCursor)
}
}
}
else {
equateNum(n98,5) equateLoc(curFile,locA,atCursor)
while (insertChar(curFile," ")) {
if (is(curFile,tabColumn)) return
locToCol(curFile,n97,atCursor)
if (geNum(n97,n99)) goto label(2)
}
}
.. end of line/file exception handling
label(2)
while (nothing) { .. clear inserted spaces/get to previous tab col.
moveCursor(curFile,sChar)
if (gtNum(n98,0)) if (geLoc(curFile,atCursor,locA)) clearChar(curFile)
if (is(curFile,tabColumn)) goto label(3)
}
label(3)
if (eqNum(n98,10)) {
moveCursor(curFile,eFile) insertChar(curFile,eLine) return }
if (getFlag(curFile,overStrike)) {
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
moveCursor(curFile,downLine) }
else insertChar(curFile,eLine)
>
Transparent Tab backward
<alt-tab: moveCursor(curFile,sTab)>
Transparent Tab forward
<shft-tab: moveCursor(curFile,eTab)>
Back-Tab - destructive Tab backward
<altCtl-tab:
if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf86)
equateLoc(curFile,locB,atCursor)
moveCursor(curFile,sTab)
equateLoc(curFile,locA,atCursor) insertRgn(buf86,sFile,curFile,loc)
clearRgn(curFile,loc)
if (not is(curFile,sFile)) returnTrue else returnFalse>
Convert tabs to spaces in entire current doc, using current tab stops
<shftCtl-tab: tabsToSpaces(curFile)>
Convert spaces to tabs, using current tab stops (is slow)
<shftAlt-tab: spacesToTabs(curFile)>
Tell how to see hard tabs
<virtual-tab: putMsg("Use the Block Columnar mode to view Hard Tabs")>
Backspace stuff
Delete word left
<ctl-bs:
if (not eqLoc(curFile,locB,atCursor)) freeBuf(buf86)
equateLoc(curFile,locB,atCursor) moveCursor(curFile,sWord)
equateLoc(curFile,locA,atCursor) insertRgn(buf86,sFile,curFile,loc)
clearRgn(curFile,loc)
if (is(curFile,sFile)) returnFalse else returnTrue >
Transparent backspace, like left arrow
<shft-bs: moveCursor(curFile,sChar)>
Command Stuff
Compile next single command
<normal-f6: compile(curFile) >
Switch to/from buffer 81 to write temporary commands
<shft-f6: equateNum(n99,curFile)
if (not eqNum(n99,81)) {
editBuf(buf81) refreshDisplay
putMsg("Type command, e.g. <alt-m: toggle(color) > ; F6 to compile") }
else editBuf(buf[n82])
returnTrue >
Save current configuration to disk Data! file
<alt-f6: if (askYesNo("Save Data File?")) {
putMsg("Filename (none for Data! or last saved):")
freeBuf(buf99) inputString(buf99)
if (not saveConfig(buf99)) {
putMsg("ERROR - Couldn't save Data! file.") beepDisplay returnFalse
} } >
Reconfigure UEdit - load new Data! file from disk
<ctl-f6: if (askYesNo("Load Data File?")) {
putMsg("Filename (none for Data! or last saved):")
freeBuf(buf99) inputString(buf99)
if (not loadConfig(buf99)) {
putMsg("ERROR - Couldn't get Data! file.") beepDisplay returnFalse
} } >
Reload default values listed at the top of UstarConfig!
<altCtl-f6: putMsg("Reloading defaults") moveCursor(curFile,sFile)
if (not compileDefaults(curFile)) {
putMsg("Couldn't reload defaults for some reason")
beepDisplay returnFalse
}
else putmsg(" ")
>
Learn Stuff
See section below on ctl-1 and ctl-2 for further Learn commands
Save learn-sequence to disk
<alt-1: putMsg("Save Learn as what #?:") if (inputNum(n99))
if (not saveLearn(n99)) {
putMsg("ERROR - Couldn't save Learn file.") beepDisplay returnFalse
} >
Load a learn-sequence from disk, then run it
<alt-2: putMsg("Learn # to load & run:")
if (inputNum(n99)) {
if (not loadLearn(n99)) {
putMsg("ERROR - Couldn't load Learn file.") beepDisplay returnFalse }
else runLearn
} >
Find/Replace
Search forward/backward, all/one, ask/no ask, ignore case, n# via options
<virtual-kp6:
putMsg("..searching..")
setSearch(buf89)
mod(n97,n81,13) if (not eqNum(n97,0)) {
mod(n97,n81,7) if (eqNum(n97,0)) {
mod(n97,n81,2) if (eqNum(n97,0))
moveCursor(curFile,eFile) else moveCursor(curFile,sFile)
mod(n97,n81,11) if (eqNum(n97,0)) equateNum(n83,99999999) } }
mod(n97,n81,7) if (eqNum(n97,0)) {
mod(n97,n81,13) if (not eqNum(n97,0)) mul(n81,n81,13) }
label(3)
mod(n97,n81,2) if (not eqNum(n97,0)) {
if (eqLoc(curFile,atCursor,eInvert)) moveCursor(curFile,sChar)
if (search(curFile,sInvert,eInvert,1)) goto label(1)
goto label(4) }
else {
if (search(curFile,sInvert,eInvert,1)) goto label(1)
goto label(4) }
label(4)
freeBuf(buf99) insertRgn(buf99,sFile,"Find failed: ",all)
insertRgn(buf99,eFile,buf89,all) putMsg(buf99)
equateLoc(curFile,sInvert,eInvert) returnFalse
label(1)
mod(n97,n81,11) if (eqNum(n97,0)) {
mod(n97,n81,5) if (not eqNum(n97,0)) {
if (not onScreen(atCursor)) vScroll(atCursor) refreshDisplay
if (not askYesNo("Replace? (Amiga-ESC aborts)")) goto label(2) }
clearRgn(curFile,invert)
insertRgn(curFile,sInvert,buf88,all)
mod(n97,n81,2) if (eqNum(n97,0)) moveCursor(curFile,eChar) }
label(2)
if (not eqNum(n83,0)) {
decNum(n83)
putMsg("Amiga-ESC stops")
mod(n97,n81,17) if (not eqNum(n97,0)) {
if (not onScreen(atCursor)) vScroll(atCursor) refreshDisplay }
goto label(3) }
putMsg(" ")
returnTrue>
Get Find/Replace options.
n81 contains options as prime #s, so that mod() can determine active options;
initialized to 1 by ^QF or 11 by ^QA.
Chr Val Active (Chr present) Inactive (Chr not present)
B 2 Search Backward Search Forward
U 3 Ignore case Case must match
N 5 No ask on replace Ask for each replace
g/G 7 Global (if Replace, do all) From cursor only
- 11 Find/Replace (^QA) Find only (^QF)
- 13 internal init flag for proper global control so ^L works right
G 17 No display update (capital G) Update display (lowercase g)
n83 contains repeat value, or 0
buf97, n97 scratch
Get options for find/replace
<virtual-kp5:
putMsg("Options: (B)ackwd (U)ignore-case (N)o-ask (g/G)lobal (#)times")
moveCursor(buf87,sFile) while (is(buf87,space)) clearChar(buf87)
equateLoc(buf87,sInvert,eInvert)
moveCursor(buf87,sFile) inputString(buf87)
moveCursor(buf87,sFile) insertChar(buf87," ") moveCursor(buf87,sFile)
if (getFlag(buf87,searchCaps)) flipFlag(buf87,searchCaps)
moveCursor(buf87,sFile)
setSearch("B")
if (search(buf87,sInvert,eInvert,1)) mul(n81,n81,2)
moveCursor(buf87,sFile)
setSearch("U")
if (search(buf87,sInvert,eInvert,1)) mul(n81,n81,3)
moveCursor(buf87,sFile)
setSearch("N")
if (search(buf87,sInvert,eInvert,1)) mul(n81,n81,5)
flipFlag(curFile,searchCaps)
moveCursor(buf87,sFile)
setSearch("g")
if (search(buf87,sInvert,eInvert,1)) mul(n81,n81,7)
moveCursor(buf87,sFile)
setSearch("G")
if (search(buf87,sInvert,eInvert,1)) {
mul(n81,n81,7) mul(n81,n81,17) }
flipFlag(curFile,searchCaps)
mod(n97,n81,3) if (eqNum(n97,0)) {
if (getFlag(curFile,searchCaps)) flipFlag(curFile,searchCaps) }
else { if (not getFlag(curFile,searchCaps)) flipFlag(curFile,searchCaps) }
equateNum(n83,0)
moveCursor(buf87,sFile)
freeBuf(buf99) insertChar(buf99," ")
while (not is(buf87,eFile)) {
if (is(buf87,digit)) {
while (is(buf87,digit)) { insertRgn(buf99,eFile,buf87,char)
movecursor(buf87,eChar) }
moveCursor(buf99,sFile) moveCursor(buf99,eChar)
toNumber(n83,buf99) decNum(n83) goto label(1) }
moveCursor(buf87,eChar) }
label(1)
runKey(virtual-kp6) returnTrue >
ESC Key handling
n85 flag current macro mode
0-9 macros are learn48-learn57; A-Z macros are learn65-learn90
To emulate WS4 macro key capability
<normal-esc:
label(1)
putMsg("$,= last math ! time @ date macros: A-Z,0-9 def ? undef Spc,Rtn exit")
if (not getFlag(curFile,useKeys)) flipFlag(curFile,useKeys)
getChar(n99)
flipFlag(curFile,useKeys)
if (eqNum(n99,20)) { putMsg(" ") return } .. space exit
if (eqNum(n99,10)) { putMsg(" ") return } .. return exit
if (eqNum(n99,36)) { runKey(alt-\) return } .. $
if (eqNum(n99,61)) { runKey(alt-\) return } .. =
if (eqNum(n99,33)) { .. !
equateNum(n99,2) if (not runKey(virtual-d)) returnFalse
insertRgn(curFile,atCursor,buf82,invert)
}
if (eqNum(n99,64)) { .. @
equateNum(n99,3) if (not runKey(virtual-d)) returnFalse
insertRgn(curFile,atCursor,buf82,invert)
}
equateNum(n85,0)
if (eqNum(n99,63)) { .. ?
putMsg("Enter macro to undefine A-Z, 0-9; or ? to see disk; Space/Return exit")
if (not getFlag(curFile,useKeys)) flipFlag(curFile,useKeys)
getChar(n99)
flipFlag(curFile,useKeys)
equateNum(n85,-1) }
if (eqNum(n99,63)) { .. ? view all
freeBuf(buf82) putMsg("Getting info on Learn macro files from disk...")
if (not execute(buf82,"List p=learn??!")) {
putMsg("Couldn't do DOS List") returnFalse }
insertRgn(buf82,sFile,"
F1 to resume
",all) freeBuf(buf98) insertChar(buf98," ") .. fix vscroll
insertRgn(buf98,eFile,buf82,all) moveCursor(buf98,sFile) .. fix vscroll
editBuf(buf98)
return }
if (geNum(n99,48)) if (geNum(57,n99)) goto label(3) .. #s 0-9
if (geNum(n99,97)) if (geNum(122,n99)) sub(n99,n99,32) .. lc->uc convert
if (geNum(n99,65)) if (geNum(90,n99)) { .. is alpha/#, do macro
label(3)
if (not eqNum(n85,0)) { freeBuf(buf99) .. delete macro
insertRgn(buf99,sFile,"Delete Learn!",all)
moveCursor(buf99,sChar) toWord(buf99,n99)
if (not execute(buf82,buf99)) {
putMsg("Couldn't do Delete") return }
else {
insertRgn(buf99,sFile,"Done OK: ",all) putMsg(buf99)
delay(5) goto label(1) }
}
if (not loadLearn(n99)) { .. load/run existing or define new
if (not getFlag(curFile,learnMode)) { equateNum(n85,n99)
putMsg("**Learn Started!** Ctl-2 ends/saves Learn macro; Ctl-1 aborts")
flipFlag(curFile,learnMode) return }
}
else { runLearn return }
}
putMsg(" ")
>
Get date, return in various formats. n99: 1 all 2 time 3 date&day 4 date-only
<virtual-d: freeBuf(buf82) if (execute(buf82,"Date")) {
moveCursor(buf82,eFile)
moveCursor(buf82,sChar) equateLoc(buf82,eInvert,atCursor)
do(n98,1,8) moveCursor(buf82,sChar)
if (eqNum(n99,1)) equateLoc(buf82,sInvert,sFile)
if (eqNum(n99,2)) equateLoc(buf82,sInvert,atCursor)
if (geNum(n99,3)) { moveCursor(buf82,sChar)
equateLoc(buf82,eInvert,atCursor)
equateLoc(buf82,sInvert,sFile) }
if (eqNum(n99,4)) {
do(n98,1,9) moveCursor(buf82,sChar)
equateLoc(buf82,sInvert,atCursor) }
returnTrue }
else { putMsg("DOS Date not available") returnFalse }
>
Miscellaneous
Open empty unnamed buffer
<alt-o:
if(not newfile) {
putmsg("No more Edit Buffers available! Free some up.")
beepDisplay returnFalse }
else equateNum(n82,curFile)>
Save changed files during idle periods, if their idle-save flag is set
<idle:
putMsg("Idle time reached - checking for files to save!!")
getMaxFiles(n97) decNum(n97)
do (n99,0,n97)
if (not inputWaiting)
if (getflag(buf[n99],changed))
if (getflag(buf[n99],userLocalA)) saveFile(buf[n99])
>
View/Set values
Set the maximum number of edit buffers
<altCtl-kp0: freeBuf(buf99) insertRgn(buf99,sFile,
"Max. number of edit buffers (files) you can have open at once (now ",all)
getMaxFiles(n99) toWord(buf99,n99) insertChar(buf99,")")
putMsg(buf99)
if (inputNum(n99)) if (gtNum(n99,0)) {
.. !SHARE - To enable the full version, put two dots in front of the next
.. two lines (with ..S at the end of them) and remove the 3 characters ..F
.. from the front of the following two lines, then recompile UstarConfig!
if (gtNum(n99,5)) { putMsg( ..S
"More than 5 bufs requires registering Uedit, see Help - About") ..S
..F if (gtNum(n99,70)) { putMsg(
..F"More than 70 bufs requires changing/recompiling Ustar, see docs.")
beepDisplay returnFalse }
else setMaxFiles(n99) }
putMsg(" ") >
Set the idle time (currently used only for the auto-save function)
<altCtl-kp9: freeBuf(buf99) insertRgn(buf99,sFile,
"Idle time (for auto-save function) ( 1-9999; now ",all)
equateNum(n99,idleTime) toWord(buf99,n99) insertChar(buf99,"):")
putMsg(buf99)
if (inputNum(n99)) if (gtNum(n99,0)) equateNum(idleTime,n99)
putMsg(" ") >
Give the ASCII value of character at cursor
<altCtl-h: copyChar(curFile,n99) freeBuf(buf99) toWord(buf99,n99)
insertRgn(buf99,sFile,"ASCII decimal value is: ",all) putMsg(buf99)
>
Set new wildcard character
<shftCtl-kp1:
putMsg("Wildcard char:") freeBuf(buf99)
insertChar(buf99,wildCard) moveCursor(buf99,sFile)
if (inputString(buf99)) { moveCursor(buf99,sFile) copyChar(buf99,wildCard) }
returnTrue>
Set new either-or character
<shftAlt-kp1:
putMsg("Either-Or char:") freeBuf(buf99)
insertChar(buf99,eitherOr) moveCursor(buf99,sFile)
if (inputString(buf99)) { moveCursor(buf99,sFile) copyChar(buf99,eitherOr) }
returnTrue>
Set new EOL character
<altCtl-kp1:
putMsg("EOL value:")
if(inputNum(n99)) setEol(n99) refreshDisplay returnTrue>
Set delay value (to n89)
<shftCtl-kp2: putMsg("Tenths of seconds to use in Delay command:")
inputNum(n89) returnTrue >
Specify the speech parameters
..<altCtl-kp5: .. SPEECH parameters are NO LONGER USED
freeBuf(buf99) insertRgn(buf99,sFile,
"Change speech parameters. Speak speed (40-400, currently ",all)
toWord(buf99,speakSpeed) insertRgn(buf99,atCursor,"):",all) putMsg(buf99)
if (inputNum(n99)) equateNum(speakSpeed,n99)
freeBuf(buf99) insertRgn(buf99,sFile,"Speak pitch (65-320, currently ",all)
toWord(buf99,speakPitch) insertRgn(buf99,atCursor,"):",all) putMsg(buf99)
if (inputNum(n99)) equateNum(speakPitch,n99)
freeBuf(buf99) insertRgn(buf99,sFile,
"Speak Mode: (N)atural (F)emale (M)ale (R)obotic (now ",all)
insertChar(buf99,speakMode) insertRgn(buf99,atCursor,"):",all)
putMsg(buf99) updateDisplay getChar(speakMode) putMsg(" ")
>
2.3c: Assign new Primitive Mode terminator
<ctl-esc:
putMsg("Enter new Primitive Mode terminator CTRL-key, typ. ESC or Return")
..inputCtlChar
if (getChar(n99))
if (gtNum(n99,4))
if (gtNum(32,n99)) equateNum(pmESC,n99)
putMsg(" ") >
Set the Top Margin, both local and global (used only in formatted print cmd)
<shftCtl-kp8:
getLocal(curFile,n99,topMargin) freeBuf(buf99) toWord(buf99,n99)
insertRgn(buf99,sFile,"Top Margin (now ",all)
insertRgn(buf99,eFile,"):",all) putMsg(buf99)
if (inputNum(n99)) {
setLocal(curFile,topMargin,n99) equateNum(topMargin,n99) }>
Set the Bottom Margin, local and global (used only in formatted print command)
<shftCtl-kp9:
getLocal(curFile,n99,bottomMargin) freeBuf(buf99) toWord(buf99,n99)
insertRgn(buf99,sFile,"Bottom Margin (now ",all)
insertRgn(buf99,eFile,"):",all) putMsg(buf99)
if (inputNum(n99)) {
setLocal(curFile,bottomMargin,n99) equateNum(bottomMargin,n99) }>
Tell the serial number of this Uedit
<alt-3: getSerialNum(n99) freeBuf(buf99) toWord(buf99,n99)
insertRgn(buf99,sFile,"Serial number ",all)
putMsg(buf99)
>
Set/view toggles
Toggle the speaking of messages
<shftCtl-kp4: flipFlag(curFile,speakMsgs) if (getFlag(curFile,speakMsgs))
putMsg("Say Messages") else putMsg("Silent Messages")
returnTrue>
Toggle the speaking of alerts
<shftAlt-kp4: flipFlag(curFile,speakAlerts) if (getFlag(curFile,speakAlerts))
putmsg("Say Alerts") else putMsg("Silent Alerts")
returnTrue>
Toggle the mapping of "illegal" characters (ASCII 0-4) to other chars
<shftAlt-kp3: flipFlag(curFile,mapChars) if (getFlag(curFile,mapChars))
putMsg("Map Chars 0-4") else putMsg("No Chars Mapped")
returnTrue>
Toggle whether typing keys will be used in raw form, vs. any commands active
<shftAlt-kp8: flipFlag(curFile,useKeys) if (getFlag(curFile,useKeys)) {
putMsg("useKeys On. Please turn Off so Tab, Return, Space, etc. work right.")
beepDisplay returnFalse }
else putMsg("useKeys Off. Normal operation.")
returnTrue>
Toggle the Gadgets at the top of the display to be visible or not
<shftAlt-kp6: flipFlag(curFile,markGadgets)>
Toggle audio beep vs. display flash (For errors & aborts)
<shftAlt-kp7: flipFlag(curFile,userGlobalA)
if (getFlag(curFile,userGlobalA)) {
if (execute(" ","AddBeep")) { putmsg("Audio Beep") beepDisplay return }
}
else {
if (execute(" ","RemBeep")) { putMsg("Display Flash") beepDisplay return }
}
putMsg("Couldn't change beep mode") beepDisplay
>
Keys
Kill any single command key
<shftCtl-kp0:
putMsg("Next command-key will be deleted!")
if (getKey(n99)) if (killKey(n99)) {
putMsg("Command-key deleted.") returnTrue }
putMsg(" ") returnFalse >
Exchange two key command sequences
<shftAlt-kp0:
putMsg("Next 2 command-keys will be swapped!")
if (getKey(n98)) if (getKey(n99)) if (swapKey(n98,n99))
{ putMsg("Keys were swapped.") returnTrue }
putMsg(" ") returnFalse>
Exchange any key with the mouseUp "key"
<altCtl-kp6:
putMsg("Next command-key will be swapped with mouse buttonUp action!")
if (getKey(n98)) if (swapKey(n98,normal-buttonUp)) {
putMsg("Mouse buttonUp action swapped. To undo, swap again.") returnTrue }
putMsg(" ") returnFalse>
Teach/investigate system
Do teach mode, where keys give self-description instead of doing action
<alt-t:
flipFlag(curFile,teachKeys)
if (getFlag(curFile,rowCol)) flipFlag(curFile,rowCol) .. writes over info
putMsg("In teach mode, where keys/menus describe themselves. Amiga-ESC quits.")
>
Describe what a key or menu selection does.
<alt-d:
putMsg("Next key or menu selection will describe itself.")
getKey(n99) teachOne(n99)
>
Find out what keys are being used.
<altCtl-kp7: putMsg(
"Show which keys are in use. Amiga-ESC quits. Any key to start...")
getKey(n99)
while(nothing) {
getKey(n99) if (inUse(n99)) putMsg("In Use") else putMsg("unused") }
>
Show memory usage
<altCtl-kp8:
freeBuf(buf82) freeBuf(buf99) insertRgn(buf99,sFile,"avail",all)
if (not execute(buf82,buf99)) {
putMsg("Error - couldn't run program to show memory.")
beepDisplay returnFalse }
else insertRgn(buf82,sFile,"
F1 to resume
",all)
moveCursor(buf82,sFile) editBuf(buf82) vScroll(atCursor)
>
Show all the alternate characters available
<altCtl-kp4:
freeBuf(buf99) editBuf(buf99)
putMsg("Display of printable non-ASCII characters, as: value character")
insertChar(buf99,eLine) vScroll(atCursor)
insertRgn(buf99,sFile,"
Characters 0-31 and 128-159 are non-printing control codes; 160 is alt space
Characters 32-127 are the normal character set
",all) vScroll(sFile) refreshDisplay
equateNum(n99,161)
while (nothing) {
do (n98,1,10) {
toWord(buf99,n99)
insertChar(buf99," ")
typeChar(n99)
insertRgn(buf99,atCursor," ",all)
add(n99,n99,1)
if (gtNum(n99,255)) goto label(1)
}
insertChar(buf99,eLine) refreshDisplay
}
label(1)
insertChar(buf99,eLine) refreshDisplay
putMsg("Press any key to continue...")
getKey(n99) if (eqNum(n99,normal-buttonDown)) getKey(n99) .. ignore buttonUp
putMsg(" ")
editBuf(buf[n82])
>
Conversions/formats
Toggle a number at cursor between decimal and hexadecimal (in C notation)
<alt-h: hexDecimal(curFile)>
Do delay (for value set in n89)
<shftAlt-kp2: delay(n89) returnTrue>
Got rid of sFile test.
Right-align current line at line-length column. Clears trailing space 1st.
<alt-f:
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
if (not is(curFile,sLine)) moveCursor(curFile,sChar)
while (not is(curFile,sLine)) { .. clear trailing whitespace
if (not is(curFile,space)) if (not is(curFile,9)) goto label(1)
clearChar(curFile) moveCursor(curFile,sChar) }
label(1)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
while (not is(curFile,eLine)) { .. clear leading whitespace
if (not is(curFile,space)) if (not is(curFile,9)) goto label(2)
clearChar(curFile) }
label(2)
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
locToCol(curFile,n99,atCursor) .. grab position of line's end
decNum(n99)
if (not is(curFile,sLine)) moveCursor(curFile,sLine)
while (gtNum(lineLength,n99)) { .. and insert spaces until right-aligned
insertChar(curFile,32) incNum(n99) }
moveCursor(curFile,downLine) .. added for easy section format
..if (not is(curFile,sline)) moveCursor(curFile,sLine)
>
Uppercase the character at the cursor
<shftCtl-kp5: toUpper(curFile) moveCursor(curFile,eChar)
if (is(curFile,eFile)) returnFalse else returnTrue >
Lowercase the character at the cursor
<shftAlt-kp5: toLower(curFile) moveCursor(curFile,eChar)
if (is(curFile,eFile)) returnFalse else returnTrue >
Note: also clears leading whitespace before ff's (is OK by me)
Delete trailing whitespace - clears any spaces/tabs following last text on line
<altCtl-kp3: equateLoc(curFile,locA,atCursor)
moveCursor(curFile,sFile) refreshDisplay
putMsg("Clearing trailing whitespace...")
equateNum(n99,0)
while (eqNum(n99,0)) {
if (not is(curFile,eLine)) moveCursor(curFile,eLine)
if (is(curFile,eFile)) equateNum(n99,1)
if (is(curFile,sLine)) goto label(1)
moveCursor(curFile,sChar)
while (nothing) {
if (not is(curFile,space)) if (not is(curFile,9)) goto label(2)
clearChar(curFile) moveCursor(curFile,sChar)
if (is(curFile,eLine)) goto label(2) }
label(2)
updateDisplay
if (not onScreen(atCursor)) vScroll(atCursor)
label(1)
moveCursor(curFile,downLine)
}
putMsg("Trailing Whitespace cleared")
equateLoc(curFile,atCursor,locA)
if (not onScreen(atCursor)) vScroll(atCursor)
refreshDisplay >
Special functions handy in up/downloading text on BBS's
Convert CRLF's to LF's - handy for BBS documents, convert to Amiga format
<alt-kpEnter:
putmsg("Converting CRLF's to LF's...")
equateLoc(curFile,locA,atCursor)
freeBuf(buf99)
insertChar(buf99,13) insertChar(buf99,10) moveCursor(buf99,sFile)
moveCursor(curFile,sFile)
setSearch(buf99)
while (search(curFile,sInvert,eInvert,1))
clearChar(curFile) moveCursor(curFile,eChar)
equateLoc(curFile,sInvert,eInvert)
moveCursor(curFile,eFile) moveCursor(curFile,sChar)
if (is(curFile,13)) clearChar(curFile)
equateLoc(curFile,atCursor,locA) refreshDisplay putmsg(" ") >
Convert LF's to CRLF's - handy for uploading to BBS's or other computers
<shftCtl-kpEnter:
putmsg("Converting LF's to CRLF's...")
equateLoc(curFile,locA,atCursor)
freeBuf(buf99)
insertChar(buf99,10) moveCursor(buf99,sFile)
moveCursor(curFile,sFile)
setSearch(buf99)
while (search(curFile,sInvert,eInvert,1))
insertChar(curFile,13) moveCursor(curFile,eChar)
equateLoc(curFile,sInvert,eInvert)
moveCursor(curFile,eFile) insertChar(curFile,13)
equateLoc(curFile,atCursor,locA) refreshDisplay putmsg(" ") >
Repeats
Specify a command and count times it executes before failing
<altCtl-kp2:
equateNum(n87,1) putMsg("Single command-key to run (until fails) & count:")
if (getKey(n88)) {
while (runKey(n88)) incNum(n87)
freeBuf(buf99) insertRgn(buf99,sFile,"Times executed = ",all)
toWord(buf99,n87) putMsg(buf99) returnTrue}
returnFalse>
Key Duplicates
These three are to alleviate the conflict with Mach for Alt-function keys
Save current configuration to disk Data! file
<rAmiga-f6: runKey(alt-f6)>
Clear the "Favorite" flag of all files
<rAmiga-f3: runKey(alt-f3)>
Swap current buffer with swap buffer (buffer 80)
<rAmiga-f1: runKey(alt-f1)>
This one is to alleviate conflict with Mach, whose hot-key is altCtl-f1
Edit specific buffer #
<normal-f4: runKey(altCtl-f1)>
These are simply for an easier keystroke sequence for common actions
Execute AmigaDOS command and collect results
<normal-f5: runKey(shftCtl-f1)>
Edit previous buffer
<normal-f2: runKey(shft-f1)>
These make kp-enter equal to Return for several functions
Same as Return
<normal-kpEnter: runKey(normal-Return) >
Same as shift-Return
<shft-kpEnter: runKey(shft-Return) >
Same as ctrl-Return
<ctl-kpEnter: runKey(ctl-Return) >
2.3c: Same as L--
<lAmiga-kpMinus: runKey(lAmiga--) >
Internal keys
Not an implemented key
<virtual-kp8: equateNum(n84,0) putMsg("Not implemented.")
returnFalse>
Not a valid WS command
<virtual-kp7: equateNum(n84,0)
putMsg("Invalid WS command.") returnFalse>
-----------------------------------------------------------------------------
WordStar control key section
Two-key command control
Prefix key control
Menu equivalents for ^K prefix is shftCtl; n84 value is 10
WS prefix key (=SC-x) for Block & File actions; other actions depend on prefix
<ctl-k:
if (eqNum(n84,0)) { equateNum(n84,10) putMsg("^K") return }
putMsg(" ")
if (eqNum(n84,10)) { equateNum(n84,0)
equateLoc(curFile,eHilite,atCursor) refreshDisplay return }
if (eqNum(n84,20)) { equateNum(n84,0)
if (gtLoc(curFile,eHilite,sHilite)) { moveCursor(curFile,eHilite)
if (not onScreen(atCursor)) vScroll(atCursor) returnTrue }
else { putMsg("No block!") returnFalse} }
if (eqNum(n84,30)) { equateNum(n84,0) flipFlag(curFile,cram) return }
if (eqNum(n84,40)) { equateNum(n84,0)
equateLoc(curFile,mouseLoc,atCursor)
runKey(shftCtl-buttondown)
runKey(shftCtl-buttonup)
}
>
Menu equivalents for ^O prefix is altCtl; n84 value is 30
WS prefix key (=AC-x) for OnScreen actions; other actions depend on prefix
<ctl-o:
if (eqNum(n84,0)) { equateNum(n84,30) putMsg("^O") return }
putMsg(" ")
if (eqNum(n84,10)) { equateNum(n84,0)
freeBuf(buf98) getFileName(buf98,curFile)
insertRgn(buf98,sFile,"Copy Of ",all)
equateNum(n99,curFile)
if (not newFile) {
putMsg("No more Edit Buffers available! Free some up.")
beepDisplay returnFalse }
setFileName(curFile,buf98) equateNum(n82,curFile)
putMsg("Copying buffer...")
insertRgn(curFile,sFile,buf[n99],all) moveCursor(curFile,sFile)
flipFlag(curFile,changed) putMsg(" ") return }
if (eqNum(n84,20)) { equateNum(n84,0)
freeBuf(buf98) putMsg("Enter word or words to check spelling on:")
if (not inputString(buf98)) return
runKey(virtual-l) return }
if (eqNum(n84,30)) { runKey(virtual-kp8) return }
if (eqNum(n84,40)) { equateNum(n84,0)
if (gtLoc(curFile,eHilite,sHilite)) {
if (not getFlag(curFile,columnar)) {
freeBuf(buf86)
insertRgn(buf86,sFile,curFile,hilite) }
else {
freeBuf(buf86) copyColData(buf86,sFile,curFile,hilite,n80) }
putMsg("Spooling block for printing, please be patient...")
print(buf86,all) }
else { putMsg("No block!") returnFalse }
return }
>
Menu equivalents for ^P prefix is shftAltCtl; n84 value is 40
WS prefix key (=SAC-x) for Print actions; other actions depend on prefix
<ctl-p:
if (eqNum(n84,0)) { equateNum(n84,40) putMsg("^P") return }
putMsg(" ")
if (eqNum(n84,10)) { equateNum(n84,0) runKey(virtual-o) return }
if (eqNum(n84,20)) { runKey(virtual-kp8) return }
if (eqNum(n84,30)) { runKey(shftCtl-=) return } .. readOnly
if (eqNum(n84,40)) { equateNum(n84,0)
freeBuf(buf99) toWord(buf99,prefPrint)
insertRgn(buf99,sFile,
"Printer select: 0=par: 1=ser: 2=prt: 3=prt:-raw (now ",all)
insertRgn(buf99,eFile,"):",all) putMsg(buf99)
if (inputNum(n99)) if (geNum(n99,0)) if (gtNum(4,n99))
equateNum(prefPrint,n99)
putMsg(" ") }
>
Menu equivalents for ^Q prefix is shftAlt; n84 value is 20
WS prefix key (=SA-x) for Quick actions; other actions depend on prefix
<ctl-q:
if (eqNum(n84,0)) { equateNum(n84,20) putMsg("^Q") return }
putMsg(" ")
if (eqNum(n84,10)) { equateNum(n84,0) equateNum(n99,curFile)
getMaxFiles(n98) decNum(n98)
if (not gtNum(n99,n98)) if (getFlag(curFile,changed))
if (askYesNo("Buffer has changed - save it? "))
if (not saveFile(curFile)) returnFalse
if (not eqNum(n82,n99)) { if (not isEmpty(buf[n82])) editBuf(buf[n82]) }
else { toggle(curFile) equateNum(n82,curFile) }
freeBuf(buf[n99]) return }
if (eqNum(n84,20)) { equateNum(n84,0)
putMsg("Single key to run (at Delay speed) (Amiga-ESC stops):")
if (getKey(n87)) {
while (runkey(n87)) {
if (not onScreen(atCursor)) vScroll(atCursor)
delay(n89)
updateDisplay
} }
putmsg(" ")
return }
if (eqNum(n84,30)) { equateNum(n84,0)
freeBuf(buf99) insertRgn(buf99,sFile,"See n-variable # (default ",all)
toWord(buf99,n86) insertRgn(buf99,atCursor,"):",all) putMsg(buf99)
if (not inputNum(n99)) equateNum(n99,n86) else equateNum(n86,n99)
freeBuf(buf99) insertChar(buf99,"n") toWord(buf99,n99)
insertRgn(buf99,eFile," is ",all) toWord(buf99,n[n99]) putMsg(buf99)
return }
if (eqNum(n84,40)) { equateNum(n96,19) runKey(virtual-p) }
>
Menu equivalent translations
Control-Q
Goto marker 0
<shftAlt-0: equateNum(n84,20) runKey(ctl-0) >
Goto marker 1
<shftAlt-1: equateNum(n84,20) runKey(ctl-1) >
Goto marker 2
<shftAlt-2: equateNum(n84,20) runKey(ctl-2) >
Goto marker 3
<shftAlt-3: equateNum(n84,20) runKey(ctl-3) >
Goto marker 4
<shftAlt-4: equateNum(n84,20) runKey(ctl-4) >
Goto marker 5
<shftAlt-5: equateNum(n84,20) runKey(ctl-5) >
Goto marker 6
<shftAlt-6: equateNum(n84,20) runKey(ctl-6) >
Goto marker 7
<shftAlt-7: equateNum(n84,20) runKey(ctl-7) >
Goto marker 8
<shftAlt-8: equateNum(n84,20) runKey(ctl-8) >
Goto marker 9
<shftAlt-9: equateNum(n84,20) runKey(ctl-9) >
Find & Replace text; various options
<shftAlt-a: equateNum(n84,20) runKey(ctl-a) >
Cursor to beginning of block, if any block is highlighted
<shftAlt-b: equateNum(n84,20) runKey(ctl-b) >
Cursor to end of buffer
<shftAlt-c: equateNum(n84,20) runKey(ctl-c) >
Cursor to end of line
<shftAlt-d: equateNum(n84,20) runKey(ctl-d) >
Cursor to top of screen
<shftAlt-e: equateNum(n84,20) runKey(ctl-e) >
Find text; various options
<shftAlt-f: equateNum(n84,20) runKey(ctl-f) >
Search forward to first occurrence of specified character
<shftAlt-g: equateNum(n84,20) runKey(ctl-g) >
Search backward to first occurrence of specified character
<shftAlt-h: equateNum(n84,20) runKey(ctl-h) >
Move cursor to start of specified page#. Works as goto line# if lines/page=1.
<shftAlt-i: equateNum(n84,20) runKey(ctl-i) >
Cursor to end of marked block
<shftAlt-k: equateNum(n84,20) runKey(ctl-k) >
Spell: check spelling from cursor through rest of document
<shftAlt-l: equateNum(n84,20) runKey(ctl-l) >
Math - run calc program ("xe"), if present. Use SnipIt util. to cut/paste #s.
<shftAlt-m: equateNum(n84,20) runKey(ctl-m) >
Spell: check spelling of word that cursor is on
<shftAlt-n: equateNum(n84,20) runKey(ctl-n) >
Spell: check spelling of a word entered from the keyboard
<shftAlt-o: equateNum(n84,20) runKey(ctl-o) >
Repeat command until aborted
<shftAlt-q: equateNum(n84,20) runKey(ctl-q) >
Cursor to top of buffer
<shftAlt-r: equateNum(n84,20) runKey(ctl-r) >
Cursor to beginning of line
<shftAlt-s: equateNum(n84,20) runKey(ctl-s) >
Delete forward to first occurrence of specified character
<shftAlt-t: equateNum(n84,20) runKey(ctl-t) >
Reformat from cursor to end of document, using current settings.
<shftAlt-u: equateNum(n84,20) runKey(ctl-u) >
Cursor to start of last "Find" match, if match still marked with inverse
<shftAlt-v: equateNum(n84,20) runKey(ctl-v) >
Scroll down continuously, line by line
<shftAlt-w: equateNum(n84,20) runKey(ctl-w) >
Cursor to bottom of screen
<shftAlt-x: equateNum(n84,20) runKey(ctl-x) >
Delete from cursor position to end of line
<shftAlt-y: equateNum(n84,20) runKey(ctl-y) >
Scroll up continuously, line by line
<shftAlt-z: equateNum(n84,20) runKey(ctl-z) >
Delete from cursor position to beginning of line
<shftAlt-del: equateNum(n84,20) runKey(ctl-del) >
Show how many bytes are in the buffer up to the place the cursor is at
<shftAlt-/: equateNum(n84,20) runKey(ctl-/) >
Control-K
Set marker 0
<shftCtl-0: equateNum(n84,10) runKey(ctl-0) >
Set marker 1
<shftCtl-1: equateNum(n84,10) runKey(ctl-1) >
Set marker 2
<shftCtl-2: equateNum(n84,10) runKey(ctl-2) >
Set marker 3
<shftCtl-3: equateNum(n84,10) runKey(ctl-3) >
Set marker 4
<shftCtl-4: equateNum(n84,10) runKey(ctl-4) >
Set marker 5
<shftCtl-5: equateNum(n84,10) runKey(ctl-5) >
Set marker 6
<shftCtl-6: equateNum(n84,10) runKey(ctl-6) >
Set marker 7
<shftCtl-7: equateNum(n84,10) runKey(ctl-7) >
Set marker 8
<shftCtl-8: equateNum(n84,10) runKey(ctl-8) >
Set marker 9
<shftCtl-9: equateNum(n84,10) runKey(ctl-9) >
save As: save buffer to disk file under some other name
<shftCtl-a: equateNum(n84,10) runKey(ctl-a) >
Mark Beginning of Block
<shftCtl-b: equateNum(n84,10) runKey(ctl-b) >
Copy marked block to current cursor position
<shftCtl-c: equateNum(n84,10) runKey(ctl-c) >
Document: Open a named file/buffer
<shftCtl-d: equateNum(n84,10) runKey(ctl-d) >
rEname current buffer
<shftCtl-e: equateNum(n84,10) runKey(ctl-e) >
shftCtl-f: see command elsewhere
Get: copy marked block to "Undo" buffer
<shftCtl-g: equateNum(n84,10) runKey(ctl-g) >
Hide (unmark) block
<shftCtl-h: equateNum(n84,10) runKey(ctl-h) >
Toggle block overlay/space-fill vs. block insert/delete mode
<shftCtl-i: equateNum(n84,10) runKey(ctl-i) >
Junk: Delete buffer (safely - asks first if changed)
<shftCtl-j: equateNum(n84,10) runKey(ctl-j) >
Mark end of blocK
<shftCtl-k: equateNum(n84,10) runKey(ctl-k) >
Change default directory (same function as WS Logged Disk/Directory)
<shftCtl-l: equateNum(n84,10) runKey(ctl-l) >
Math on a block - add all numbers within a marked block
<shftCtl-m: equateNum(n84,10) runKey(ctl-m) >
Block ColumN mode toggle on/off
<shftCtl-n: equateNum(n84,10) runKey(ctl-n) >
cOpy entire buffer to another buffer
<shftCtl-o: equateNum(n84,10) runKey(ctl-o) >
Print entire buffer
<shftCtl-p: equateNum(n84,10) runKey(ctl-p) >
Quit (discard) current buffer (safely - if changed, asks if want to save 1st)
<shftCtl-q: equateNum(n84,10) runKey(ctl-q) >
Read a file (get from disk and insert into text at cursor)
<shftCtl-r: equateNum(n84,10) runKey(ctl-r) >
Save current buffer to disk if it has changed
<shftCtl-s: equateNum(n84,10) runKey(ctl-s) >
Touch: save all changed buffers to disk
<shftCtl-t: equateNum(n84,10) runKey(ctl-t) >
Undelete - get contents of "Undo" buffer into text at cursor
<shftCtl-u: equateNum(n84,10) runKey(ctl-u) >
moVe - Move marked block to current cursor position
<shftCtl-v: equateNum(n84,10) runKey(ctl-v) >
Write - write marked block to file (or printer via prt: or par:)
<shftCtl-w: equateNum(n84,10) runKey(ctl-w) >
eXit safely - ask if want to save any changed files, then exit Ustar
<shftCtl-x: equateNum(n84,10) runKey(ctl-x) >
Yank - Delete marked block
<shftCtl-y: equateNum(n84,10) runKey(ctl-y) >
Zafety - toggle file autobackup on/off
<shftCtl-z: equateNum(n84,10) runKey(ctl-z) >
Read-only - buffer can't be edited. This is an on/off toggle, not checkmarked.
<shftCtl-=: equateNum(n84,10) runKey(ctl-=) >
Toggle icons saved when files saved on/off
<shftCtl-\: equateNum(n84,10) runKey(ctl-\) >
Toggle buffer's Changed flag. Careful! Typ. use so temp bufs aren't saved.
<shftCtl-[: equateNum(n84,10) runKey(ctl-[) >
Speak a marked block. The "Say" command & libraries must be available.
shftCtl-]: see below in file
Convert all characters in block to uppercase.
<shftCtl-': equateNum(n84,10) runKey(ctl-') >
Toggle auto-save flag on or off (individual to each file)
<shftCtl-.: equateNum(n84,10) runKey(ctl-.) >
Control-O
Set command multiplier for how many times to repeat next command
<altCtl-1: equateNum(n84,30) runKey(ctl-1) >
Load a learn file
<altCtl-2: equateNum(n84,30) runKey(ctl-2) >
Busy - toggle the UE "busy" display, for internal housekeeping status display
<altCtl-b: equateNum(n84,30) runKey(ctl-b) >
Center line of text within current margins
<altCtl-c: equateNum(n84,30) runKey(ctl-c) >
Display of control characters toggle on/off
<altCtl-d: equateNum(n84,30) runKey(ctl-d) >
Toggle paraGraph tabs (auto-indent) on/off
<altCtl-g: equateNum(n84,30) runKey(ctl-g) >
Set tab spacIng (tab stops) in an easy visual manner using mouse and/or keys
<altCtl-i: equateNum(n84,30) runKey(ctl-i) >
Justification: Toggle right-justification mode on/off
<altCtl-j: equateNum(n84,30) runKey(ctl-j) >
Kram: Toggle cram mode on/off (cuts descenders for more lines on-screen)
<altCtl-k: equateNum(n84,30) runKey(ctl-k) >
Set variable value
<altCtl-m: equateNum(n84,30) runKey(ctl-m) >
Set tab spaciNg (tab stops) in an easy visual manner using mouse and/or keys
<altCtl-n: equateNum(n84,30) runKey(ctl-n) >
Open up line for typing, or close it back up
<altCtl-o: equateNum(n84,30) runKey(ctl-o) >
Protect/unprotect current buffer (flip its Read-Only status)
<altCtl-p: equateNum(n84,30) runKey(ctl-p) >
Query: see variable value
<altCtl-q: equateNum(n84,30) runKey(ctl-q) >
Right margin column (line length) set
<altCtl-r: equateNum(n84,30) runKey(ctl-r) >
Show tab ruler above cursor line
<altCtl-t: equateNum(n84,30) runKey(ctl-t) >
Uppercase: flip character at cursor between lowercase and uppercase
<altCtl-u: equateNum(n84,30) runKey(ctl-u) >
Choose which tab table to use (0-4) to use for setting Tab spacing
<altCtl-v: equateNum(n84,30) runKey(ctl-v) >
Word-wrap mode toggle on/off
<altCtl-w: equateNum(n84,30) runKey(ctl-w) >
Type Amiga's alternate (non-ASCII) characters into text (Note: WON'T PRINT)
<altCtl-y: equateNum(n84,30) runKey(ctl-y) >
Toggle display of row/column at upper right of display
<altCtl-z: equateNum(n84,30) runKey(ctl-z) >
Control-P
Stop all printouts - aborts every print currently in process by Uedit
<shftAltCtl-0: equateNum(n84,40) runKey(ctl-0) >
Resume printing a halted print
<shftAltCtl-1: equateNum(n84,40) runKey(ctl-1) >
Printer control code: Alternate pitch (Elite)
<shftAltCtl-a: equateNum(n84,40) runKey(ctl-a) >
Printer control code: Bold toggle
<shftAltCtl-b: equateNum(n84,40) runKey(ctl-b) >
Printer control codes, colors define
<shftAltCtl-c: equateNum(n84,40) runKey(ctl-c) >
Printer control code: Doublestrike toggle
<shftAltCtl-d: equateNum(n84,40) runKey(ctl-d) >
Find printer control codes
<shftAltCtl-f: equateNum(n84,40) runKey(ctl-f) >
General printer control codes (manual definitions)
<shftAltCtl-g: equateNum(n84,40) runKey(ctl-g) >
LInes per page set
<shftAltCtl-j: equateNum(n84,40) runKey(ctl-j) >
Add word to index being built in buffer 80
<shftAltCtl-k: equateNum(n84,40) runKey(ctl-k) >
Do an 8-column tab no matter what current settings are (if tab table 0 OK).
<shftAltCtl-i: equateNum(n84,40) runKey(ctl-i) >
Place a form feed at the cursor
<shftAltCtl-l: equateNum(n84,40) runKey(ctl-l) >
Printer control code: Normal pitch (Pica)
<shftAltCtl-n: equateNum(n84,40) runKey(ctl-n) >
Print highlighted block
<shftAltCtl-o: equateNum(n84,40) runKey(ctl-o) >
PrefsPrint - select how to print - direct through ports, or thru Preferences
<shftAltCtl-p: equateNum(n84,40) runKey(ctl-p) >
Printer control code: Condensed (compressed) print toggle
<shftAltCtl-q: equateNum(n84,40) runKey(ctl-q) >
Printer control code: Underline toggle
<shftAltCtl-s: equateNum(n84,40) runKey(ctl-s) >
Printer control code: Superscript toggle
<shftAltCtl-t: equateNum(n84,40) runKey(ctl-t) >
Stop a printout - aborts current print
<shftAltCtl-u: equateNum(n84,40) runKey(ctl-u) >
Printer control code: Subscript toggle
<shftAltCtl-v: equateNum(n84,40) runKey(ctl-v) >
Printer control code: Wide print toggle
<shftAltCtl-w: equateNum(n84,40) runKey(ctl-w) >
Printer control code: NLQ toggle
<shftAltCtl-x: equateNum(n84,40) runKey(ctl-x) >
Printer control code: Italics toggle
<shftAltCtl-y: equateNum(n84,40) runKey(ctl-y) >
Input a control into text at cursor
<shftAltCtl-=: equateNum(n84,40) runKey(ctl-=) >
Shifted key translations (menu equivalents):
Convert all characters in block to lowercase.
<alt-': equateNum(n84,10) runKey(shft-')>