@@ -234,22 +234,27 @@ completion = completeWordWithPrev Nothing " \t\n\r" findCompletions
235 getLoadedModules :: StateT PSCiState IO [P.Module]
235 getLoadedModules :: StateT PSCiState IO [P.Module]
236 getLoadedModules = map snd . psciLoadedModules <$> get
236 getLoadedModules = map snd . psciLoadedModules <$> get
237 getModuleNames :: StateT PSCiState IO [String]
238 getModuleNames :: StateT PSCiState IO [String]
238 getModuleNames = moduleNames <$> getLoadedModules
239 getModuleNames = moduleNames <$> getLoadedModules
239 getIdentNames :: StateT PSCiState IO [String]
241 getIdentNames :: StateT PSCiState IO [String]
240 getIdentNames = identNames <$> getLoadedModules
242 getIdentNames = identNames <$> getLoadedModules
242 getDeclName :: Maybe [P.DeclarationRef] -> P.Declaration -> Maybe P.Ident
244 getDeclName :: Maybe [P.DeclarationRef] -> P.Declaration -> Maybe P.Ident
243− getDeclName Nothing (P.ValueDeclaration ident _ _ _) = Just ident
245+ getDeclName exts (P.ValueDeclaration ident _ _ _) | isExported ident exts = Just ident
244− getDeclName (Just exts) (P.ValueDeclaration ident _ _ _) | isExported = Just ident
246+ getDeclName exts (P.ExternDeclaration _ ident _ _) | isExported ident exts = Just ident
247+ getDeclName exts (P.PositionedDeclaration _ d) = getDeclName exts d
248+ getDeclName _ _ = Nothing
250+ isExported :: N.Ident -> Maybe [P.DeclarationRef] -> Bool
251+ isExported ident = maybe True (any exports)
246− isExported = any exports exts
253+ exports :: P.DeclarationRef -> Bool
247 exports (P.ValueRef ident') = ident == ident'
254 exports (P.ValueRef ident') = ident == ident'
248 exports (P.PositionedDeclarationRef _ r) = exports r
255 exports (P.PositionedDeclarationRef _ r) = exports r
249 exports _ = False
256 exports _ = False
250− getDeclName exts (P.PositionedDeclaration _ d) = getDeclName exts d
257+
251− getDeclName _ _ = Nothing
253 identNames :: [P.Module] -> [String]
258 identNames :: [P.Module] -> [String]
254 identNames ms = nub [ show qual
259 identNames ms = nub [ show qual
255 | P.Module moduleName ds exts <- ms
260 | P.Module moduleName ds exts <- ms