Skip to content

Commit 7ddac39

Browse files
committed
Merge branch 'master' into use-flag-no-show-error-context
* master: Formalize the ProgressReporting Type (#4335) fix future index time (#4343) Cleanup disabled warnings (#4341) Cleanup imports after CPP removal + few hlint fixes (#4337)
2 parents 8ce8043 + 495af1f commit 7ddac39

File tree

44 files changed

+252
-335
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+252
-335
lines changed

cabal.project

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ packages:
77
./hls-plugin-api
88
./hls-test-utils
99

10-
index-state: 2024-07-20T00:00:00Z
10+
index-state: 2024-06-29T00:00:00Z
1111

1212
tests: True
1313
test-show-details: direct

ghcide/session-loader/Development/IDE/Session.hs

+5-9
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,17 @@ import Data.Foldable (for_)
100100
import Data.HashMap.Strict (HashMap)
101101
import Data.HashSet (HashSet)
102102
import qualified Data.HashSet as Set
103+
import qualified Data.Set as OS
103104
import Database.SQLite.Simple
104105
import Development.IDE.Core.Tracing (withTrace)
105106
import Development.IDE.Core.WorkerThread (awaitRunInThread,
106107
withWorkerQueue)
108+
import qualified Development.IDE.GHC.Compat.Util as Compat
107109
import Development.IDE.Session.Diagnostics (renderCradleError)
108110
import Development.IDE.Types.Shake (WithHieDb,
109111
WithHieDbShield (..),
110112
toNoFileKey)
113+
import GHC.Data.Graph.Directed
111114
import HieDb.Create
112115
import HieDb.Types
113116
import HieDb.Utils
@@ -116,13 +119,6 @@ import qualified System.Random as Random
116119
import System.Random (RandomGen)
117120
import Text.ParserCombinators.ReadP (readP_to_S)
118121

119-
120-
-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
121-
122-
import qualified Data.Set as OS
123-
import qualified Development.IDE.GHC.Compat.Util as Compat
124-
import GHC.Data.Graph.Directed
125-
126122
import GHC.Data.Bag
127123
import GHC.Driver.Env (hsc_all_home_unit_ids)
128124
import GHC.Driver.Errors.Types
@@ -832,7 +828,7 @@ checkHomeUnitsClosed' ue home_id_set
832828
where
833829
go rest this this_uis =
834830
plusUniqMap_C OS.union
835-
(addToUniqMap_C OS.union external_depends this (OS.fromList $ this_deps))
831+
(addToUniqMap_C OS.union external_depends this (OS.fromList this_deps))
836832
rest
837833
where
838834
external_depends = mapUniqMap (OS.fromList . unitDepends)
@@ -1154,7 +1150,7 @@ setOptions cfp (ComponentOptions theOpts compRoot _) dflags rootDir = do
11541150
-- This works because there won't be any dependencies on the
11551151
-- executable unit.
11561152
"main" ->
1157-
let hash = B.unpack $ B16.encode $ H.finalize $ H.updates H.init (map B.pack $ this_opts)
1153+
let hash = B.unpack $ B16.encode $ H.finalize $ H.updates H.init (map B.pack this_opts)
11581154
hashed_uid = Compat.toUnitId (Compat.stringToUnit ("main-"++hash))
11591155
in setHomeUnitId_ hashed_uid dflags'
11601156
_ -> dflags'

ghcide/src/Development/IDE/Core/Compile.hs

+47-44
Original file line numberDiff line numberDiff line change
@@ -38,72 +38,77 @@ module Development.IDE.Core.Compile
3838
, shareUsages
3939
) where
4040

41-
import Control.Concurrent.Extra
42-
import Control.Concurrent.STM.Stats hiding (orElse)
43-
import Control.DeepSeq (NFData (..), force, rnf)
44-
import Control.Exception (evaluate)
41+
import Control.Concurrent.STM.Stats hiding (orElse)
42+
import Control.DeepSeq (NFData (..), force,
43+
rnf)
44+
import Control.Exception (evaluate)
4545
import Control.Exception.Safe
46-
import Control.Lens hiding (List, pre, (<.>))
46+
import Control.Lens hiding (List, pre,
47+
(<.>))
4748
import Control.Monad.Extra
4849
import Control.Monad.IO.Class
4950
import Control.Monad.Trans.Except
50-
import qualified Control.Monad.Trans.State.Strict as S
51-
import Data.Aeson (toJSON)
52-
import Data.Bifunctor (first, second)
51+
import qualified Control.Monad.Trans.State.Strict as S
52+
import Data.Aeson (toJSON)
53+
import Data.Bifunctor (first, second)
5354
import Data.Binary
54-
import qualified Data.ByteString as BS
55+
import qualified Data.ByteString as BS
5556
import Data.Coerce
56-
import qualified Data.DList as DL
57+
import qualified Data.DList as DL
5758
import Data.Functor
5859
import Data.Generics.Aliases
5960
import Data.Generics.Schemes
60-
import qualified Data.HashMap.Strict as HashMap
61-
import Data.IntMap (IntMap)
61+
import qualified Data.HashMap.Strict as HashMap
62+
import Data.IntMap (IntMap)
6263
import Data.IORef
6364
import Data.List.Extra
64-
import qualified Data.Map.Strict as Map
65+
import qualified Data.Map.Strict as Map
6566
import Data.Maybe
66-
import Data.Proxy (Proxy (Proxy))
67-
import qualified Data.Text as T
68-
import Data.Time (UTCTime (..))
69-
import Data.Tuple.Extra (dupe)
67+
import Data.Proxy (Proxy (Proxy))
68+
import qualified Data.Text as T
69+
import Data.Time (UTCTime (..))
70+
import Data.Tuple.Extra (dupe)
7071
import Debug.Trace
71-
import Development.IDE.Core.FileStore (resetInterfaceStore)
72+
import Development.IDE.Core.FileStore (resetInterfaceStore)
7273
import Development.IDE.Core.Preprocessor
74+
import Development.IDE.Core.ProgressReporting (progressUpdate)
7375
import Development.IDE.Core.RuleTypes
7476
import Development.IDE.Core.Shake
75-
import Development.IDE.Core.Tracing (withTrace)
76-
import Development.IDE.GHC.Compat hiding (assert,
77-
loadInterface, parseHeader,
78-
parseModule, tcRnModule,
79-
writeHieFile)
80-
import qualified Development.IDE.GHC.Compat as Compat
81-
import qualified Development.IDE.GHC.Compat as GHC
82-
import qualified Development.IDE.GHC.Compat.Util as Util
83-
import Development.IDE.Core.ProgressReporting (ProgressReporting (..), progressReportingOutsideState)
77+
import Development.IDE.Core.Tracing (withTrace)
78+
import Development.IDE.GHC.Compat hiding (assert,
79+
loadInterface,
80+
parseHeader,
81+
parseModule,
82+
tcRnModule,
83+
writeHieFile)
84+
import qualified Development.IDE.GHC.Compat as Compat
85+
import qualified Development.IDE.GHC.Compat as GHC
86+
import qualified Development.IDE.GHC.Compat.Util as Util
8487
import Development.IDE.GHC.CoreFile
8588
import Development.IDE.GHC.Error
86-
import Development.IDE.GHC.Orphans ()
89+
import Development.IDE.GHC.Orphans ()
8790
import Development.IDE.GHC.Util
8891
import Development.IDE.GHC.Warnings
8992
import Development.IDE.Types.Diagnostics
9093
import Development.IDE.Types.Location
9194
import Development.IDE.Types.Options
92-
import GHC (ForeignHValue,
93-
GetDocsFailure (..),
94-
parsedSource)
95-
import qualified GHC.LanguageExtensions as LangExt
95+
import GHC (ForeignHValue,
96+
GetDocsFailure (..),
97+
parsedSource)
98+
import qualified GHC.LanguageExtensions as LangExt
9699
import GHC.Serialized
97-
import HieDb hiding (withHieDb)
98-
import qualified Language.LSP.Protocol.Message as LSP
99-
import Language.LSP.Protocol.Types (DiagnosticTag (..))
100-
import qualified Language.LSP.Server as LSP
101-
import Prelude hiding (mod)
100+
import HieDb hiding (withHieDb)
101+
import qualified Language.LSP.Protocol.Message as LSP
102+
import Language.LSP.Protocol.Types (DiagnosticTag (..))
103+
import qualified Language.LSP.Server as LSP
104+
import Prelude hiding (mod)
102105
import System.Directory
103106
import System.FilePath
104-
import System.IO.Extra (fixIO, newTempFileWithin)
107+
import System.IO.Extra (fixIO,
108+
newTempFileWithin)
105109

106-
import qualified GHC as G
110+
import qualified Data.Set as Set
111+
import qualified GHC as G
107112
import GHC.Tc.Gen.Splice
108113
import GHC.Types.ForeignStubs
109114
import GHC.Types.HpcInfo
@@ -112,18 +117,16 @@ import GHC.Types.TypeEnv
112117
-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
113118

114119

115-
import qualified Data.Set as Set
116-
117120
#if MIN_VERSION_ghc(9,5,0)
118121
import GHC.Core.Lint.Interactive
119122
import GHC.Driver.Config.CoreToStg.Prep
120123
#endif
121124

122125
#if MIN_VERSION_ghc(9,7,0)
123-
import Data.Foldable (toList)
126+
import Data.Foldable (toList)
124127
import GHC.Unit.Module.Warnings
125128
#else
126-
import Development.IDE.Core.FileStore (shareFilePath)
129+
import Development.IDE.Core.FileStore (shareFilePath)
127130
#endif
128131

129132
--Simple constants to make sure the source is consistently named
@@ -292,7 +295,7 @@ captureSplicesAndDeps TypecheckHelpers{..} env k = do
292295

293296
{- load it -}
294297
; (fv_hvs, lbss, pkgs) <- loadDecls (hscInterp hsc_env') hsc_env' srcspan bcos
295-
; let hval = ((expectJust "hscCompileCoreExpr'" $ lookup (idName binding_id) fv_hvs), lbss, pkgs)
298+
; let hval = (expectJust "hscCompileCoreExpr'" $ lookup (idName binding_id) fv_hvs, lbss, pkgs)
296299

297300
; modifyIORef' var (flip extendModuleEnvList [(mi_module $ hm_iface hm, linkableHash lb) | lb <- lbs, let hm = linkableHomeMod lb])
298301
; return hval }

ghcide/src/Development/IDE/Core/OfInterest.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ kick = do
141141
toJSON $ map fromNormalizedFilePath files
142142

143143
signal (Proxy @"kick/start")
144-
progressUpdate progress ProgressNewStarted
144+
liftIO $ progressUpdate progress ProgressNewStarted
145145

146146
-- Update the exports map
147147
results <- uses GenerateCore files
@@ -152,7 +152,7 @@ kick = do
152152
let mguts = catMaybes results
153153
void $ liftIO $ atomically $ modifyTVar' exportsMap (updateExportsMapMg mguts)
154154

155-
progressUpdate progress ProgressCompleted
155+
liftIO $ progressUpdate progress ProgressCompleted
156156

157157
GarbageCollectVar var <- getIdeGlobalAction
158158
garbageCollectionScheduled <- liftIO $ readVar var

ghcide/src/Development/IDE/Core/Preprocessor.hs

+1-4
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,10 @@ import Development.IDE.GHC.Error
2828
import Development.IDE.Types.Diagnostics
2929
import Development.IDE.Types.Location
3030
import qualified GHC.LanguageExtensions as LangExt
31+
import GHC.Utils.Logger (LogFlags (..))
3132
import System.FilePath
3233
import System.IO.Extra
3334

34-
-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
35-
36-
import GHC.Utils.Logger (LogFlags (..))
37-
3835
-- | Given a file and some contents, apply any necessary preprocessors,
3936
-- e.g. unlit/cpp. Return the resulting buffer and the DynFlags it implies.
4037
preprocessor :: HscEnv -> FilePath -> Maybe Util.StringBuffer -> ExceptT [FileDiagnostic] IO (Util.StringBuffer, [String], HscEnv, Util.Fingerprint)

0 commit comments

Comments
 (0)