vocab
Factor documentation > Factor handbook > The implementation > Vocabularies
Prev:dictionary
Next:vocab? ( object -- ? )


Vocabulary
vocabs

Definition
USING: kernel ;

IN: vocabs

TUPLE: vocab < identity-tuple
name words main help source-loaded? docs-loaded? ;


Methods
USING: accessors continuations kernel vocabs
vocabs.loader.private ;

M: vocab (require)
[
dup source-loaded?>> +parsing+ eq?
[ drop ] [
dup source-loaded?>> [ dup load-source ] unless
dup docs-loaded?>> [ dup load-docs ] unless drop
] if
] [ [ swap add-to-blacklist ] keep rethrow ] recover ;


USING: definitions.icons kernel vocabs ;

M: vocab definition-icon
drop "open-vocab" definition-icon-path ;


USING: vocabs vocabs.loader xmode.highlight ;

M: vocab highlight. vocab-source-path highlight. ;


USING: vocabs ;

M: vocab lookup-vocab ;


USING: accessors vocabs ;

M: vocab require name>> require ;


USING: accessors assocs kernel make math.parser summary vocabs
vocabs.metadata ;

M: vocab summary
[
dup vocab-summary % " (" % words>> assoc-size #
" words)" %
] "" make ;


USING: accessors kernel vocabs vocabs.parser.private ;

M: vocab update dup name>> lookup-vocab eq? ;


USING: accessors vocabs ;

M: vocab vocab-help help>> ;


USING: accessors vocabs ;

M: vocab vocab-main main>> ;


USING: accessors vocabs ;

M: vocab vocab-name name>> ;


USING: accessors vocabs ;

M: vocab vocab-words words>> ;