File tree Expand file tree Collapse file tree 4 files changed +18
-4
lines changed Expand file tree Collapse file tree 4 files changed +18
-4
lines changed Original file line number Diff line number Diff line change 2
2
/node_modules /
3
3
/.pulp-cache /
4
4
/output /
5
- /.psci *
5
+ /.psc *
6
6
/src /.webpack.js
Original file line number Diff line number Diff line change 13
13
"purescript-console" : " ^3.0.0" ,
14
14
"purescript-maybe" : " ^3.0.0" ,
15
15
"purescript-either" : " ^3.0.0" ,
16
+ "purescript-errors" : " ^3.0.0" ,
16
17
"purescript-arrays" : " ^4.0.1" ,
17
18
"purescript-aff" : " ^3.0.0" ,
19
+ "purescript-affjax" : " ^4.0.0" ,
18
20
"purescript-argonaut" : " ^3.0.0" ,
19
21
"purescript-strings" : " ^3.0.0" ,
20
- "purescript-psc-ide" : " ^10.0 .0" ,
22
+ "purescript-psc-ide" : " ^10.1 .0" ,
21
23
"purescript-refs" : " ^3.0.0" ,
22
24
"purescript-nullable" : " ^3.0.0" ,
23
25
"purescript-node-fs" : " ^4.0.0" ,
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ module IdePurescript.Modules (
11
11
, findImportInsertPos
12
12
, addModuleImport
13
13
, addExplicitImport
14
+ , addQualifiedImport
14
15
, ImportResult (..)
15
16
) where
16
17
@@ -197,3 +198,13 @@ addExplicitImport state port fileName text moduleName qualifier identifier =
197
198
shouldAddMatch mn (Module { moduleName: moduleName', qualifier: Nothing , importType: Hiding idents })
198
199
| moduleName' == mn = identifier `elem` idents
199
200
shouldAddMatch _ _ = true
201
+
202
+ addQualifiedImport :: forall eff . State -> Int -> String -> String -> String -> String
203
+ -> Aff (net :: P.NET , fs :: FS | eff ) { state :: State , result :: ImportResult }
204
+ addQualifiedImport state port fileName text moduleName qualifier =
205
+ if not isThisModule
206
+ then { state, result: _ } <$> withTempFile fileName text addImport
207
+ else pure { state, result: FailedImport }
208
+ where
209
+ addImport tmpFile = P .qualifiedImport port tmpFile (Just tmpFile) moduleName qualifier
210
+ isThisModule = Just moduleName == state.main
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ import Control.Monad.Aff (Aff)
10
10
import Control.Monad.Error.Class (throwError )
11
11
import Data.Argonaut.Decode (class DecodeJson , decodeJson )
12
12
import Data.Argonaut.Decode.Combinators ((.?))
13
- import Data.Array (head )
13
+ import Data.Array (head , null )
14
14
import Data.Either (Either (Right, Left))
15
15
import Data.Maybe (maybe , Maybe (..))
16
16
import Data.Nullable (toNullable , Nullable )
@@ -87,7 +87,8 @@ getCompletion' :: forall eff. Maybe C.Matcher -> Array C.Filter -> Int -> Maybe
87
87
getCompletion' matcher mainFilter port currentModule modulePrefix unqualModules getQualifiedModule opts =
88
88
eitherToErr $ P .complete port (mainFilter <> moduleFilters) matcher currentModule opts
89
89
where
90
- moduleFilters = [ C.ModuleFilter $ maybe unqualModules getQualifiedModule modulePrefix ]
90
+ modules = maybe unqualModules getQualifiedModule modulePrefix
91
+ moduleFilters = [ C.ModuleFilter $ if null modules then unqualModules else modules ]
91
92
92
93
loadDeps :: forall eff . Int -> String
93
94
-> Aff (net :: P.NET | eff ) String
You can’t perform that action at this time.
0 commit comments