Loading a vocab updates the browser if appropriate
parent
0cab0bab24
commit
487abce510
|
@ -68,8 +68,8 @@ GENERIC: definitions-changed ( assoc obj -- )
|
||||||
dup changed-vocabs update ;
|
dup changed-vocabs update ;
|
||||||
|
|
||||||
: finish-compilation-unit ( -- )
|
: finish-compilation-unit ( -- )
|
||||||
changed-definitions notify-definition-observers
|
changed-words get keys recompile-hook get call
|
||||||
changed-words get keys recompile-hook get call ;
|
changed-definitions notify-definition-observers ;
|
||||||
|
|
||||||
: with-compilation-unit ( quot -- )
|
: with-compilation-unit ( quot -- )
|
||||||
[
|
[
|
||||||
|
|
|
@ -31,7 +31,7 @@ debugger ;
|
||||||
[ t ] [
|
[ t ] [
|
||||||
"kernel" vocab-files
|
"kernel" vocab-files
|
||||||
"kernel" vocab vocab-files
|
"kernel" vocab vocab-files
|
||||||
"kernel" f \ vocab-link construct-boa vocab-files
|
"kernel" f <vocab-link> vocab-files
|
||||||
3array all-equal?
|
3array all-equal?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ IN: temporary
|
||||||
[ { 3 3 3 } ] [
|
[ { 3 3 3 } ] [
|
||||||
"vocabs.loader.test.2" run
|
"vocabs.loader.test.2" run
|
||||||
"vocabs.loader.test.2" vocab run
|
"vocabs.loader.test.2" vocab run
|
||||||
"vocabs.loader.test.2" f \ vocab-link construct-boa run
|
"vocabs.loader.test.2" f <vocab-link> run
|
||||||
3array
|
3array
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ IN: temporary
|
||||||
[ 3 ] [ "count-me" get-global ] unit-test
|
[ 3 ] [ "count-me" get-global ] unit-test
|
||||||
|
|
||||||
[ { "resource:core/kernel/kernel.factor" 1 } ]
|
[ { "resource:core/kernel/kernel.factor" 1 } ]
|
||||||
[ "kernel" f \ vocab-link construct-boa where ] unit-test
|
[ "kernel" f <vocab-link> where ] unit-test
|
||||||
|
|
||||||
[ { "resource:core/kernel/kernel.factor" 1 } ]
|
[ { "resource:core/kernel/kernel.factor" 1 } ]
|
||||||
[ "kernel" vocab where ] unit-test
|
[ "kernel" vocab where ] unit-test
|
||||||
|
|
|
@ -85,11 +85,19 @@ SYMBOL: load-vocab-hook
|
||||||
|
|
||||||
TUPLE: vocab-link name root ;
|
TUPLE: vocab-link name root ;
|
||||||
|
|
||||||
|
C: <vocab-link> vocab-link
|
||||||
|
|
||||||
|
M: vocab-link equal?
|
||||||
|
over vocab-link?
|
||||||
|
[ [ vocab-link-name ] 2apply = ] [ 2drop f ] if ;
|
||||||
|
|
||||||
|
M: vocab-link hashcode*
|
||||||
|
vocab-link-name hashcode* ;
|
||||||
|
|
||||||
M: vocab-link vocab-name vocab-link-name ;
|
M: vocab-link vocab-name vocab-link-name ;
|
||||||
|
|
||||||
: >vocab-link ( name root -- vocab )
|
: >vocab-link ( name root -- vocab )
|
||||||
over vocab dup
|
over vocab dup [ 2nip ] [ drop <vocab-link> ] if ;
|
||||||
[ 2nip ] [ drop \ vocab-link construct-boa ] if ;
|
|
||||||
|
|
||||||
UNION: vocab-spec vocab vocab-link ;
|
UNION: vocab-spec vocab vocab-link ;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
USING: debugger ui.tools.workspace help help.topics kernel
|
USING: debugger ui.tools.workspace help help.topics kernel
|
||||||
models ui.commands ui.gadgets ui.gadgets.panes
|
models ui.commands ui.gadgets ui.gadgets.panes
|
||||||
ui.gadgets.scrollers ui.gadgets.tracks ui.gestures
|
ui.gadgets.scrollers ui.gadgets.tracks ui.gestures
|
||||||
ui.gadgets.buttons compiler.units assocs words ;
|
ui.gadgets.buttons compiler.units assocs words vocabs ;
|
||||||
IN: ui.tools.browser
|
IN: ui.tools.browser
|
||||||
|
|
||||||
TUPLE: browser-gadget pane history ;
|
TUPLE: browser-gadget pane history ;
|
||||||
|
@ -42,9 +42,10 @@ M: browser-gadget ungraft*
|
||||||
remove-definition-observer ;
|
remove-definition-observer ;
|
||||||
|
|
||||||
: showing-definition? ( defspec assoc -- ? )
|
: showing-definition? ( defspec assoc -- ? )
|
||||||
2dup key? >r
|
[ key? ] 2keep
|
||||||
>r dup word-link? [ link-name ] when r> key?
|
[ >r dup word-link? [ link-name ] when r> key? ] 2keep
|
||||||
r> or ;
|
>r dup vocab-link? [ vocab ] when r> key?
|
||||||
|
or or ;
|
||||||
|
|
||||||
M: browser-gadget definitions-changed ( assoc browser -- )
|
M: browser-gadget definitions-changed ( assoc browser -- )
|
||||||
browser-gadget-history
|
browser-gadget-history
|
||||||
|
|
Loading…
Reference in New Issue