@@ -21,53 +21,28 @@ import Control.DeepSeq
2121import Control.Exception
2222import Control.Lens ((^.) )
2323import Control.Monad
24- import Control.Monad.Extra
25- import Control.Monad.Trans.Maybe
2624import Control.Monad.IO.Class
2725import Control.Monad.Trans.Except
28- import qualified Data.Aeson as Aeson
29- import Data.Aeson.Types (ToJSON (.. ), FromJSON (.. ), Value (.. ), Result (.. ))
26+ import Data.Aeson.Types (ToJSON (.. ), FromJSON (.. ), Value (.. ))
3027import Data.Binary
31- import qualified Data.ByteString as BS
32- import Data.Either.Extra
33- import Data.Foldable
34- import Data.Functor
35- import qualified Data.HashMap.Strict as Map
3628import qualified Data.HashSet as HashSet
3729import Data.Hashable
38- import Data.List
39- import Data.Map.Strict (Map )
40- import qualified Data.Map.Strict as Map
4130import Data.Maybe
42- import qualified Data.Set as Set
43- import Data.Set (Set )
4431import qualified Data.Text as T
4532import qualified Data.Text.IO as T
4633import Data.Typeable
47- import Data.Typeable (Typeable )
4834import Development.IDE.Core.OfInterest
49- import Development.IDE.Core.RuleTypes
5035import Development.IDE.Core.Rules
51- import Development.IDE.Core.Service
5236import Development.IDE.Core.Shake
53- import Development.IDE.GHC.Util (hscEnv )
54- import Development.IDE.LSP.Server
55- import Development.IDE.Plugin
5637import Development.IDE.Types.Diagnostics as D
5738import Development.IDE.Types.Location
58- import Development.IDE.Types.Logger
5939import Development.Shake
6040-- import Development.Shake hiding ( Diagnostic )
6141import GHC hiding (DynFlags (.. ))
62- import GHC.Generics
63- import GHC.Generics (Generic )
64- import SrcLoc
65- import HscTypes (ModIface , ModSummary )
6642
67- #ifndef GHC_LIB
68- import GHC (DynFlags (.. ))
69- import HscTypes (hsc_dflags )
70- #else
43+ #ifdef GHC_LIB
44+ import Development.IDE.Core.RuleTypes (GhcSession (.. ))
45+ import Development.IDE.GHC.Util (hscEnv )
7146import RealGHC (DynFlags (.. ))
7247import RealGHC.HscTypes (hsc_dflags )
7348import qualified RealGHC.EnumSet as EnumSet
@@ -78,19 +53,12 @@ import Ide.Logger
7853import Ide.Types
7954import Ide.Plugin
8055import Ide.PluginUtils
81- import Language.Haskell.HLint
8256import Language.Haskell.HLint as Hlint
83- import qualified Language.Haskell.LSP.Core as LSP
84- import Language.Haskell.LSP.Messages
8557import Language.Haskell.LSP.Types
8658import qualified Language.Haskell.LSP.Types as LSP
8759import qualified Language.Haskell.LSP.Types.Lens as LSP
88- import System.Directory
89- import System.Directory.Extra as Dir
90- import System.Environment.Blank
91- import System.FilePath
92- import System.IO.Error
9360import Text.Regex.TDFA.Text ()
61+ import GHC.Generics (Generic )
9462
9563-- ---------------------------------------------------------------------
9664
@@ -180,16 +148,7 @@ getIdeas nfp = do
180148 fmap applyHints' (moduleEx flags)
181149
182150 where moduleEx :: ParseFlags -> Action (Maybe (Either ParseError ModuleEx ))
183- #ifndef GHC_LIB
184- moduleEx _flags = do
185- mbpm <- getParsedModule nfp
186- case mbpm of
187- Nothing -> return Nothing
188- Just pm -> do
189- let anns = pm_annotations pm
190- let modu = pm_parsed_source pm
191- return $ Just $ Right (createModuleEx anns modu)
192- #else
151+ #ifdef GHC_LIB
193152 moduleEx flags = do
194153 flags' <- setExtensions flags
195154 Just <$> (liftIO $ parseModuleEx flags' (fromNormalizedFilePath nfp) Nothing )
@@ -202,6 +161,15 @@ getIdeas nfp = do
202161 let hlintExts = mapMaybe (GhclibParserEx. readExtension . show ) hscExts
203162 logm $ " getIdeas:setExtensions:hlintExtensions:" ++ show hlintExts
204163 return $ flags { enabledExtensions = hlintExts }
164+ #else
165+ moduleEx _flags = do
166+ mbpm <- getParsedModule nfp
167+ case mbpm of
168+ Nothing -> return Nothing
169+ Just pm -> do
170+ let anns = pm_annotations pm
171+ let modu = pm_parsed_source pm
172+ return $ Just $ Right (createModuleEx anns modu)
205173#endif
206174
207175-- ---------------------------------------------------------------------
0 commit comments