diff --git a/extra/io/paths/paths.factor b/extra/io/paths/paths.factor new file mode 100644 index 0000000000..3afb110687 --- /dev/null +++ b/extra/io/paths/paths.factor @@ -0,0 +1,24 @@ +USING: assocs io.files kernel namespaces sequences ; +IN: io.paths + +: find-file ( seq str -- path/f ) + [ + [ path+ exists? ] curry find nip + ] keep over [ path+ ] [ drop ] if ; + + + +: walk-dir ( path -- seq ) [ (walk-dir) ] { } make ; diff --git a/extra/io/unix/files/files.factor b/extra/io/unix/files/files.factor index 8f1d05876d..f9d642d661 100755 --- a/extra/io/unix/files/files.factor +++ b/extra/io/unix/files/files.factor @@ -38,21 +38,3 @@ M: unix-io make-directory ( path -- ) M: unix-io delete-directory ( path -- ) rmdir io-error ; - -M: unix-io binary-roots ( -- seq ) - { - "/bin" "/sbin" - "/usr/bin" "/usr/sbin" - "/usr/local/bin" "/usr/local/sbin" - "/opt/local/bin" "/opt/local/sbin" - "~/bin" - } ; - -M: unix-io library-roots ( -- seq ) - { - "/lib" - "/usr/lib" - "/usr/local/lib" - "/opt/local/lib" - "/lib64" - } ; diff --git a/extra/io/windows/windows.factor b/extra/io/windows/windows.factor index 2defa48298..8dcb138999 100755 --- a/extra/io/windows/windows.factor +++ b/extra/io/windows/windows.factor @@ -11,16 +11,6 @@ TUPLE: windows-nt-io ; TUPLE: windows-ce-io ; UNION: windows-io windows-nt-io windows-ce-io ; -M: windows-io library-roots ( -- seq ) - [ - windows , - ] { } make ; - -M: windows-io binary-roots ( -- seq ) - [ - windows , - ] { } make ; - M: windows-io destruct-handle CloseHandle drop ; M: windows-io destruct-socket closesocket drop ;