@@ -31,6 +31,7 @@ import Data.Maybe
31
31
import qualified Data.Text as T
32
32
import qualified Data.Text.IO as T
33
33
import Data.Typeable
34
+ import Development.IDE.Core.FileStore
34
35
import Development.IDE.Core.OfInterest
35
36
import Development.IDE.Core.Rules
36
37
import Development.IDE.Core.Shake
@@ -154,25 +155,25 @@ getIdeas nfp = do
154
155
#ifdef GHC_LIB
155
156
moduleEx flags = do
156
157
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')
158
162
159
163
setExtensions flags = do
160
164
hsc <- hscEnv <$> use_ GhcSession nfp
161
165
let dflags = hsc_dflags hsc
162
166
let hscExts = EnumSet. toList (extensionFlags dflags)
163
- logm $ " hlint:getIdeas:setExtensions:hscExtensions:" ++ show hscExts
164
167
let hlintExts = mapMaybe (GhclibParserEx. readExtension . show ) hscExts
165
- logm $ " hlint:getIdeas:setExtensions:hlintExtensions: " ++ show hlintExts
168
+ logm $ " hlint:getIdeas:setExtensions:" ++ show hlintExts
166
169
return $ flags { enabledExtensions = hlintExts }
167
170
#else
168
171
moduleEx _flags = do
169
172
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
176
177
#endif
177
178
178
179
-- ---------------------------------------------------------------------
0 commit comments