with-directory-files
qualified-directory-entries
qualified-directory-files
- with-qualified-directory-files
- with-qualified-directory-entries
} ;
ARTICLE: "io.directories.create" "Creating directories"
: qualified-directory-files ( path -- seq )
dup directory-files [ append-path ] with map! ;
-: with-qualified-directory-files ( path quot -- )
- '[ "" qualified-directory-files @ ] with-directory ; inline
-
-: with-qualified-directory-entries ( path quot -- )
- '[ "" qualified-directory-entries @ ] with-directory ; inline
-
SYMBOL: traversal-method
SYMBOLS: +depth-first+ +breadth-first+ ;
0 swap [ link-size/0 + ] each-file ;
: directory-usage ( path -- assoc )
- [
- [
- [ name>> dup ] [ directory? ] bi
- [ directory-size ] [ link-size/0 ] if
- ] { } map>assoc
- ] with-qualified-directory-entries sort-values ;
+ qualified-directory-entries [
+ [ name>> dup ] [ directory? ] bi
+ [ directory-size ] [ link-size/0 ] if
+ ] { } map>assoc sort-values ;
: find-files-by-extensions ( path extensions -- seq )
[ >lower ] map
: add-child-monitors ( path -- )
! We yield since this directory scan might take a while.
- [
- [ add-child-monitor ] each yield
- ] with-qualified-directory-files ;
+ qualified-directory-files [ add-child-monitor ] each yield ;
: add-child-monitor ( path -- )
notify? [ dup { +add-file+ } monitor tget queue-change ] when