@@ -31,6 +31,7 @@ import Data.Maybe
3131import qualified Data.Text as T
3232import qualified Data.Text.IO as T
3333import Data.Typeable
34+ import Development.IDE.Core.FileStore
3435import Development.IDE.Core.OfInterest
3536import Development.IDE.Core.Rules
3637import Development.IDE.Core.Shake
@@ -154,25 +155,25 @@ getIdeas nfp = do
154155#ifdef GHC_LIB
155156 moduleEx flags = do
156157 flags' <- setExtensions flags
157- Just <$> (liftIO $ parseModuleEx flags' (fromNormalizedFilePath nfp) Nothing )
158+ (_, contents) <- getFileContents nfp
159+ let fp = fromNormalizedFilePath nfp
160+ let contents' = T. unpack <$> contents
161+ Just <$> (liftIO $ parseModuleEx flags' fp contents')
158162
159163 setExtensions flags = do
160164 hsc <- hscEnv <$> use_ GhcSession nfp
161165 let dflags = hsc_dflags hsc
162166 let hscExts = EnumSet. toList (extensionFlags dflags)
163- logm $ " hlint:getIdeas:setExtensions:hscExtensions:" ++ show hscExts
164167 let hlintExts = mapMaybe (GhclibParserEx. readExtension . show ) hscExts
165- logm $ " hlint:getIdeas:setExtensions:hlintExtensions: " ++ show hlintExts
168+ logm $ " hlint:getIdeas:setExtensions:" ++ show hlintExts
166169 return $ flags { enabledExtensions = hlintExts }
167170#else
168171 moduleEx _flags = do
169172 mbpm <- getParsedModule nfp
170- case mbpm of
171- Nothing -> return Nothing
172- Just pm -> do
173- let anns = pm_annotations pm
174- let modu = pm_parsed_source pm
175- return $ Just $ Right (createModuleEx anns modu)
173+ return $ createModule <$> mbpm
174+ where createModule pm = Right (createModuleEx anns modu)
175+ where anns = pm_annotations pm
176+ modu = pm_parsed_source pm
176177#endif
177178
178179-- ---------------------------------------------------------------------
0 commit comments