]> gitweb.factorcode.org Git - factor.git/commitdiff
io.standard-paths: Add application-directories word
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 9 Aug 2022 04:29:26 +0000 (23:29 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Mon, 10 Jul 2023 07:02:12 +0000 (02:02 -0500)
basis/io/standard-paths/standard-paths.factor
basis/io/standard-paths/unix/unix.factor
basis/io/standard-paths/windows/windows.factor

index 5acde7dbf60754f83d1d22cb5642ad7b71bf337d..086aabf7c62314db18f1d16d436e9ef01036d915 100644 (file)
@@ -12,6 +12,8 @@ HOOK: find-in-applications os ( directories filename -- path )
 
 HOOK: find-in-standard-login-path* os ( string -- path/f )
 
+HOOK: application-directories os ( -- paths )
+
 M: object find-in-standard-login-path*
     find-in-path* ;
 
index b28e56f51e23dfd0c067853b488e833a1b63b865..0dd95eec49d72cda1ba610d5c17bdf67b80cb649 100644 (file)
@@ -6,8 +6,10 @@ io.pathnames io.standard-paths kernel math sequences splitting
 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.
index d74e304d05ea232d3195f95ef960eef905684478..e087520b70be388cea2c72e407256d91e986c2f8 100644 (file)
@@ -5,16 +5,16 @@ io.directories io.files io.pathnames io.standard-paths
 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