@@ -120,7 +120,6 @@ buildMakeActions codegenRef =
120
120
outputPrimDocs :: Make. Make ()
121
121
outputPrimDocs = pure ()
122
122
123
-
124
123
server :: [P. ExternsFile ] -> P. Env -> P. Environment -> Int -> String -> IO ()
125
124
server externs initNamesEnv initEnv port pursIDEPortString = do
126
125
codegenRef <- IORef. newIORef Nothing
@@ -166,9 +165,24 @@ server externs initNamesEnv initEnv port pursIDEPortString = do
166
165
Right (warnings, comp) ->
167
166
Scotty. json $ A. object [ " js" .= comp, " warnings" .= warnings ]
168
167
169
- post " /complete" $ do
168
+ get " /complete" $ do
169
+ query <- param " q"
170
170
Scotty. setHeader " Access-Control-Allow-Origin" " *"
171
171
Scotty. setHeader " Content-Type" " application/json"
172
+ let mkCommand q = A. encode $ A. object
173
+ [ " command" .= (" complete" :: Text )
174
+ , " params" .= A. object
175
+ [ " filters" .= A. Array
176
+ ( V. fromList
177
+ [ A. object
178
+ [ " filter" .= (" prefix" :: Text )
179
+ , " params" .= A. object
180
+ [ " search" .= q ]
181
+ ]
182
+ ]
183
+ )
184
+ ]
185
+ ]
172
186
(Just handleIn, Just handleOut, _, _) <- liftIO $
173
187
Process. createProcess_
174
188
" purs-ide-client"
@@ -177,8 +191,7 @@ server externs initNamesEnv initEnv port pursIDEPortString = do
177
191
, Process. std_out = Process. CreatePipe
178
192
}
179
193
liftIO (IO. hSetBuffering handleIn NoBuffering )
180
- command <- BL.Char8. toStrict <$> body
181
- liftIO (BS.Char8. hPutStrLn handleIn command)
194
+ liftIO (BL.Char8. hPutStrLn handleIn (mkCommand (query :: Text )))
182
195
result <- liftIO (BS. hGetContents handleOut)
183
196
Scotty. text (TL. fromStrict (T. decodeUtf8 result))
184
197
@@ -265,6 +278,6 @@ main = do
265
278
case e of
266
279
Left err -> print err >> exitFailure
267
280
Right (exts, namesEnv, env) -> do
268
- let ideServer = Process. proc " purs" (" ide" : " server" : " -p" : pursIDEPortString: inputGlobs)
269
- Process. withCreateProcess ideServer $
281
+ let pursIDEServer = Process. proc " purs" (" ide" : " server" : " -p" : pursIDEPortString: inputGlobs)
282
+ Process. withCreateProcess pursIDEServer $
270
283
\ _ _ _ _ -> server exts namesEnv env port pursIDEPortString
0 commit comments