From ca9137767b95fed6feedf3208ffb0bb7f74a359d Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 22 Oct 2012 18:51:52 -0700 Subject: [PATCH] ui.tools.listener: adding path completion to listener. --- basis/ui/tools/listener/completion/completion.factor | 8 ++++++-- basis/ui/tools/listener/listener.factor | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/basis/ui/tools/listener/completion/completion.factor b/basis/ui/tools/listener/completion/completion.factor index 9e892de21b..fb1e06ba37 100644 --- a/basis/ui/tools/listener/completion/completion.factor +++ b/basis/ui/tools/listener/completion/completion.factor @@ -26,10 +26,11 @@ SLOT: history TUPLE: word-completion manifest ; C: word-completion -SINGLETONS: vocab-completion color-completion char-completion history-completion ; +SINGLETONS: vocab-completion color-completion char-completion +path-completion history-completion ; UNION: definition-completion word-completion vocab-completion ; UNION: listener-completion definition-completion -color-completion char-completion history-completion ; +color-completion char-completion path-completion history-completion ; GENERIC: completion-quot ( interactor completion-mode -- quot ) @@ -40,6 +41,7 @@ M: word-completion completion-quot [ words-matching ] (completion-quot) ; M: vocab-completion completion-quot [ vocabs-matching ] (completion-quot) ; M: color-completion completion-quot [ colors-matching ] (completion-quot) ; M: char-completion completion-quot [ chars-matching ] (completion-quot) ; +M: path-completion completion-quot [ paths-matching ] (completion-quot) ; M: history-completion completion-quot drop '[ _ history-completions ] ; GENERIC: completion-element ( completion-mode -- element ) @@ -53,6 +55,7 @@ M: word-completion completion-banner drop "Words" ; M: vocab-completion completion-banner drop "Vocabularies" ; M: color-completion completion-banner drop "Colors" ; M: char-completion completion-banner drop "Unicode code point names" ; +M: path-completion completion-banner drop "Paths" ; M: history-completion completion-banner drop "Input history" ; ! Completion modes also implement the row renderer protocol @@ -92,6 +95,7 @@ M: color-completion row-color { [ dup complete-vocab? ] [ 2drop vocab-completion ] } { [ dup complete-CHAR:? ] [ 2drop char-completion ] } { [ dup complete-COLOR:? ] [ 2drop color-completion ] } + { [ dup complete-P"? ] [ 2drop path-completion ] } [ drop ] } cond ; diff --git a/basis/ui/tools/listener/listener.factor b/basis/ui/tools/listener/listener.factor index 1022585e37..ec36ff7bdb 100644 --- a/basis/ui/tools/listener/listener.factor +++ b/basis/ui/tools/listener/listener.factor @@ -64,6 +64,8 @@ M: word-completion (word-at-caret) M: char-completion (word-at-caret) 2drop f ; +M: path-completion (word-at-caret) 2drop f ; + M: color-completion (word-at-caret) 2drop f ; : word-at-caret ( token interactor -- obj )