]> gitweb.factorcode.org Git - factor.git/commitdiff
tools.scaffold: make sure vocab does not exist.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 24 Feb 2018 23:49:32 +0000 (15:49 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 24 Feb 2018 23:49:32 +0000 (15:49 -0800)
basis/tools/scaffold/scaffold.factor

index 762dcd6d25c5cdaca41a686b789c2c0f0ff2d1f0..6f9209aec93b44179ab73fe5fb61cded61084fbe 100644 (file)
@@ -14,6 +14,8 @@ SYMBOL: using
 
 ERROR: not-a-vocab-root string ;
 
+ERROR: vocab-must-not-exist string ;
+
 <PRIVATE
 
 : vocab-root? ( string -- ? )
@@ -28,6 +30,9 @@ ERROR: not-a-vocab-root string ;
 : check-vocab-root/vocab ( vocab-root string -- vocab-root string )
     [ check-root ] [ check-vocab-name ] bi* ;
 
+: check-vocab-exists ( string -- string )
+    dup vocab-exists? [ vocab-must-not-exist ] when ;
+
 : replace-vocab-separators ( vocab -- path )
     path-separator first CHAR: . associate substitute ; inline
 
@@ -273,7 +278,7 @@ PRIVATE>
     [ "platforms.txt" ] dip scaffold-metadata ;
 
 : scaffold-vocab ( vocab-root string -- )
-    {
+    check-vocab-exists {
         [ scaffold-directory ]
         [ scaffold-main ]
         [ nip require ]