| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- DEFINITION MODULE Keys ;
- (* The editor's key map, loaded from a TEXT file. This is the other half of
- what TINST configures: TINST patches TURBO.COM's editor command table; this
- port reads TP3.KEY.
- FILE FORMAT - one NAME=value per line, ';' comments, values decoded by
- TermCfg.ParseValue (\e, \r, \n, \t, \\, ^X). Each value must be exactly ONE
- byte. Names are case-insensitive; unknown names are ignored.
- QUIT=^Q
- PREFIX=^K
- WORDLEFT=^A
- ...
- A missing file leaves the defaults, which are exactly the keys the editor
- used before there was a key file. *)
- TYPE
- Map = RECORD
- quit : CHAR ;
- cancel : CHAR ; (* ^U *)
- prefix : CHAR ; (* Ctrl-K *)
- literal : CHAR ; (* Ctrl-P: insert the next key literally *)
- wordLeft : CHAR ;
- charLeft : CHAR ;
- charRight : CHAR ;
- wordRight : CHAR ;
- lineUp : CHAR ;
- lineDown : CHAR ;
- scrollUp : CHAR ;
- scrollDown : CHAR ;
- pageUp : CHAR ;
- pageDown : CHAR ;
- insertToggle: CHAR ;
- deleteChar : CHAR ;
- deleteLeft : CHAR ;
- deleteWord : CHAR ;
- insertBreak : CHAR ;
- deleteLine : CHAR ;
- repeatLast : CHAR ;
- autoTab : CHAR ;
- newLine : CHAR ;
- END ;
- PROCEDURE Default (VAR m : Map) ;
- PROCEDURE Load (path : ARRAY OF CHAR ; VAR m : Map ; VAR ok : BOOLEAN) ;
- (* Default(m), then every NAME=value in path. ok is FALSE if the file could
- not be opened or a value is not exactly one byte. *)
- END Keys.
|