diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor index 17eafa91c6..6659940b2b 100644 --- a/basis/tools/scaffold/scaffold.factor +++ b/basis/tools/scaffold/scaffold.factor @@ -16,13 +16,18 @@ ERROR: vocab-name-contains-dot path ; ERROR: no-vocab vocab ; . ; +: (scaffold-path) ( path string -- path ) + dupd [ file-name ] dip append append-path ; + : scaffold-path ( path string -- path ? ) - dupd [ file-name ] dip append append-path + (scaffold-path) dup exists? [ dup not-scaffolding f ] [ dup scaffolding t ] if ; : scaffold-copyright ( -- ) @@ -205,14 +213,15 @@ ERROR: no-vocab vocab ; : check-vocab ( vocab -- vocab ) dup find-vocab-root [ no-vocab ] unless ; + PRIVATE> : link-vocab ( vocab -- ) check-vocab "Edit documentation: " write - [ find-vocab-root ] keep - [ append-path ] keep "-docs.factor" append append-path - . ; + [ find-vocab-root ] + [ vocab>scaffold-path ] bi + "-docs.factor" (scaffold-path) . ; : help. ( word -- ) [ (help.) ] [ nl vocabulary>> link-vocab ] bi ;