home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 4
/
DATAFILE_PDCD4.iso
/
utilities
/
utilsf
/
lineeditor
/
Rebinder
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1996-09-04
|
2KB
|
126 lines
>Rebinder
"This program modifies the LineEditor module on disk to"
"change the key bindings."
'"You need to input the name of the file with the new"
"keybindings in."'
$M$="<LineEditor$Dir>.LineEditor"
M$:len%=
v$,N%
T$(N%)
C% N%, M% len%
"OS_File",&FF,M$,M%,0
T%=M%+len%-512
L%=0
N%-1
T$(L%),C%?L%
T$(L%)="vanilla" v%=L%
v%=-1
"No vanilla in key table":
z(M%+M%!20),"Line Editor"+
9+v$)<>1
"Incorrect key file version for module":
"Key definitions file (RETURN for default): "F$
F$="" F$="<LineEditor$Dir>.DfltKeys"
WS$=" "+
::DIM XXX% 512:FOR L%=0 TO 511:XXX%?L%=T%?L%:NEXT
L%=0
511:T%?L%=C%?v%:
L$,"&")
T$=
L$,I%)
HACKARAMA
!1 I%=
T$,"-"):
I% T$=
T$,I%-1)+"~"+
T$,I%+1)
K%=
T$:K2%=K%
T$,2)
"0123456789ABCDEFabcdef",
T$,1))=0
T$=""
T$,1)="~"
T$=
T$,2)
T$,1)<>"&" T$="&"+T$
K2%=
T$,2)
*4
"0123456789ABCDEFabcdef",
T$,1))=0
T$=""
T$,1))
T$<>""
T$=
T$,2)
T$ is the action token for key codes K% to K2%
force to upper-case
13 t$=T$:T$="":
L%=1
t$:T$+=
t$,L%,1)
t%=0
T$<>T$(t%)
t%<N%
t%+=1
t%=N%
"Bad TOKEN '"T$"'":
K%<0
K%>&1FF
K2%<0
K2%>&1FF
"Bad key number":
::PRINTK%"-";K2%" ";t%
L%=K%
K2%:T%?L%=C%?t%:
"OS_File",&0A,M$,&FFA,,M%,M%+len%
"OS_Module",11,M%,len%
::FOR L%=0 TO 511:IF XXX%?L%<>T%?L% PRINTL%" ";XXX%?L%"->";T%?L%:N.ELSEN.
z(A%):
?A%:A$+=
?A%:A%+=1:
>KEYLIB
2.71
ignore,46
beepignore,55
left,1
right,5
delword,88
cright,10
cleft,14
sright,18
sleft,26
toggleinsert,39
delline,44
removeline,41
complete,50
completenext,51
completeprev,52
setmark,54
copy,56
swapmark,67
cut,76
deletenext,98
delete,111
wipehistory,123
deltoend,75
paste,128
swapchars,135
quote,148
vanilla,156
cup,171
cdown,180
up,196
down,211
sup,221
sdown,222
escape,223
fnkey,242
wipeallhistory,126
enter,231
return,235
uncopy,229
showcomp,47
completeshow,49