modules global var now holds a sequence of modules not an association list
parent
412ed15a08
commit
a00e10d106
|
|
@ -25,7 +25,9 @@ C: module ( name files tests help -- module )
|
||||||
[ >r dupd prefix-paths r> set-module-files ] keep
|
[ >r dupd prefix-paths r> set-module-files ] keep
|
||||||
[ set-module-name ] keep ;
|
[ set-module-name ] keep ;
|
||||||
|
|
||||||
: module modules get assoc ;
|
M: module <=> [ module-name ] 2apply <=> ;
|
||||||
|
|
||||||
|
: module modules get [ module-name = ] find-with nip ;
|
||||||
|
|
||||||
: load-module ( name -- )
|
: load-module ( name -- )
|
||||||
[
|
[
|
||||||
|
|
@ -41,12 +43,8 @@ C: module ( name files tests help -- module )
|
||||||
[ second call ] subset
|
[ second call ] subset
|
||||||
0 <column> >array ;
|
0 <column> >array ;
|
||||||
|
|
||||||
: add-module ( module -- )
|
|
||||||
dup module-name swap 2array modules get push ;
|
|
||||||
|
|
||||||
: remove-module ( name -- )
|
: remove-module ( name -- )
|
||||||
modules get [ first = ] find-with nip
|
module [ modules get delete ] when* ;
|
||||||
[ modules get delete ] when* ;
|
|
||||||
|
|
||||||
: provide ( name hash -- )
|
: provide ( name hash -- )
|
||||||
over remove-module [
|
over remove-module [
|
||||||
|
|
@ -55,18 +53,15 @@ C: module ( name files tests help -- module )
|
||||||
+help+ get
|
+help+ get
|
||||||
] bind <module>
|
] bind <module>
|
||||||
[ module-files run-files ] keep
|
[ module-files run-files ] keep
|
||||||
add-module ;
|
modules get push ;
|
||||||
|
|
||||||
: test-module ( name -- ) module module-tests run-tests ;
|
: test-module ( name -- ) module module-tests run-tests ;
|
||||||
|
|
||||||
: all-modules ( -- seq ) modules get 1 <column> ;
|
|
||||||
|
|
||||||
: test-modules ( -- )
|
: test-modules ( -- )
|
||||||
all-modules [ module-tests ] map concat run-tests ;
|
modules get [ module-tests ] map concat run-tests ;
|
||||||
|
|
||||||
: modules. ( -- )
|
: modules. ( -- )
|
||||||
all-modules
|
modules get natural-sort
|
||||||
[ [ module-name ] 2apply <=> ] sort
|
|
||||||
[ [ module-name ] keep write-object terpri ] each ;
|
[ [ module-name ] keep write-object terpri ] each ;
|
||||||
|
|
||||||
: reload-module ( module -- )
|
: reload-module ( module -- )
|
||||||
|
|
@ -77,7 +72,7 @@ C: module ( name files tests help -- module )
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
: reload-modules ( -- )
|
: reload-modules ( -- )
|
||||||
all-modules [ reload-module ] each do-parse-hook ;
|
modules get [ reload-module ] each do-parse-hook ;
|
||||||
|
|
||||||
: run-module ( name -- )
|
: run-module ( name -- )
|
||||||
dup require
|
dup require
|
||||||
|
|
@ -91,4 +86,4 @@ C: module ( name files tests help -- module )
|
||||||
] ?if ;
|
] ?if ;
|
||||||
|
|
||||||
: modules-help ( -- seq )
|
: modules-help ( -- seq )
|
||||||
all-modules [ module-help ] map [ ] subset ;
|
modules get [ module-help ] map [ ] subset ;
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ HELP: module-def
|
||||||
{ $notes "This file is loaded by " { $link require } ", and should contain the necessary " { $link POSTPONE: REQUIRES: } " and " { $link POSTPONE: PROVIDE: } " declarations for the module." } ;
|
{ $notes "This file is loaded by " { $link require } ", and should contain the necessary " { $link POSTPONE: REQUIRES: } " and " { $link POSTPONE: PROVIDE: } " declarations for the module." } ;
|
||||||
|
|
||||||
HELP: modules
|
HELP: modules
|
||||||
{ $var-description "Association list mapping loaded module names to " { $link module } " instances." }
|
{ $var-description "Sequence of " { $link module } " instances." }
|
||||||
{ $see-also require load-module } ;
|
{ $see-also require load-module } ;
|
||||||
|
|
||||||
HELP: load-module
|
HELP: load-module
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue