system unix.users ;
IN: io.standard-paths.unix
+M: unix application-directories "PATH" os-env ":" split ;
+
M: unix find-in-path*
- [ "PATH" os-env ":" split ] dip
+ [ application-directories ] dip
'[ _ append-path file-exists? ] find nip ;
! iterm2 spews some terminal info on every bash command.
kernel sequences sets splitting system unicode windows.shell32 ;
IN: io.standard-paths.windows
-: program-files-directories ( -- array )
+M: windows application-directories
[
program-files
program-files-x86
"ProgramW6432" os-env
"LOCALAPPDATA" os-env "Programs" append-path
- ] output>array harvest members ; inline
+ ] output>array harvest members ;
: find-in-program-files ( base-directory quot -- path )
- [ program-files-directories ]
+ [ application-directories ]
[ '[ _ append-path ] map ]
[ find-file-in-directories ] tri* ; inline