Remove library/binary-roots, add walk-dir and find-file to io.paths
parent
43c82592ad
commit
dff6194aad
|
@ -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 ;
|
||||
|
||||
<PRIVATE
|
||||
: append-path ( path files -- paths )
|
||||
[ path+ ] curry* map ;
|
||||
|
||||
: get-paths ( dir -- paths )
|
||||
dup directory keys append-path ;
|
||||
|
||||
: (walk-dir) ( path -- )
|
||||
dup directory? [
|
||||
get-paths dup % [ (walk-dir) ] each
|
||||
] [
|
||||
drop
|
||||
] if ;
|
||||
PRIVATE>
|
||||
|
||||
: walk-dir ( path -- seq ) [ (walk-dir) ] { } make ;
|
|
@ -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"
|
||||
} ;
|
||||
|
|
|
@ -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 ;
|
||||
|
|
Loading…
Reference in New Issue