@@ -27,7 +27,7 @@ import Language.PureScript.Ide.Types (Ide, IdeConfiguration(..), IdeEnvironment(
27
27
import Language.PureScript.Ide.Util (ideReadFile )
28
28
import System.Directory (getCurrentDirectory )
29
29
import Database.SQLite.Simple qualified as SQLite
30
- import System.FilePath ((</>) )
30
+ import System.FilePath ((</>) , makeRelative )
31
31
import Data.Aeson (decode )
32
32
import Language.PureScript.Externs (ExternsFile (ExternsFile ))
33
33
import Data.ByteString qualified as T
@@ -38,7 +38,6 @@ import Unsafe.Coerce (unsafeCoerce)
38
38
import Database.SQLite.Simple (Query (fromQuery ), ToRow , SQLData (SQLText ))
39
39
import Data.String (String )
40
40
import Codec.Serialise (deserialise )
41
- import System.FilePath (makeRelative )
42
41
43
42
-- | Given a filepath performs the following steps:
44
43
--
@@ -248,34 +247,34 @@ sortExterns'
248
247
=> FilePath
249
248
-> P. Module
250
249
-> m [P. ExternsFile ]
251
- sortExterns' _ m = do
250
+ sortExterns' _ m = do
252
251
let P. Module _ _ _ declarations _ = m
253
252
let moduleDependencies = declarations >>= \ case
254
253
P. ImportDeclaration _ importName _ _ -> [importName]
255
254
_ -> []
256
255
257
256
externs <- runQuery $ unlines [
258
257
" with recursive" ,
259
- " graph(dependency, level) as (" ,
258
+ " graph(dependency, level) as (" ,
260
259
" select module_name , 1 as level" ,
261
- " from modules where module_name in (" <> Data.Text. intercalate " , " (moduleDependencies <&> \ v -> " '" <> runModuleName v <> " '" ) <> " )" ,
260
+ " from modules where module_name in (" <> Data.Text. intercalate " , " (moduleDependencies <&> \ v -> " '" <> runModuleName v <> " '" ) <> " )" ,
262
261
" union " ,
263
- " select d.dependency as dep, graph.level + 1 as level" ,
264
- " from graph join dependencies d on graph.dependency = d.module_name" ,
262
+ " select d.dependency as dep, graph.level + 1 as level" ,
263
+ " from graph join dependencies d on graph.dependency = d.module_name" ,
265
264
" )," ,
266
- " topo as (" ,
267
- " select dependency, max(level) as level" ,
268
- " from graph group by dependency" ,
269
- " ) " ,
265
+ " topo as (" ,
266
+ " select dependency, max(level) as level" ,
267
+ " from graph group by dependency" ,
268
+ " ) " ,
270
269
" select extern" ,
271
270
" from topo join modules on topo.dependency = modules.module_name order by level desc;"
272
271
]
273
272
274
- pure $ (externs >>= identity) <&> deserialise
273
+ pure $ (externs >>= identity) <&> deserialise
275
274
276
- -- !r <- SQLite.withConnection (outputDir </> "cache.db") \conn ->
275
+ -- !r <- SQLite.withConnection (outputDir </> "cache.db") \conn ->
277
276
-- SQLite.query conn query (SQLite.Only $ "[" <> Data.Text.intercalate ", " (dependencies <&> \v -> "\"" <> runModuleName v <> "\"") <> "]")
278
- -- <&> \r -> (r >>= identity) <&> deserialise
277
+ -- <&> \r -> (r >>= identity) <&> deserialise
279
278
-- pure r
280
279
281
280
-- | Removes a modules export list.
0 commit comments