tools.completion: merge qualified and unqualified word completions.
parent
cc08ad38a4
commit
c200cfb8ca
|
@ -75,29 +75,27 @@ PRIVATE>
|
||||||
rank-completions
|
rank-completions
|
||||||
] bi-curry if-empty ;
|
] bi-curry if-empty ;
|
||||||
|
|
||||||
: name-completions ( str seq -- seq' )
|
: named ( seq -- seq' )
|
||||||
[ dup name>> ] { } map>assoc completions ;
|
[ dup name>> ] { } map>assoc ;
|
||||||
|
|
||||||
: vocabs-matching ( str -- seq )
|
: vocabs-matching ( str -- seq )
|
||||||
all-disk-vocabs-recursive filter-vocabs name-completions ;
|
all-disk-vocabs-recursive filter-vocabs named completions ;
|
||||||
|
|
||||||
: vocab-words-matching ( str vocab -- seq )
|
: vocab-words-matching ( str vocab -- seq )
|
||||||
vocab-words name-completions ;
|
vocab-words named completions ;
|
||||||
|
|
||||||
: qualified-matching ( str -- seq/f )
|
: qualified-named ( str -- seq/f )
|
||||||
":" split1 [
|
":" split1 [
|
||||||
swap vocabs-matching keys [
|
drop vocabs-matching keys [
|
||||||
[ vocab-words ] [ vocab-name ] bi ":" append
|
[ vocab-words ] [ vocab-name ] bi ":" append
|
||||||
[ over name>> append ] curry { } map>assoc
|
[ over name>> append ] curry { } map>assoc
|
||||||
] map! concat completions
|
] map! concat
|
||||||
] [ drop f ] if* ;
|
] [ drop f ] if* ;
|
||||||
|
|
||||||
: words-matching ( str -- seq )
|
: words-matching ( str -- seq )
|
||||||
[ all-words name-completions ]
|
[ all-words named ]
|
||||||
[ qualified-matching [ prepend ] unless-empty ] bi ;
|
[ qualified-named [ append ] unless-empty ] bi
|
||||||
|
completions ;
|
||||||
: chars-matching ( str -- seq )
|
|
||||||
name-map keys dup zip completions ;
|
|
||||||
|
|
||||||
: colors-matching ( str -- seq )
|
: colors-matching ( str -- seq )
|
||||||
named-colors dup zip completions ;
|
named-colors dup zip completions ;
|
||||||
|
|
Loading…
Reference in New Issue