tools.completion: fix CHAR: and COLOR: completion to require extra tokens.

db4
John Benediktsson 2012-10-22 18:29:53 -07:00
parent 65678aeeb2
commit 3049d187f6
2 changed files with 17 additions and 4 deletions

View File

@ -30,3 +30,6 @@ IN: tools.completion
{ f } [ { "USING:" "A" "B" "C" ";" } complete-vocab? ] unit-test
{ t } [ { "X" ";" "USING:" "A" "B" "C" } complete-vocab? ] unit-test
{ f } [ { "CHAR:" } complete-CHAR:? ] unit-test
{ t } [ { "CHAR:" "" } complete-CHAR:? ] unit-test
{ t } [ { "CHAR:" "a" } complete-CHAR:? ] unit-test

View File

@ -135,8 +135,18 @@ PRIVATE>
: complete-vocab? ( tokens -- ? )
{ [ complete-single-vocab? ] [ complete-vocab-list? ] } 1|| ;
: complete-CHAR:? ( tokens -- ? )
2 short tail* "CHAR:" swap member? ;
<PRIVATE
: complete-COLOR:? ( tokens -- ? )
2 short tail* "COLOR:" swap member? ;
: complete-token? ( tokens token -- ? )
over last empty? [
[ harvest ?last ] [ = ] bi*
] [
swap harvest dup length 1 >
[ 2 tail* ?first = ] [ 2drop f ] if
] if ;
PRIVATE>
: complete-CHAR:? ( tokens -- ? ) "CHAR:" complete-token? ;
: complete-COLOR:? ( tokens -- ? ) "COLOR:" complete-token? ;