hls-eval-plugin 2.5.0.0 → 2.6.0.0
raw patch · 4 files changed
+30/−10 lines, 4 filesdep ~ghcidedep ~hls-plugin-apidep ~hls-test-utilsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ghcide, hls-plugin-api, hls-test-utils
API changes (from Hackage documentation)
Files
- hls-eval-plugin.cabal +4/−4
- src/Ide/Plugin/Eval.hs +2/−1
- src/Ide/Plugin/Eval/CodeLens.hs +3/−5
- src/Ide/Plugin/Eval/GHC.hs +21/−0
hls-eval-plugin.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-eval-plugin-version: 2.5.0.0+version: 2.6.0.0 synopsis: Eval plugin for Haskell Language Server description: Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>@@ -67,10 +67,10 @@ , ghc , ghc-boot-th , ghc-paths- , ghcide == 2.5.0.0+ , ghcide == 2.6.0.0 , hashable , hls-graph- , hls-plugin-api == 2.5.0.0+ , hls-plugin-api == 2.6.0.0 , lens , lsp , lsp-types@@ -112,7 +112,7 @@ , filepath , hls-eval-plugin , hls-plugin-api- , hls-test-utils == 2.5.0.0+ , hls-test-utils == 2.6.0.0 , lens , lsp-types , text
src/Ide/Plugin/Eval.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# OPTIONS_GHC -Wwarn #-} {-# LANGUAGE LambdaCase #-}@@ -34,7 +35,7 @@ -- |Plugin descriptor descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState descriptor recorder plId =- (defaultPluginDescriptor plId)+ (defaultPluginDescriptor plId "Provies a code lens to evaluate expressions in doctest comments") { pluginHandlers = mkPluginHandler SMethod_TextDocumentCodeLens CL.codeLens , pluginCommands = [CL.evalCommand plId] , pluginRules = rules (cmapWithPrio LogEvalRules recorder)
src/Ide/Plugin/Eval/CodeLens.hs view
@@ -116,7 +116,8 @@ import Ide.Plugin.Eval.GHC (addImport, addPackages, hasPackage,- showDynFlags)+ showDynFlags,+ setSessionAndInteractiveDynFlags) import Ide.Plugin.Eval.Parse.Comments (commentsToSections) import Ide.Plugin.Eval.Parse.Option (parseSetFlags) import Ide.Plugin.Eval.Rules (queueForEvaluation,@@ -465,9 +466,7 @@ <> T.pack (intercalate ", " $ map SrcLoc.unLoc ignoreds) ] dbg "post set" $ showDynFlags df'- _ <- setSessionDynFlags df'- sessDyns <- getSessionDynFlags- setInteractiveDynFlags sessDyns+ setSessionAndInteractiveDynFlags df' pure $ warnings <> igns | -- A type/kind command Just (cmd, arg) <- parseGhciLikeCmd $ T.pack stmt =@@ -689,4 +688,3 @@ parseGhciLikeCmd input = do (':', rest) <- T.uncons $ T.stripStart input pure $ second T.strip $ T.break isSpace rest-
src/Ide/Plugin/Eval/GHC.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-}@@ -11,6 +12,7 @@ addPackages, modifyFlags, showDynFlags,+ setSessionAndInteractiveDynFlags, ) where import Data.List (isPrefixOf)@@ -25,6 +27,12 @@ import GHC.LanguageExtensions.Type (Extension (..)) import Ide.Plugin.Eval.Util (gStrictTry) +#if MIN_VERSION_ghc(9,3,0)+import GHC (setUnitDynFlags, setTopSessionDynFlags)+import GHC.Driver.Session (getDynFlags)+import GHC.Driver.Env+#endif+ {- $setup >>> import GHC >>> import GHC.Paths@@ -164,3 +172,16 @@ vList :: [String] -> SDoc vList = vcat . map text++setSessionAndInteractiveDynFlags :: DynFlags -> Ghc ()+setSessionAndInteractiveDynFlags df = do+#if MIN_VERSION_ghc(9,3,0)+ _ <- setUnitDynFlags (homeUnitId_ df) df+ modifySession (hscUpdateLoggerFlags . hscSetActiveUnitId (homeUnitId_ df))+ df' <- getDynFlags+ setTopSessionDynFlags df'+#else+ _ <- setSessionDynFlags df+#endif+ sessDyns <- getSessionDynFlags+ setInteractiveDynFlags sessDyns