diff --git a/basis/ui/tools/listener/completion/completion-tests.factor b/basis/ui/tools/listener/completion/completion-tests.factor index 5b79e918b5..b26555df6d 100644 --- a/basis/ui/tools/listener/completion/completion-tests.factor +++ b/basis/ui/tools/listener/completion/completion-tests.factor @@ -5,8 +5,12 @@ IN: ui.tools.listener.completion.tests [ f ] [ { "USE:" "A" "B" "C" } complete-vocab? ] unit-test +[ f ] [ { "USE:" "A" "B" } complete-vocab? ] unit-test + [ t ] [ { "USE:" "A" } complete-vocab? ] unit-test +[ t ] [ { "USE:" } complete-vocab? ] unit-test + [ t ] [ { "UNUSE:" "A" } complete-vocab? ] unit-test [ t ] [ { "QUALIFIED:" "A" } complete-vocab? ] unit-test @@ -17,4 +21,4 @@ IN: ui.tools.listener.completion.tests [ f ] [ { "USING:" "A" "B" "C" ";" } complete-vocab-list? ] unit-test -[ t ] [ { "X" ";" "USING:" "A" "B" "C" } complete-vocab-list? ] unit-test \ No newline at end of file +[ t ] [ { "X" ";" "USING:" "A" "B" "C" } complete-vocab-list? ] unit-test diff --git a/basis/ui/tools/listener/completion/completion.factor b/basis/ui/tools/listener/completion/completion.factor index c303c1f34c..c63680b188 100644 --- a/basis/ui/tools/listener/completion/completion.factor +++ b/basis/ui/tools/listener/completion/completion.factor @@ -76,8 +76,12 @@ M: vocab-completion row-color drop vocab? COLOR: black COLOR: dark-gray ? ; : complete-vocab? ( tokens -- ? ) - 1 short head* 2 short tail* - { "IN:" "USE:" "UNUSE:" "QUALIFIED:" "QUALIFIED-WITH:" } intersects? ; + harvest 2 short tail* [ f ] [ + [ + { "IN:" "USE:" "UNUSE:" "QUALIFIED:" "QUALIFIED-WITH:" } + member? + ] any? + ] if-empty ; : chop-; ( seq -- seq' ) { ";" } split1-last [ ] [ ] ?if ;