Differences From Artifact [512d7cb685a908d9]:
File user/docl/tabcompletion.retro part of check-in [388bff82d8] - use print instead of type in tabcompletion by crc on 2010-09-15 18:10:49. [annotate] [view]
To Artifact [8cc8c88731c94ac1]:
File user/docl/tabcompletion.retro part of check-in [9af46357c5] - update docl's tab completion for the latest image by charleschilders on 2010-09-19 23:11:13. [annotate] [view]
@@ -1,19 +1,20 @@
chain: stringBuffer'
{{
tib variable: buffer
@buffer variable: pointer
- : terminate ( - ) 0 @pointer ! ;
- : bs? ( c-cf ) dup 8 = ;
- : remove ( c- ) drop pointer -- @pointer @buffer <if @buffer !pointer then terminate ;
- : add ( c- ) @pointer ! pointer ++ terminate ;
+ : terminate ( - ) 0 @pointer ! ;
+ : bs? ( c-cf ) dup 8 = ;
+ : remove ( c- )
+ drop pointer -- @pointer @buffer <if @buffer !pointer then terminate ;
+ : add ( c- ) @pointer ! pointer ++ terminate ;
---reveal---
- : addToBuffer ( c- ) bs? if remove else add then ;
- : getFromBuffer ( -c ) pointer -- @pointer @ terminate ;
- : endOfBuffer ( -a ) repeat @pointer dup @ 0; 2drop pointer ++ again ;
- : sizeOfBuffer ( -n ) @pointer @buffer - ;
- : emptyBuffer ( - ) @buffer !pointer terminate ;
- : setBuffer ( a- ) !buffer emptyBuffer ;
+ : addToBuffer ( c- ) bs? if remove else add then ;
+ : getFromBuffer ( -c ) pointer -- @pointer @ terminate ;
+ : endOfBuffer ( -a ) repeat @pointer dup @ 0; 2drop pointer ++ again ;
+ : sizeOfBuffer ( -n ) @pointer @buffer - ;
+ : emptyBuffer ( - ) @buffer !pointer terminate ;
+ : setBuffer ( a- ) !buffer emptyBuffer ;
}}
;chain
with quotes'
@@ -35,17 +36,17 @@
tib compare [ dup addCompletion ] ifTrue
again ;
: showCompletions
cr space space completions numCompletions
- [ getCompletion d->name print space ] loop ;
+ [ getCompletion d->name puts space ] times ;
: finishCompletion
numCompletions 0; 1 =
[ getCompletion d->name tib over getLength 1+ copy endOfBuffer ]
[ showCompletions ] if ;
variable delimiter
: testDelimiter @delimiter = dup [ nip ] ifTrue ;
: testTrigger 27 = dup [ nip ] ifTrue ;
- : doTrigger findCompletions finishCompletion cr tib print drop ;
+ : doTrigger findCompletions finishCompletion cr tib puts drop ;
: eatLeading ( - ) repeat key dup emit dup @delimiter !if addToBuffer ;then drop again ;
: newaccept ( "- )
!delimiter emptyBuffer eatLeading
repeat