]> gitweb.factorcode.org Git - factor.git/commitdiff
ui.tools.listener: adding path completion to listener.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 23 Oct 2012 01:51:52 +0000 (18:51 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 23 Oct 2012 01:51:52 +0000 (18:51 -0700)
basis/ui/tools/listener/completion/completion.factor
basis/ui/tools/listener/listener.factor

index 9e892de21b65bb55a7ea43a90196b0595ee08833..fb1e06ba3724ffa3023e01a0c3fae2de57a7678f 100644 (file)
@@ -26,10 +26,11 @@ SLOT: history
 TUPLE: word-completion manifest ;
 C: <word-completion> 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 <word-completion> ]
     } cond ;
 
index 1022585e37d2529cd26741004fe7583cdbedbf4b..ec36ff7bdbd8c32772014b0b447b1759d7abcf1d 100644 (file)
@@ -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 )