SYMBOL: using
ERROR: not-a-vocab-root string ;
-ERROR: vocab-name-contains-separator path ;
-ERROR: vocab-name-contains-dot path ;
<PRIVATE
: ensure-vocab-exists ( string -- string )
dup loaded-vocab-names member? [ no-vocab ] unless ;
-: check-vocab-name ( string -- string )
- [ ]
- [ contains-dot? [ vocab-name-contains-dot ] when ]
- [ contains-separator? [ vocab-name-contains-separator ] when ] tri ;
-
: check-root ( string -- string )
dup vocab-root? [ not-a-vocab-root ] unless ;
[ "platforms.txt" ] dip scaffold-metadata ;
: scaffold-vocab ( vocab-root string -- )
- check-vocab-name {
+ {
[ scaffold-directory ]
[ scaffold-main ]
[ nip require ]