@@ -16,7 +16,7 @@ import Data.Aeson
16
16
import qualified Data.HashMap.Strict as Map
17
17
import qualified Data.HashSet as Set
18
18
import Data.List (find )
19
- import qualified Data.Map as DM ( Map , fromListWith , empty )
19
+ import qualified Data.HashMap.Strict as HM
20
20
import Data.Maybe
21
21
import qualified Data.Text as T
22
22
import Development.IDE.Core.PositionMapping
@@ -140,21 +140,21 @@ getCompletionsLSP ide plId
140
140
binds <- fromMaybe (mempty , zeroMapping) <$> useWithStaleFast GetBindings npath
141
141
exportsMapIO <- fmap (envPackageExports . fst ) <$> useWithStaleFast GhcSession npath
142
142
exportsMap <- mapM liftIO exportsMapIO
143
- let moduleExports = buildModouleExportMap exportsMap
144
- let exportsCompItems = foldMap (map (fromIdentInfo uri) . Set. toList) . Map. elems . getExportsMap <$> exportsMap
143
+ let moduleExports = buildModuleExportMap exportsMap
144
+ exportsCompItems = foldMap (map (fromIdentInfo uri) . Set. toList) . Map. elems . getExportsMap <$> exportsMap
145
145
exportsCompls = mempty {anyQualCompls = fromMaybe [] exportsCompItems}
146
146
let compls = (fst <$> localCompls) <> (fst <$> nonLocalCompls) <> Just exportsCompls
147
147
pure (opts, fmap (,pm,binds) compls, moduleExports)
148
- case ( compls, moduleExports) of
149
- (Just (cci', parsedMod, bindMap), mExports ) -> do
148
+ case compls of
149
+ (Just (cci', parsedMod, bindMap)) -> do
150
150
pfix <- VFS. getCompletionPrefix position cnts
151
151
case (pfix, completionContext) of
152
152
(Just (VFS. PosPrefixInfo _ " " _ _), Just CompletionContext { _triggerCharacter = Just " ." })
153
153
-> return (InL $ List [] )
154
154
(Just pfix', _) -> do
155
155
let clientCaps = clientCapabilities $ shakeExtras ide
156
156
config <- getCompletionsConfig plId
157
- allCompletions <- liftIO $ getCompletions plId ideOpts cci' parsedMod bindMap pfix' clientCaps config mExports
157
+ allCompletions <- liftIO $ getCompletions plId ideOpts cci' parsedMod bindMap pfix' clientCaps config moduleExports
158
158
pure $ InL (List allCompletions)
159
159
_ -> return (InL $ List [] )
160
160
_ -> return (InL $ List [] )
@@ -166,14 +166,14 @@ identInfoToKeyVal :: IdentInfo -> (T.Text, T.Text)
166
166
identInfoToKeyVal IdentInfo {rendered, moduleNameText} =
167
167
(moduleNameText, rendered)
168
168
169
- buildModouleExportMap :: Maybe ( ExportsMap ) -> DM. Map T. Text [T. Text ]
170
- buildModouleExportMap (Just exportsMap) = do
169
+ buildModuleExportMap :: Maybe ExportsMap -> HM. HashMap T. Text [T. Text ]
170
+ buildModuleExportMap (Just exportsMap) = do
171
171
sortAndGroup $ map identInfoToKeyVal $
172
172
concatMap (Set. toList . snd ) $ toList $ getExportsMap exportsMap
173
- buildModouleExportMap ( Nothing ) = DM . empty
173
+ buildModuleExportMap Nothing = HM . empty
174
174
175
- sortAndGroup :: [(T. Text , T. Text )] -> DM. Map T. Text [T. Text ]
176
- sortAndGroup assocs = DM . fromListWith (++) [(k, [v]) | (k, v) <- assocs]
175
+ sortAndGroup :: [(T. Text , T. Text )] -> HM. HashMap T. Text [T. Text ]
176
+ sortAndGroup assocs = HM . fromListWith (++) [(k, [v]) | (k, v) <- assocs]
177
177
178
178
extendImportCommand :: PluginCommand IdeState
179
179
extendImportCommand =
0 commit comments