@@ -11,6 +11,7 @@ import Data.Array (filter, head)
1111import Data.Either (Either (..), either )
1212import Data.Maybe (Maybe (..))
1313import Data.String (null )
14+ import Data.String as String
1415import Data.String.Regex as Regex
1516import Data.String.Regex.Flags (noFlags )
1617import Data.String.Regex.Unsafe (unsafeRegex )
@@ -19,6 +20,8 @@ import Data.Time.Duration (Milliseconds(..))
1920import Effect.Aff (Aff , attempt , delay , makeAff )
2021import Effect.Class (class MonadEffect , liftEffect )
2122import Foreign (Foreign )
23+ import Foreign.Object as Object
24+ import IdePurescript.Build (getPathProp )
2225import IdePurescript.Exec (findBins , getPathVar , shellSetting )
2326import IdePurescript.PscIdeServer (ErrorLevel (..), Notify )
2427import IdePurescript.PscIdeServer as P
@@ -28,7 +31,7 @@ import LanguageServer.Protocol.Types (Settings)
2831import Node.Buffer (toString )
2932import Node.ChildProcess as CP
3033import Node.Encoding (Encoding (..))
31- import Node.Process (lookupEnv )
34+ import Node.Process (getEnv , lookupEnv )
3235import PscIde (load )
3336import PscIde.Server (Executable (..))
3437
@@ -70,7 +73,9 @@ startServer' settings root cb logCb = do
7073 settings
7174 root
7275 spagoGlob <- getPackagerPaths Config .addSpagoSources " spago" settings root
73- pure (pscpGlob <> spagoGlob)
76+ let glob = pscpGlob <> spagoGlob
77+ liftEffect $ logCb Info $ " Source globs: " <> String .joinWith " " glob
78+ pure glob
7479 P .startServer'
7580 { exe
7681 , combinedExe: true
@@ -101,12 +106,17 @@ getPackagerPaths enabled binName settings root =
101106 else do
102107 pathVar <- liftEffect $ getPathVar (Config .addNpmPath settings) root
103108 serverBins <- findBins pathVar binName
109+ env <- liftEffect getEnv
104110 case head serverBins of
105111 Just (Executable bin _) ->
106112 makeAff \cb -> do
107113 void
108114 $ CP .execFile' bin [ " sources" ]
109- (_ { cwd = Just root, shell = shellSetting })
115+ (_ { cwd = Just root, shell = shellSetting
116+ , env = Just $ Object .insert (getPathProp env)
117+ (either identity identity pathVar)
118+ env
119+ })
110120 ( \{ stdout } -> do
111121 text <- toString UTF8 stdout
112122 cb $ pure $ lines text
0 commit comments