factor/basis/tools/rename/rename.factor

19 lines
644 B
Factor

! Copyright (C) 2011 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: combinators.short-circuit io.directories.search io.files
io.files.info io.pathnames kernel sequences ;
IN: tools.rename
ERROR: directory-contains-files-error path ;
: directory-contains-files? ( path -- ? )
qualified-directory-files [ link-info directory? ] all? not ;
: check-new-vocab-path ( old new -- old new )
2dup [ vocab-path parent-directory ] dip append-path
{ [ exists? ] [ directory-contains-files? ] } 1&&
[ directory-contains-files-error ] unless ;
: rename-vocab ( old new -- )
check-new-vocab-path 2drop ;