t load-help? set-global
- [ dup vocab [ ] [ no-vocab ] ?if ] load-vocab-hook [
+ [ dup lookup-vocab [ ] [ no-vocab ] ?if ] load-vocab-hook [
dictionary get values
[ docs-loaded?>> not ] filter
[ load-docs ] each
USING: kernel vocabs vocabs.loader sequences system ;
{ "ui" "help" "tools" }
-[ "bootstrap." prepend vocab ] all? [
+[ "bootstrap." prepend lookup-vocab ] all? [
"ui.tools" require
{ "ui.backend.cocoa" } "ui.backend.cocoa.tools" require-when
M: link edit name>> edit ;
M: string edit
- dup vocab [ edit ] [ cannot-find-source ] ?if ;
+ dup lookup-vocab [ edit ] [ cannot-find-source ] ?if ;
: edit-error ( error -- )
[ error-file ] [ error-line ] bi
] each ;
: vocab-exists? ( name -- ? )
- [ vocab ] [ all-vocabs get member? ] bi or ;
+ [ lookup-vocab ] [ all-vocabs get member? ] bi or ;
: check-modules ( element -- )
\ $vocab-link swap elements [
[ [ ($link) ] textual-list ] ($span) ;
: $vocab-links ( vocabs -- )
- [ vocab ] map $links ;
+ [ lookup-vocab ] map $links ;
: $breadcrumbs ( topics -- )
[ [ ($link) ] " > " (textual-list) ] ($span) ;
IN: help.vocabs
: about ( vocab -- )
- [ require ] [ vocab help ] bi ;
+ [ require ] [ lookup-vocab help ] bi ;
: vocab-row ( vocab -- row )
[ <$pretty-link> ] [ vocab-summary ] bi 2array ;
: describe-words ( vocab -- )
{
- { [ dup vocab ] [ words $words ] }
+ { [ dup lookup-vocab ] [ words $words ] }
{ [ dup find-vocab-root ] [ vocab-is-not-loaded ] }
[ drop ]
} cond ;
: only-use-vocabs ( vocabs -- )
clear-manifest
- [ vocab ] filter
+ [ lookup-vocab ] filter
[
- vocab
+ lookup-vocab
[ find-vocab-root not ]
[ source-loaded?>> +done+ eq? ] bi or
] filter
<PRIVATE
: seeing-word ( word -- )
- vocabulary>> dup [ vocab ] when pprinter-in set ;
+ vocabulary>> dup [ lookup-vocab ] when pprinter-in set ;
: word-synopsis ( word -- )
{
: vocab-profile. ( vocab -- )
"Call counts for words in the " write
- dup dup vocab write-object
+ dup dup lookup-vocab write-object
" vocabulary:" print
words counters counters. ;
[ [ [ forget-source ] each ] with-compilation-unit ] [ drop ] if ;
: test-vocab ( vocab -- )
- vocab dup [
+ lookup-vocab dup [
dup source-loaded?>> [
vocab-tests
[ [ run-test-file ] each ]
{
[ key? ]
[ [ dup word-link? [ name>> ] when ] dip key? ]
- [ [ dup vocab-link? [ vocab ] when ] dip key? ]
+ [ [ dup vocab-link? [ lookup-vocab ] when ] dip key? ]
} 2|| ;
M: browser-gadget definitions-changed ( assoc browser -- )
] if ;
: vocab-exists? ( name -- ? )
- '[ _ { [ vocab ] [ find-vocab-root ] } 1|| ] [ drop f ] recover ;
+ '[ _ { [ lookup-vocab ] [ find-vocab-root ] } 1|| ] [ drop f ] recover ;
GENERIC: (word-at-caret) ( token completion-mode -- obj )
[ <model> ] dip <profiler-model> [ f prefix ] <arrow> ;
: <vocabs-model> ( profiler -- model )
- [ vocab-counters [ [ vocab ] dip ] assoc-map ] dip
+ [ vocab-counters [ [ lookup-vocab ] dip ] assoc-map ] dip
<profiler-filter-model> ;
: <generic-model> ( profiler -- model )
: vocab-heading. ( vocab -- )
nl
"==== " write
- [ vocab-name ] [ vocab write-object ] bi ":" print
+ [ vocab-name ] [ lookup-vocab write-object ] bi ":" print
nl ;
: load-error. ( triple -- )
recover
] each
failures get
- ] with-scope ;
\ No newline at end of file
+ ] with-scope ;
[ t ] [
"kernel" vocab-files
- "kernel" vocab vocab-files
+ "kernel" lookup-vocab vocab-files
"kernel" <vocab-link> vocab-files
3array all-equal?
-] unit-test
\ No newline at end of file
+] unit-test
IN: vocabs.generated
: generate-vocab ( vocab-name quot -- vocab )
- [ dup vocab [ ] ] dip '[
+ [ dup lookup-vocab [ ] ] dip '[
[
[
[ _ with-current-vocab ] [ ] [ forget-vocab ] cleanup
\r
: child-vocabs ( prefix -- assoc )\r
[ [ vocab-roots get ] dip '[ dup _ (child-vocabs) ] { } map>assoc ]\r
- [ unrooted-child-vocabs [ vocab ] map f swap 2array ]\r
+ [ unrooted-child-vocabs [ lookup-vocab ] map f swap 2array ]\r
bi suffix ;\r
\r
: all-vocabs ( -- assoc )\r
\r
: child-vocabs-recursive ( prefix -- assoc )\r
[ [ vocab-roots get ] dip '[ dup _ (child-vocabs-recursive) ] { } map>assoc ]\r
- [ unrooted-child-vocabs-recursive [ vocab ] map f swap 2array ]\r
+ [ unrooted-child-vocabs-recursive [ lookup-vocab ] map f swap 2array ]\r
bi suffix ;\r
\r
MEMO: all-vocabs-recursive ( -- assoc )\r
IN: vocabs.prettyprint
: pprint-vocab ( vocab -- )
- [ vocab-name ] [ vocab vocab-style ] bi styled-text ;
+ [ vocab-name ] [ lookup-vocab vocab-style ] bi styled-text ;
: pprint-in ( vocab -- )
[ \ IN: pprint-word pprint-vocab ] with-pprint ;
[ vocab-name ] sort-with ;
: pprint-using ( seq -- )
- [ "syntax" vocab = not ] filter
+ [ "syntax" lookup-vocab = not ] filter
sort-vocabs [
\ USING: pprint-word
[ pprint-vocab ] each
{ inset { 5 5 } }
} [ manifest get pprint-manifest ] with-nesting
nl nl
-] print-use-hook set-global
\ No newline at end of file
+] print-use-hook set-global
SYMBOL: changed-vocabs
: changed-vocab ( vocab -- )
- dup vocab changed-vocabs get and
+ dup lookup-vocab changed-vocabs get and
[ dup changed-vocabs get set-at ] [ drop ] if ;
: unchanged-vocab ( vocab -- )
[
[
[ modified-sources ]
- [ vocab source-loaded?>> ]
+ [ lookup-vocab source-loaded?>> ]
[ vocab-source-path ]
tri (to-refresh)
] [
[ modified-docs ]
- [ vocab docs-loaded?>> ]
+ [ lookup-vocab docs-loaded?>> ]
[ vocab-docs-path ]
tri (to-refresh)
] bi
: do-refresh ( modified-sources modified-docs unchanged -- )
unchanged-vocabs
[
- [ [ vocab f >>source-loaded? drop ] each ]
- [ [ vocab f >>docs-loaded? drop ] each ] bi*
+ [ [ lookup-vocab f >>source-loaded? drop ] each ]
+ [ [ lookup-vocab f >>docs-loaded? drop ] each ] bi*
]
[
union
! Now we have ( syntax-quot arch-quot layouts-quot ) on the stack
! Bring up a bare cross-compiling vocabulary.
-"syntax" vocab vocab-words bootstrap-syntax set
+"syntax" lookup-vocab vocab-words bootstrap-syntax set
H{ } clone dictionary set
H{ } clone root-cache set
: changed-vocabs ( assoc -- vocabs )
[ drop word? ] assoc-filter
- [ drop vocabulary>> dup [ vocab ] when dup ] assoc-map ;
+ [ drop vocabulary>> dup [ lookup-vocab ] when dup ] assoc-map ;
: updated-definitions ( -- assoc )
H{ } clone
[ "vocabs.loader.test" >vocab-link ] unit-test
[ t ]
-[ "kernel" >vocab-link "kernel" vocab = ] unit-test
+[ "kernel" >vocab-link "kernel" lookup-vocab = ] unit-test
IN: vocabs.loader.test.2
[ ] [
"vocabs.loader.test.2" run
- "vocabs.loader.test.2" vocab run
+ "vocabs.loader.test.2" lookup-vocab run
"vocabs.loader.test.2" <vocab-link> run
] unit-test
2 [
[ "vocabs.loader.test.a" require ] must-fail
- [ f ] [ "vocabs.loader.test.a" vocab source-loaded?>> ] unit-test
+ [ f ] [ "vocabs.loader.test.a" lookup-vocab source-loaded?>> ] unit-test
[ t ] [
"resource:core/vocabs/loader/test/a/a.factor"
[ "kernel" <vocab-link> where ] unit-test
[ { "resource:core/kernel/kernel.factor" 1 } ]
-[ "kernel" vocab where ] unit-test
+[ "kernel" lookup-vocab where ] unit-test
[ ] [
[
[ +done+ ] [
[ "vocabs.loader.test.d" require ] [ :1 ] recover
- "vocabs.loader.test.d" vocab source-loaded?>>
+ "vocabs.loader.test.d" lookup-vocab source-loaded?>>
] unit-test
: forget-junk ( -- )
[ ] [ [ "vocabs.loader.test.j" require ] [ drop :1 ] recover ] unit-test
[ ] [ "vocabs.loader.test.m" require ] unit-test
-[ f ] [ "vocabs.loader.test.n" vocab ] unit-test
+[ f ] [ "vocabs.loader.test.n" lookup-vocab ] unit-test
[ ] [ "vocabs.loader.test.o" require ] unit-test
-[ t ] [ "vocabs.loader.test.n" vocab >boolean ] unit-test
+[ t ] [ "vocabs.loader.test.n" lookup-vocab >boolean ] unit-test
[
"mno" [ "vocabs.loader.test." swap suffix forget-vocab ] each
] with-compilation-unit
[ ] [ "vocabs.loader.test.o" require ] unit-test
-[ f ] [ "vocabs.loader.test.n" vocab ] unit-test
+[ f ] [ "vocabs.loader.test.n" lookup-vocab ] unit-test
[ ] [ "vocabs.loader.test.m" require ] unit-test
-[ t ] [ "vocabs.loader.test.n" vocab >boolean ] unit-test
+[ t ] [ "vocabs.loader.test.n" lookup-vocab >boolean ] unit-test
[
"mno" [ "vocabs.loader.test." swap suffix forget-vocab ] each
: load-conditional-requires ( vocab -- )
vocab-name require-when-vocabs get in? [
require-when-table get [
- [ [ vocab dup [ source-loaded?>> +done+ = ] when ] all? ] dip
+ [ [ lookup-vocab dup [ source-loaded?>> +done+ = ] when ] all? ] dip
[ require ] curry when
] assoc-each
] when ;
load-vocab drop ;
: require-when ( if then -- )
- over [ vocab ] all? [
+ over [ lookup-vocab ] all? [
require drop
] [
[ drop [ require-when-vocabs get adjoin ] each ]
] if ;
: reload ( name -- )
- dup vocab
+ dup lookup-vocab
[ [ load-source ] [ load-docs ] bi ]
[ require ]
?if ;
[
dup vocab-name blacklist get at* [ rethrow ] [
drop dup find-vocab-root
- [ (load-vocab) ] [ dup vocab [ ] [ no-vocab ] ?if ] if
+ [ (load-vocab) ] [ dup lookup-vocab [ ] [ no-vocab ] ?if ] if
] if
] load-vocab-hook set-global
M: exclude update trim-forgotten ;
M: qualified update
- dup vocab>> vocab [
+ dup vocab>> lookup-vocab [
dup [ prefix>> ] [ vocab>> load-vocab ] bi qualified-words
>>words
] [ drop f ] if ;
-M: vocab update dup name>> vocab eq? ;
+M: vocab update dup name>> lookup-vocab eq? ;
: update-manifest ( manifest -- )
- [ dup [ name>> vocab ] when ] change-current-vocab
- [ [ drop vocab ] assoc-filter ] change-search-vocab-names
- dup search-vocab-names>> keys [ vocab ] V{ } map-as >>search-vocabs
+ [ dup [ name>> lookup-vocab ] when ] change-current-vocab
+ [ [ drop lookup-vocab ] assoc-filter ] change-search-vocab-names
+ dup search-vocab-names>> keys [ lookup-vocab ] V{ } map-as >>search-vocabs
qualified-vocabs>> [ update ] filter! drop ;
M: manifest definitions-changed ( assoc manifest -- )
}
"Looking up existing vocabularies and creating new vocabularies:"
{ $subsections
- vocab
+ lookup-vocab
child-vocabs
create-vocab
}
{ $values { "seq" "a sequence of strings" } }
{ $description "Outputs a sequence of all defined vocabulary names." } ;
-HELP: vocab
+HELP: lookup-vocab
{ $values { "vocab-spec" "a vocabulary specifier" } { "vocab" vocab } }
{ $description "Outputs a named vocabulary, or " { $link f } " if no vocabulary with this name exists." }
{ $class-description "Instances represent vocabularies." } ;
M: string vocab-name ;
-GENERIC: vocab ( vocab-spec -- vocab )
+GENERIC: lookup-vocab ( vocab-spec -- vocab )
-M: vocab vocab ;
+M: vocab lookup-vocab ;
-M: object vocab ( name -- vocab ) vocab-name dictionary get at ;
+M: object lookup-vocab ( name -- vocab ) vocab-name dictionary get at ;
GENERIC: vocab-words ( vocab-spec -- words )
M: vocab vocab-words words>> ;
-M: object vocab-words vocab vocab-words ;
+M: object vocab-words lookup-vocab vocab-words ;
M: f vocab-words ;
M: vocab vocab-help help>> ;
-M: object vocab-help vocab vocab-help ;
+M: object vocab-help lookup-vocab vocab-help ;
M: f vocab-help ;
M: vocab vocab-main main>> ;
-M: object vocab-main vocab vocab-main ;
+M: object vocab-main lookup-vocab vocab-main ;
M: f vocab-main ;
M: vocab-spec >vocab-link ;
-M: string >vocab-link dup vocab [ ] [ <vocab-link> ] ?if ;
+M: string >vocab-link dup lookup-vocab [ ] [ <vocab-link> ] ?if ;
: forget-vocab ( vocab -- )
[ words forget-all ]