io.standard-paths: adding support for PATHEXT.
parent
071704072c
commit
be9bff0e5b
|
@ -1,14 +1,25 @@
|
||||||
! Copyright (C) 2011 Doug Coleman.
|
! Copyright (C) 2011 Doug Coleman.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: environment fry io.directories.search.windows io.files
|
USING: arrays assocs environment fry
|
||||||
io.pathnames io.standard-paths kernel sequences splitting
|
io.directories.search.windows io.files io.pathnames
|
||||||
system unicode.case ;
|
io.standard-paths kernel sequences splitting system
|
||||||
|
unicode.case ;
|
||||||
IN: io.standard-paths.windows
|
IN: io.standard-paths.windows
|
||||||
|
|
||||||
M: windows find-in-applications
|
M: windows find-in-applications
|
||||||
'[ [ >lower _ tail? ] find-in-program-files ] map-find drop ;
|
'[ [ >lower _ tail? ] find-in-program-files ] map-find drop ;
|
||||||
|
|
||||||
M: windows find-in-path*
|
: path ( -- path )
|
||||||
[ "PATH" os-env ";" split ] dip
|
"PATH" os-env ";" split "." prefix ;
|
||||||
'[ _ append-path exists? ] find nip ;
|
|
||||||
|
|
||||||
|
: path-extensions ( command -- commands )
|
||||||
|
"PATHEXT" os-env [
|
||||||
|
";" split 2dup [ [ >lower ] bi@ tail? ] with any?
|
||||||
|
[ drop 1array ] [ [ append ] with map ] if
|
||||||
|
] [ 1array ] if* ;
|
||||||
|
|
||||||
|
M: windows find-in-path*
|
||||||
|
path-extensions path
|
||||||
|
cartesian-product flip concat
|
||||||
|
[ prepend-path ] { } assoc>map
|
||||||
|
[ exists? ] find nip ;
|
||||||
|
|
Loading…
Reference in New Issue