From 3049d187f6da82dad616e1ed6015de363699e472 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 22 Oct 2012 18:29:53 -0700 Subject: [PATCH] tools.completion: fix CHAR: and COLOR: completion to require extra tokens. --- basis/tools/completion/completion-tests.factor | 3 +++ basis/tools/completion/completion.factor | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/basis/tools/completion/completion-tests.factor b/basis/tools/completion/completion-tests.factor index 05c8e321ec..e35fdb9d04 100644 --- a/basis/tools/completion/completion-tests.factor +++ b/basis/tools/completion/completion-tests.factor @@ -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 diff --git a/basis/tools/completion/completion.factor b/basis/tools/completion/completion.factor index 8c61da927b..22fec129b0 100644 --- a/basis/tools/completion/completion.factor +++ b/basis/tools/completion/completion.factor @@ -135,8 +135,18 @@ PRIVATE> : complete-vocab? ( tokens -- ? ) { [ complete-single-vocab? ] [ complete-vocab-list? ] } 1|| ; -: complete-CHAR:? ( tokens -- ? ) - 2 short tail* "CHAR:" swap member? ; + + [ 2 tail* ?first = ] [ 2drop f ] if + ] if ; + +PRIVATE> + +: complete-CHAR:? ( tokens -- ? ) "CHAR:" complete-token? ; + +: complete-COLOR:? ( tokens -- ? ) "COLOR:" complete-token? ;