From bc3948e25a54a6dbbfefb93c3e74de25bb8f8a6e Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Tue, 11 Oct 2022 13:57:47 +0200 Subject: [PATCH 01/29] Initial working version --- cabal.project | 1 + haskell-language-server.cabal | 11 + .../CHANGELOG.md | 5 + .../hls-explicit-record-fields-plugin/LICENSE | 30 +++ .../hls-explicit-record-fields-plugin.cabal | 54 +++++ .../src/Ide/Plugin/ExplicitFields.hs | 228 ++++++++++++++++++ .../test/Main.hs | 4 + src/HlsPlugins.hs | 7 + 8 files changed, 340 insertions(+) create mode 100644 plugins/hls-explicit-record-fields-plugin/CHANGELOG.md create mode 100644 plugins/hls-explicit-record-fields-plugin/LICENSE create mode 100644 plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal create mode 100644 plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/Main.hs diff --git a/cabal.project b/cabal.project index 4950a95f3a..451c36d209 100644 --- a/cabal.project +++ b/cabal.project @@ -33,6 +33,7 @@ packages: ./plugins/hls-stan-plugin ./plugins/hls-gadt-plugin ./plugins/hls-explicit-fixity-plugin + ./plugins/hls-explicit-record-fields-plugin ./plugins/hls-refactor-plugin -- Standard location for temporary packages needed for particular environments diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index c2938ed6e7..d8450927a9 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -163,6 +163,11 @@ flag explicitFixity default: True manual: True +flag explicitFields + description: Enable explicitFields plugin + default: True + manual: True + -- formatters flag floskell @@ -300,6 +305,11 @@ common explicitFixity build-depends: hls-explicit-fixity-plugin ^>= 1.0 cpp-options: -DexplicitFixity +common explicitFields + if flag(explicitFields) + build-depends: hls-explicit-record-fields-plugin ^>= 1.0 + cpp-options: -DexplicitFields + -- formatters common floskell @@ -358,6 +368,7 @@ library , codeRange , gadt , explicitFixity + , explicitFields , floskell , fourmolu , ormolu diff --git a/plugins/hls-explicit-record-fields-plugin/CHANGELOG.md b/plugins/hls-explicit-record-fields-plugin/CHANGELOG.md new file mode 100644 index 0000000000..609eef3bed --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/CHANGELOG.md @@ -0,0 +1,5 @@ +# Revision history for hls-explicit-record-fields-plugin + +## 1.0.0.0 -- YYYY-mm-dd + +* First version. Released on an unsuspecting world. diff --git a/plugins/hls-explicit-record-fields-plugin/LICENSE b/plugins/hls-explicit-record-fields-plugin/LICENSE new file mode 100644 index 0000000000..00abc29fb4 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2022, Berk Ozkutuk + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Berk Ozkutuk nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal new file mode 100644 index 0000000000..f881fe00d9 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -0,0 +1,54 @@ +cabal-version: 3.0 +name: hls-explicit-record-fields-plugin +version: 1.0.0.0 +synopsis: Explicit record fields plugin for Haskell Language Server +description: + Please see the README on GitHub at +license: BSD-3-Clause +license-file: LICENSE +author: Berk Ozkutuk +maintainer: berk.ozkutuk@tweag.io +-- copyright: +category: Development +build-type: Simple +extra-doc-files: CHANGELOG.md +-- extra-source-files: + +source-repository head + type: git + location: https://github.com/haskell/haskell-language-server + +common warnings + ghc-options: -Wall + +library + import: warnings + exposed-modules: Ide.Plugin.ExplicitFields + -- other-modules: + -- other-extensions: + build-depends: + , base ^>=4.15.1.0 + , ghcide ^>=1.7 || ^>=1.8 + , hls-plugin-api ^>=1.4 || ^>=1.5 + , lsp + , lens + , hls-graph + , text + , syb + , transformers + , ghc + , unordered-containers + hs-source-dirs: src + default-language: Haskell2010 + +test-suite hls-explicit-record-fields-plugin-test + import: warnings + default-language: Haskell2010 + -- other-modules: + -- other-extensions: + type: exitcode-stdio-1.0 + hs-source-dirs: test + main-is: Main.hs + build-depends: + base ^>=4.15.1.0, + hls-explicit-record-fields-plugin diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs new file mode 100644 index 0000000000..eceda40d20 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -0,0 +1,228 @@ +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE FlexibleContexts #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE TypeOperators #-} +{-# LANGUAGE ViewPatterns #-} + +module Ide.Plugin.ExplicitFields + ( descriptor + ) where + +import Control.Arrow ((&&&)) +import Control.Lens ((^.)) +import Control.Monad.IO.Class (MonadIO, liftIO) +import Control.Monad.Trans.Except (ExceptT) +import Data.Data (Data) +import Data.Generics (GenericQ, everything, mkQ) +import qualified Data.HashMap.Strict as HashMap +import Data.Maybe (catMaybes, isJust, + maybeToList) +import Data.Text (Text) +import qualified Data.Text as T +import Development.IDE (IdeState, NormalizedFilePath, + Pretty (..), Priority (..), + Range (..), Recorder (..), + Rules, WithPriority (..), + logWith, realSrcSpanToRange, + srcSpanToRange) +import Development.IDE.Core.Rules (runAction) +import Development.IDE.Core.RuleTypes (GhcSessionDeps (..), + TcModuleResult (..), + TypeCheck (..)) +import Development.IDE.Core.Shake (define, use) +import qualified Development.IDE.Core.Shake as Shake +import Development.IDE.GHC.Compat (HasSrcSpan (..), + HsConDetails (RecCon), + HsRecFields (..), LPat, + Outputable, RealSrcSpan, SDoc, + SrcSpan, getLocA, locA, unLoc, + unLocA) +import Development.IDE.GHC.Compat.Core (GenLocated (..), GhcPass (..), + HsBindLR (..), + HsValBindsLR (..), + NHsValBindsLR (..), Pass (..), + Pat (..), hs_valds) +import Development.IDE.GHC.Compat.Util (bagToList) +import Development.IDE.GHC.Util (printOutputable) +import Development.IDE.Graph (RuleResult) +import Development.IDE.Graph.Classes (Hashable, NFData) +import Development.IDE.Types.Logger (cmapWithPrio) +import GHC.Data.Maybe (fromMaybe) +import GHC.Generics (Generic) +import GHC.Hs.Dump (BlankSrcSpan (..), + showAstData) +import Ide.PluginUtils (getNormalizedFilePath, + handleMaybeM, pluginResponse, + subRange) +import Ide.Types (PluginDescriptor (..), + PluginId, PluginMethodHandler, + defaultPluginDescriptor, + mkPluginHandler) +import Language.LSP.Types (CodeAction (..), + CodeActionKind (CodeActionRefactorRewrite), + CodeActionParams (..), + Command, List (..), + Method (..), SMethod (..), + TextEdit (..), + WorkspaceEdit (WorkspaceEdit), + fromNormalizedUri, + isSubrangeOf, + normalizedFilePathToUri, + type (|?) (InR)) +import qualified Language.LSP.Types.Lens as L + +showAstDataFull :: Data a => a -> SDoc +showAstDataFull = showAstData NoBlankSrcSpan +-- +-- showAstDataFull' :: Data a => a -> SDoc +-- showAstDataFull' = showAstData BlankSrcSpan + +-- `Outputable` instance of `HsRecFields` does smart things to print +-- the records that originally had wildcards with dots, even after they +-- are removed by the renamer pass. Here `rec_dotdot` is set to +-- `Nothing` so that fields are printed without such post-processing. +showRecord :: Outputable arg => HsRecFields p arg -> Text +showRecord rec = printOutputable (rec { rec_dotdot = Nothing }) + +-- Same as `showRecord` but works with `Pat` types. This is a partial function +-- but it is only ever called with record patterns, so it should be okay. +showRecordPat :: Outputable (Pat p) => Pat p -> Maybe Text +showRecordPat pat@(ConPat _ _ (RecCon flds)) = + Just $ printOutputable $ pat { pat_args = RecCon (flds { rec_dotdot = Nothing }) } +showRecordPat _ = Nothing + +data Log + = LogShake Shake.Log + | LogTxts [Text] + deriving Show + +instance Pretty Log where + pretty = \case + LogShake shakeLog -> pretty shakeLog + LogTxts txts -> pretty (length txts) <> " - " <> pretty txts + +descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState +descriptor recorder plId = (defaultPluginDescriptor plId) + { pluginHandlers = mkPluginHandler STextDocumentCodeAction (codeActionProvider recorder) + -- , pluginRules = collectRecordsRule recorder + } + +-- data CollectRecords = CollectRecords +-- deriving (Eq, Show, Generic) +-- +-- instance Hashable CollectRecords +-- instance NFData CollectRecords +-- +-- type instance RuleResult CollectRecords = CollectRecordsResult +-- +-- -- TODO(ozkutuk) +-- data CollectRecordsResult = CRR -- [RecordInfo] +-- deriving (Show, Generic) +-- instance NFData CollectRecordsResult + +-- newtype RecordPattern = RecordPattern [Pat (GhcPass 'Renamed)] +-- deriving (Generic) + +-- instance Show RecordPattern where +-- show (RecordPattern l) = T.unpack (printOutputable l) + +data RecordInfo = RecordInfo !SrcSpan !(Pat (GhcPass 'Renamed)) + -- deriving (Show, Generic) + +getSrcSpan :: RecordInfo -> SrcSpan +getSrcSpan (RecordInfo ss _) = ss + +getEdit :: RecordInfo -> Maybe Text +getEdit (RecordInfo _ pat) = showRecordPat pat + +collectRecords :: GenericQ [LPat (GhcPass 'Renamed)] +collectRecords = everything (<>) (maybeToList . (Nothing `mkQ` getRecPatterns)) + +getRecPatterns :: LPat (GhcPass 'Renamed) -> Maybe (LPat (GhcPass 'Renamed)) +getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) + | isJust (rec_dotdot flds) = Just conPat +getRecPatterns _ = Nothing + +collectRecordsInRange :: MonadIO m => IdeState -> Range -> NormalizedFilePath -> ExceptT String m [RecordInfo] +collectRecordsInRange ideState range nfp = do + recs <- collectRecords' ideState range nfp + let recsInRange = filter inRange recs + pure recsInRange + + where + inRange :: RecordInfo -> Bool + inRange (RecordInfo (srcSpanToRange -> recRange) _) = + maybe False (subRange range) recRange + +collectRecords' :: MonadIO m => IdeState -> Range -> NormalizedFilePath -> ExceptT String m [RecordInfo] +collectRecords' ideState range nfp = do + tmr <- handleMaybeM "Unable to TypeCheck" + $ liftIO + $ runAction "ExplicitFields" ideState + $ use TypeCheck nfp + let (hsGroup,_,_,_) = tmrRenamed tmr + valBinds = hs_valds hsGroup + recs = collectRecords valBinds + (srcs, recs') = unzip $ map (getLoc &&& unLoc) recs + -- recs' = map unLoc recs + -- srcs = map (locA . (\(L l _) -> l) . pat_con) recs + -- recsPrinted = map (showRecord . (\(RecCon x) -> x) . pat_args) recs + recInfos = zipWith RecordInfo srcs recs' + pure recInfos + -- logTxts xs = logWith recorder Info (LogTxts xs) + -- logTxts recsPrinted + -- *> logTxts (map printOutputable srcs) + -- *> logTxts (map (printOutputable . showAstDataFull) recs) + -- *> pure ([], Nothing) + +-- collectRecordsRule :: Recorder (WithPriority Log) -> Rules () +-- collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do +-- tmr <- use TypeCheck nfp +-- -- hsc <- use GhcSessionDeps nfp +-- case tmr of +-- Nothing -> undefined +-- Just tmr' -> +-- let (hsGroup,_,_,_) = tmrRenamed tmr' +-- valBinds = hs_valds hsGroup +-- recs = collectRecords valBinds +-- srcs = map (locA . (\(L l _) -> l) . pat_con) recs +-- recsPrinted = map (showRecord . (\(RecCon x) -> x) . pat_args) recs +-- logTxts xs = logWith recorder Info (LogTxts xs) +-- in logTxts recsPrinted +-- *> logTxts (map printOutputable srcs) +-- *> logTxts (map (printOutputable . showAstDataFull) recs) +-- *> pure ([], Nothing) +-- -- *> logWith recorder Info (LogTxts $ map printOutputable bindsList') *> pure ([], Nothing) + +codeActionProvider :: Recorder (WithPriority Log) + -> PluginMethodHandler IdeState 'TextDocumentCodeAction +codeActionProvider recorder ideState _ (CodeActionParams _ _ docId range _) = pluginResponse $ do + nfp <- getNormalizedFilePath (docId ^. L.uri) + recs <- collectRecordsInRange ideState range nfp + logWith recorder Info $ LogTxts $ map (T.pack . show . srcSpanToRange . getSrcSpan) recs + let actions = map (mkCodeAction nfp) recs + -- liftIO $ runAction "ExplicitFields" ideState $ use CollectRecords nfp + pure $ List actions + + where + mkCodeAction :: NormalizedFilePath -> RecordInfo -> Command |? CodeAction + mkCodeAction nfp rec = InR CodeAction + { _title = "Expand the record wildcard" + , _kind = Just CodeActionRefactorRewrite + , _diagnostics = Nothing + , _isPreferred = Nothing + , _disabled = Nothing + , _edit = Just $ mkWorkspaceEdit nfp edits + , _command = Nothing + , _xdata = Nothing + } + where + edits = catMaybes [TextEdit <$> (srcSpanToRange $ getSrcSpan rec) <*> getEdit rec] + + mkWorkspaceEdit :: NormalizedFilePath -> [TextEdit] -> WorkspaceEdit + mkWorkspaceEdit nfp edits = WorkspaceEdit changes Nothing Nothing + where + changes = Just $ HashMap.singleton (fromNormalizedUri (normalizedFilePathToUri nfp)) (List edits) diff --git a/plugins/hls-explicit-record-fields-plugin/test/Main.hs b/plugins/hls-explicit-record-fields-plugin/test/Main.hs new file mode 100644 index 0000000000..3e2059e31f --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/Main.hs @@ -0,0 +1,4 @@ +module Main (main) where + +main :: IO () +main = putStrLn "Test suite not yet implemented." diff --git a/src/HlsPlugins.hs b/src/HlsPlugins.hs index 5095a637c0..1aa433fb5d 100644 --- a/src/HlsPlugins.hs +++ b/src/HlsPlugins.hs @@ -94,6 +94,10 @@ import Ide.Plugin.GADT as GADT import Ide.Plugin.ExplicitFixity as ExplicitFixity #endif +#if explicitFields +import Ide.Plugin.ExplicitFields as ExplicitFields +#endif + -- formatters #if hls_floskell @@ -221,4 +225,7 @@ idePlugins recorder = pluginDescToIdePlugins allPlugins #if explicitFixity ++ [let pId = "explicit-fixity" in ExplicitFixity.descriptor (pluginRecorder pId) pId] #endif +#if explicitFields + ++ [let pId = "explicit-fields" in ExplicitFields.descriptor (pluginRecorder pId) pId] +#endif From ff6c1218ff822db18ef8322c4e16d681437a8792 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Tue, 11 Oct 2022 21:10:45 +0200 Subject: [PATCH 02/29] Auto-add puns pragma, fix behavior with Hs98 fields --- .../hls-explicit-record-fields-plugin.cabal | 1 + .../src/Ide/Plugin/ExplicitFields.hs | 132 ++++++++++++++---- 2 files changed, 104 insertions(+), 29 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal index f881fe00d9..37540fad58 100644 --- a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -37,6 +37,7 @@ library , syb , transformers , ghc + , ghc-boot-th , unordered-containers hs-source-dirs: src default-language: Haskell2010 diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index eceda40d20..4395735838 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -3,6 +3,7 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-} @@ -26,39 +27,49 @@ import Development.IDE (IdeState, NormalizedFilePath, Pretty (..), Priority (..), Range (..), Recorder (..), Rules, WithPriority (..), + getFileContents, hscEnv, logWith, realSrcSpanToRange, srcSpanToRange) import Development.IDE.Core.Rules (runAction) -import Development.IDE.Core.RuleTypes (GhcSessionDeps (..), +import Development.IDE.Core.RuleTypes (GhcSession (..), + GhcSessionDeps (..), TcModuleResult (..), TypeCheck (..)) -import Development.IDE.Core.Shake (define, use) +import Development.IDE.Core.Shake (define, use, useWithStale) import qualified Development.IDE.Core.Shake as Shake import Development.IDE.GHC.Compat (HasSrcSpan (..), HsConDetails (RecCon), - HsRecFields (..), LPat, - Outputable, RealSrcSpan, SDoc, - SrcSpan, getLocA, locA, unLoc, - unLocA) + HsRecFields (..), HscEnv (..), + LPat, Outputable, RealSrcSpan, + SDoc, SrcSpan, getLocA, locA, + pm_mod_summary, unLoc, unLocA) import Development.IDE.GHC.Compat.Core (GenLocated (..), GhcPass (..), HsBindLR (..), + HsRecField' (..), HsValBindsLR (..), + ModSummary (..), NHsValBindsLR (..), Pass (..), - Pat (..), hs_valds) -import Development.IDE.GHC.Compat.Util (bagToList) + Pat (..), extensionFlags, + hs_valds) +import Development.IDE.GHC.Compat.Util (bagToList, toList) import Development.IDE.GHC.Util (printOutputable) import Development.IDE.Graph (RuleResult) import Development.IDE.Graph.Classes (Hashable, NFData) +import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), + getNextPragmaInfo, + insertNewPragma) import Development.IDE.Types.Logger (cmapWithPrio) import GHC.Data.Maybe (fromMaybe) import GHC.Generics (Generic) import GHC.Hs.Dump (BlankSrcSpan (..), showAstData) +import GHC.LanguageExtensions.Type (Extension (..)) import Ide.PluginUtils (getNormalizedFilePath, handleMaybeM, pluginResponse, subRange) import Ide.Types (PluginDescriptor (..), - PluginId, PluginMethodHandler, + PluginId (..), + PluginMethodHandler, defaultPluginDescriptor, mkPluginHandler) import Language.LSP.Types (CodeAction (..), @@ -87,11 +98,30 @@ showAstDataFull = showAstData NoBlankSrcSpan showRecord :: Outputable arg => HsRecFields p arg -> Text showRecord rec = printOutputable (rec { rec_dotdot = Nothing }) --- Same as `showRecord` but works with `Pat` types. This is a partial function --- but it is only ever called with record patterns, so it should be okay. +-- Same as `showRecord` but works with `Pat` types. showRecordPat :: Outputable (Pat p) => Pat p -> Maybe Text showRecordPat pat@(ConPat _ _ (RecCon flds)) = - Just $ printOutputable $ pat { pat_args = RecCon (flds { rec_dotdot = Nothing }) } + Just $ printOutputable $ + pat { pat_args = RecCon (flds { rec_dotdot = Nothing + , rec_flds = rec_flds' + }) } + where + -- TODO(ozkutuk): HsRecField' is renamed to HsFieldBind in GHC 9.4 + -- Add it as a pattern synonym to the ghcide compat module, so it would + -- work on all HLS builds. + -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5757 + + -- TODO(ozkutuk): Check if `NamedFieldPuns` extension is present + + no_pun_count = maybe (length (rec_flds flds)) unLoc (rec_dotdot flds) + -- Field binds of the explicit form (e.g. `{ a = a' }`) should be + -- left as is, hence the split. + (no_puns, puns) = splitAt no_pun_count (rec_flds flds) + -- `hsRecPun` is set to `True` in order to pretty-print the fields as field + -- puns (since there is similar mechanism in the `Outputable` instance as + -- explained the documentation of `showRecord` function). + puns' = map (\(L ss fld) -> L ss (fld { hsRecPun = True })) puns + rec_flds' = no_puns <> puns' showRecordPat _ = Nothing data Log @@ -119,7 +149,10 @@ descriptor recorder plId = (defaultPluginDescriptor plId) -- type instance RuleResult CollectRecords = CollectRecordsResult -- -- -- TODO(ozkutuk) --- data CollectRecordsResult = CRR -- [RecordInfo] +data CollectRecordsResult = CRR + { recordInfos :: ![RecordInfo] + , enabledExtensions :: ![Extension] + } -- deriving (Show, Generic) -- instance NFData CollectRecordsResult @@ -146,24 +179,30 @@ getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) | isJust (rec_dotdot flds) = Just conPat getRecPatterns _ = Nothing -collectRecordsInRange :: MonadIO m => IdeState -> Range -> NormalizedFilePath -> ExceptT String m [RecordInfo] -collectRecordsInRange ideState range nfp = do - recs <- collectRecords' ideState range nfp - let recsInRange = filter inRange recs - pure recsInRange +-- collectRecordsResult :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +-- collectRecordsResult range ideState nfp = do +-- recordInfos <- collectRecordsInRange range ideState nfp +-- enabledExtensions <- error "todo" +-- pure $ CRR {..} + +collectRecordsInRange :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +collectRecordsInRange range ideState nfp = do + CRR recs exts <- collectRecords' ideState nfp + pure $ CRR (filter inRange recs) exts where inRange :: RecordInfo -> Bool inRange (RecordInfo (srcSpanToRange -> recRange) _) = maybe False (subRange range) recRange -collectRecords' :: MonadIO m => IdeState -> Range -> NormalizedFilePath -> ExceptT String m [RecordInfo] -collectRecords' ideState range nfp = do +collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +collectRecords' ideState nfp = do tmr <- handleMaybeM "Unable to TypeCheck" $ liftIO $ runAction "ExplicitFields" ideState $ use TypeCheck nfp - let (hsGroup,_,_,_) = tmrRenamed tmr + let exts = getEnabledExtensions tmr + (hsGroup,_,_,_) = tmrRenamed tmr valBinds = hs_valds hsGroup recs = collectRecords valBinds (srcs, recs') = unzip $ map (getLoc &&& unLoc) recs @@ -171,7 +210,11 @@ collectRecords' ideState range nfp = do -- srcs = map (locA . (\(L l _) -> l) . pat_con) recs -- recsPrinted = map (showRecord . (\(RecCon x) -> x) . pat_args) recs recInfos = zipWith RecordInfo srcs recs' - pure recInfos + pure $ CRR recInfos exts + + where + getEnabledExtensions :: TcModuleResult -> [Extension] + getEnabledExtensions = toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed -- logTxts xs = logWith recorder Info (LogTxts xs) -- logTxts recsPrinted -- *> logTxts (map printOutputable srcs) @@ -199,18 +242,19 @@ collectRecords' ideState range nfp = do codeActionProvider :: Recorder (WithPriority Log) -> PluginMethodHandler IdeState 'TextDocumentCodeAction -codeActionProvider recorder ideState _ (CodeActionParams _ _ docId range _) = pluginResponse $ do +codeActionProvider recorder ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do nfp <- getNormalizedFilePath (docId ^. L.uri) - recs <- collectRecordsInRange ideState range nfp + pragma <- getFirstPragma pId ideState nfp + CRR recs exts <- collectRecordsInRange range ideState nfp logWith recorder Info $ LogTxts $ map (T.pack . show . srcSpanToRange . getSrcSpan) recs - let actions = map (mkCodeAction nfp) recs + let actions = map (mkCodeAction nfp exts pragma) recs -- liftIO $ runAction "ExplicitFields" ideState $ use CollectRecords nfp pure $ List actions where - mkCodeAction :: NormalizedFilePath -> RecordInfo -> Command |? CodeAction - mkCodeAction nfp rec = InR CodeAction - { _title = "Expand the record wildcard" + mkCodeAction :: NormalizedFilePath -> [Extension] -> NextPragmaInfo -> RecordInfo -> Command |? CodeAction + mkCodeAction nfp exts pragma rec = InR CodeAction + { _title = mkCodeActionTitle exts , _kind = Just CodeActionRefactorRewrite , _diagnostics = Nothing , _isPreferred = Nothing @@ -220,9 +264,39 @@ codeActionProvider recorder ideState _ (CodeActionParams _ _ docId range _) = pl , _xdata = Nothing } where - edits = catMaybes [TextEdit <$> (srcSpanToRange $ getSrcSpan rec) <*> getEdit rec] + edits = catMaybes + [ TextEdit <$> (srcSpanToRange $ getSrcSpan rec) <*> getEdit rec + , pragmaEdit + ] + + -- TODO(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` + -- in GHC 9.4, so I probably need to add this to the compat module as + -- well. + -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 + pragmaEdit :: Maybe TextEdit + pragmaEdit = if RecordPuns `elem` exts + then Nothing + else Just $ insertNewPragma pragma RecordPuns mkWorkspaceEdit :: NormalizedFilePath -> [TextEdit] -> WorkspaceEdit mkWorkspaceEdit nfp edits = WorkspaceEdit changes Nothing Nothing where changes = Just $ HashMap.singleton (fromNormalizedUri (normalizedFilePathToUri nfp)) (List edits) + +mkCodeActionTitle :: [Extension] -> Text +mkCodeActionTitle exts = + if RecordPuns `elem` exts + then title + else title <> " (needs extension: " <> (T.pack $ show RecordPuns) <> ")" + where + title = "Expand record wildcard" + +-- Copied from hls-alternate-number-format-plugin +getFirstPragma :: MonadIO m => PluginId -> IdeState -> NormalizedFilePath -> ExceptT String m NextPragmaInfo +getFirstPragma (PluginId pId) state nfp = handleMaybeM "Could not get NextPragmaInfo" $ do + ghcSession <- liftIO $ runAction (T.unpack pId <> ".GhcSession") state $ useWithStale GhcSession nfp + (_, fileContents) <- liftIO $ runAction (T.unpack pId <> ".GetFileContents") state $ getFileContents nfp + case ghcSession of + Just (hscEnv -> hsc_dflags -> sessionDynFlags, _) -> pure $ Just $ getNextPragmaInfo sessionDynFlags fileContents + Nothing -> pure Nothing + From 33339772315dfb3cd8461226ae41429b288fc38e Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Tue, 11 Oct 2022 21:22:10 +0200 Subject: [PATCH 03/29] Patch pragma so it adds NamedFieldPuns instead of RecordPuns --- .../src/Ide/Plugin/ExplicitFields.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 4395735838..b96840dbe7 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -13,7 +13,7 @@ module Ide.Plugin.ExplicitFields ) where import Control.Arrow ((&&&)) -import Control.Lens ((^.)) +import Control.Lens ((%~), (^.)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Except (ExceptT) import Data.Data (Data) @@ -276,7 +276,9 @@ codeActionProvider recorder ideState pId (CodeActionParams _ _ docId range _) = pragmaEdit :: Maybe TextEdit pragmaEdit = if RecordPuns `elem` exts then Nothing - else Just $ insertNewPragma pragma RecordPuns + else Just $ patchExtName $ insertNewPragma pragma RecordPuns + where + patchExtName = L.newText %~ T.replace "Record" "NamedField" mkWorkspaceEdit :: NormalizedFilePath -> [TextEdit] -> WorkspaceEdit mkWorkspaceEdit nfp edits = WorkspaceEdit changes Nothing Nothing @@ -287,7 +289,7 @@ mkCodeActionTitle :: [Extension] -> Text mkCodeActionTitle exts = if RecordPuns `elem` exts then title - else title <> " (needs extension: " <> (T.pack $ show RecordPuns) <> ")" + else title <> " (needs extension: NamedFieldPuns)" where title = "Expand record wildcard" From 26571908dd7922e1861e8f1daa1233c1a27e961c Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Fri, 14 Oct 2022 15:45:38 +0200 Subject: [PATCH 04/29] Refactor big do block --- .../src/Ide/Plugin/ExplicitFields.hs | 40 +++++++++---------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index b96840dbe7..442a0c4350 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -111,8 +111,6 @@ showRecordPat pat@(ConPat _ _ (RecCon flds)) = -- work on all HLS builds. -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5757 - -- TODO(ozkutuk): Check if `NamedFieldPuns` extension is present - no_pun_count = maybe (length (rec_flds flds)) unLoc (rec_dotdot flds) -- Field binds of the explicit form (e.g. `{ a = a' }`) should be -- left as is, hence the split. @@ -195,31 +193,29 @@ collectRecordsInRange range ideState nfp = do inRange (RecordInfo (srcSpanToRange -> recRange) _) = maybe False (subRange range) recRange -collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult -collectRecords' ideState nfp = do - tmr <- handleMaybeM "Unable to TypeCheck" - $ liftIO - $ runAction "ExplicitFields" ideState - $ use TypeCheck nfp - let exts = getEnabledExtensions tmr - (hsGroup,_,_,_) = tmrRenamed tmr +getEnabledExtensions :: TcModuleResult -> [Extension] +getEnabledExtensions = toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed + +getRecords :: TcModuleResult -> [RecordInfo] +getRecords tmr = + let (hsGroup,_,_,_) = tmrRenamed tmr valBinds = hs_valds hsGroup recs = collectRecords valBinds (srcs, recs') = unzip $ map (getLoc &&& unLoc) recs - -- recs' = map unLoc recs - -- srcs = map (locA . (\(L l _) -> l) . pat_con) recs - -- recsPrinted = map (showRecord . (\(RecCon x) -> x) . pat_args) recs - recInfos = zipWith RecordInfo srcs recs' - pure $ CRR recInfos exts + in zipWith RecordInfo srcs recs' +getTypecheckedModule :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m TcModuleResult +getTypecheckedModule ideState = + handleMaybeM "Unable to TypeCheck" + . liftIO + . runAction "ExplicitFields" ideState + . use TypeCheck + +collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +collectRecords' ideState nfp = mkResult <$> getTypecheckedModule ideState nfp where - getEnabledExtensions :: TcModuleResult -> [Extension] - getEnabledExtensions = toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed - -- logTxts xs = logWith recorder Info (LogTxts xs) - -- logTxts recsPrinted - -- *> logTxts (map printOutputable srcs) - -- *> logTxts (map (printOutputable . showAstDataFull) recs) - -- *> pure ([], Nothing) + mkResult :: TcModuleResult -> CollectRecordsResult + mkResult tmr = CRR (getRecords tmr) (getEnabledExtensions tmr) -- collectRecordsRule :: Recorder (WithPriority Log) -> Rules () -- collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do From ef1fab4053bb1753f52dfd43e8bd5046d7f7d419 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Sun, 16 Oct 2022 14:20:04 +0200 Subject: [PATCH 05/29] Make it work with record construction --- .../src/Ide/Plugin/ExplicitFields.hs | 73 ++++++++++++------- 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 442a0c4350..5dec8de89e 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -17,7 +17,8 @@ import Control.Lens ((%~), (^.)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Except (ExceptT) import Data.Data (Data) -import Data.Generics (GenericQ, everything, mkQ) +import Data.Generics (GenericQ, everything, extQ, + mkQ) import qualified Data.HashMap.Strict as HashMap import Data.Maybe (catMaybes, isJust, maybeToList) @@ -45,8 +46,9 @@ import Development.IDE.GHC.Compat (HasSrcSpan (..), pm_mod_summary, unLoc, unLocA) import Development.IDE.GHC.Compat.Core (GenLocated (..), GhcPass (..), HsBindLR (..), + HsExpr (RecordCon, rcon_flds), HsRecField' (..), - HsValBindsLR (..), + HsValBindsLR (..), LHsExpr, ModSummary (..), NHsValBindsLR (..), Pass (..), Pat (..), extensionFlags, @@ -95,16 +97,8 @@ showAstDataFull = showAstData NoBlankSrcSpan -- the records that originally had wildcards with dots, even after they -- are removed by the renamer pass. Here `rec_dotdot` is set to -- `Nothing` so that fields are printed without such post-processing. -showRecord :: Outputable arg => HsRecFields p arg -> Text -showRecord rec = printOutputable (rec { rec_dotdot = Nothing }) - --- Same as `showRecord` but works with `Pat` types. -showRecordPat :: Outputable (Pat p) => Pat p -> Maybe Text -showRecordPat pat@(ConPat _ _ (RecCon flds)) = - Just $ printOutputable $ - pat { pat_args = RecCon (flds { rec_dotdot = Nothing - , rec_flds = rec_flds' - }) } +preprocessRecord :: HsRecFields p arg -> HsRecFields p arg +preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } where -- TODO(ozkutuk): HsRecField' is renamed to HsFieldBind in GHC 9.4 -- Add it as a pattern synonym to the ghcide compat module, so it would @@ -117,11 +111,23 @@ showRecordPat pat@(ConPat _ _ (RecCon flds)) = (no_puns, puns) = splitAt no_pun_count (rec_flds flds) -- `hsRecPun` is set to `True` in order to pretty-print the fields as field -- puns (since there is similar mechanism in the `Outputable` instance as - -- explained the documentation of `showRecord` function). + -- explained above). puns' = map (\(L ss fld) -> L ss (fld { hsRecPun = True })) puns rec_flds' = no_puns <> puns' + +-- Same as `showRecord` but works with `Pat` types. +showRecordPat :: Outputable (Pat p) => Pat p -> Maybe Text +showRecordPat pat@(ConPat _ _ (RecCon flds)) = + Just $ printOutputable $ + pat { pat_args = RecCon (preprocessRecord flds) } showRecordPat _ = Nothing +showRecordCon :: Outputable (HsExpr p) => HsExpr p -> Maybe Text +showRecordCon expr@(RecordCon _ _ flds) = + Just $ printOutputable $ + expr { rcon_flds = preprocessRecord flds } +showRecordCon _ = Nothing + data Log = LogShake Shake.Log | LogTxts [Text] @@ -160,21 +166,37 @@ data CollectRecordsResult = CRR -- instance Show RecordPattern where -- show (RecordPattern l) = T.unpack (printOutputable l) -data RecordInfo = RecordInfo !SrcSpan !(Pat (GhcPass 'Renamed)) +data RecordInfo + = RecordInfoPat !SrcSpan !(Pat (GhcPass 'Renamed)) + | RecordInfoCon !SrcSpan !(HsExpr (GhcPass 'Renamed)) -- deriving (Show, Generic) getSrcSpan :: RecordInfo -> SrcSpan -getSrcSpan (RecordInfo ss _) = ss +getSrcSpan (RecordInfoPat ss _) = ss +getSrcSpan (RecordInfoCon ss _) = ss getEdit :: RecordInfo -> Maybe Text -getEdit (RecordInfo _ pat) = showRecordPat pat +getEdit (RecordInfoPat _ pat) = showRecordPat pat +getEdit (RecordInfoCon _ expr) = showRecordCon expr -collectRecords :: GenericQ [LPat (GhcPass 'Renamed)] -collectRecords = everything (<>) (maybeToList . (Nothing `mkQ` getRecPatterns)) +-- collectRecords :: GenericQ [LPat (GhcPass 'Renamed)] +collectRecords :: GenericQ [RecordInfo] +collectRecords = everything (<>) (maybeToList . (Nothing `mkQ` getRecPatterns `extQ` getRecCons)) -getRecPatterns :: LPat (GhcPass 'Renamed) -> Maybe (LPat (GhcPass 'Renamed)) +getRecCons :: LHsExpr (GhcPass 'Renamed) -> Maybe RecordInfo +getRecCons e@(unLoc -> RecordCon _ _ flds) + | isJust (rec_dotdot flds) = Just $ mkRecInfo e + where + mkRecInfo :: LHsExpr (GhcPass 'Renamed) -> RecordInfo + mkRecInfo expr = RecordInfoCon (getLoc expr) (unLoc expr) +getRecCons _ = Nothing + +getRecPatterns :: LPat (GhcPass 'Renamed) -> Maybe RecordInfo getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) - | isJust (rec_dotdot flds) = Just conPat + | isJust (rec_dotdot flds) = Just $ mkRecInfo conPat + where + mkRecInfo :: LPat (GhcPass 'Renamed) -> RecordInfo + mkRecInfo pat = RecordInfoPat (getLoc pat) (unLoc pat) getRecPatterns _ = Nothing -- collectRecordsResult :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult @@ -190,19 +212,14 @@ collectRecordsInRange range ideState nfp = do where inRange :: RecordInfo -> Bool - inRange (RecordInfo (srcSpanToRange -> recRange) _) = - maybe False (subRange range) recRange + inRange r = maybe False (subRange range) (srcSpanToRange (getSrcSpan r)) getEnabledExtensions :: TcModuleResult -> [Extension] getEnabledExtensions = toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed getRecords :: TcModuleResult -> [RecordInfo] -getRecords tmr = - let (hsGroup,_,_,_) = tmrRenamed tmr - valBinds = hs_valds hsGroup - recs = collectRecords valBinds - (srcs, recs') = unzip $ map (getLoc &&& unLoc) recs - in zipWith RecordInfo srcs recs' +getRecords (tmrRenamed -> (hs_valds -> valBinds,_,_,_)) = + collectRecords valBinds getTypecheckedModule :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m TcModuleResult getTypecheckedModule ideState = From d0b37fe65f803ad79df3dc664a4f272cb647ccee Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Sun, 16 Oct 2022 15:38:16 +0200 Subject: [PATCH 06/29] Convert to a rule based approach --- .../src/Ide/Plugin/ExplicitFields.hs | 132 ++++++++---------- 1 file changed, 56 insertions(+), 76 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 5dec8de89e..e4f53e6467 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -20,7 +20,7 @@ import Data.Data (Data) import Data.Generics (GenericQ, everything, extQ, mkQ) import qualified Data.HashMap.Strict as HashMap -import Data.Maybe (catMaybes, isJust, +import Data.Maybe (catMaybes, isJust, mapMaybe, maybeToList) import Data.Text (Text) import qualified Data.Text as T @@ -56,7 +56,7 @@ import Development.IDE.GHC.Compat.Core (GenLocated (..), GhcPass (..), import Development.IDE.GHC.Compat.Util (bagToList, toList) import Development.IDE.GHC.Util (printOutputable) import Development.IDE.Graph (RuleResult) -import Development.IDE.Graph.Classes (Hashable, NFData) +import Development.IDE.Graph.Classes (Hashable, NFData (rnf)) import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), getNextPragmaInfo, insertNewPragma) @@ -115,7 +115,6 @@ preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } puns' = map (\(L ss fld) -> L ss (fld { hsRecPun = True })) puns rec_flds' = no_puns <> puns' --- Same as `showRecord` but works with `Pat` types. showRecordPat :: Outputable (Pat p) => Pat p -> Maybe Text showRecordPat pat@(ConPat _ _ (RecCon flds)) = Just $ printOutputable $ @@ -141,43 +140,48 @@ instance Pretty Log where descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState descriptor recorder plId = (defaultPluginDescriptor plId) { pluginHandlers = mkPluginHandler STextDocumentCodeAction (codeActionProvider recorder) - -- , pluginRules = collectRecordsRule recorder + , pluginRules = collectRecordsRule recorder } --- data CollectRecords = CollectRecords --- deriving (Eq, Show, Generic) --- --- instance Hashable CollectRecords --- instance NFData CollectRecords --- --- type instance RuleResult CollectRecords = CollectRecordsResult --- --- -- TODO(ozkutuk) +data CollectRecords = CollectRecords + deriving (Eq, Show, Generic) + +instance Hashable CollectRecords +instance NFData CollectRecords + data CollectRecordsResult = CRR - { recordInfos :: ![RecordInfo] - , enabledExtensions :: ![Extension] + { recordInfos :: ![RenderedRecordInfo] + , enabledExtensions :: ![GhcExtension] } --- deriving (Show, Generic) --- instance NFData CollectRecordsResult + deriving (Generic) + +instance NFData CollectRecordsResult + +instance Show CollectRecordsResult where + show _ = "" + +type instance RuleResult CollectRecords = CollectRecordsResult --- newtype RecordPattern = RecordPattern [Pat (GhcPass 'Renamed)] --- deriving (Generic) +newtype GhcExtension = GhcExtension { unExt :: Extension } --- instance Show RecordPattern where --- show (RecordPattern l) = T.unpack (printOutputable l) +instance NFData GhcExtension where + rnf x = x `seq` () data RecordInfo = RecordInfoPat !SrcSpan !(Pat (GhcPass 'Renamed)) | RecordInfoCon !SrcSpan !(HsExpr (GhcPass 'Renamed)) - -- deriving (Show, Generic) -getSrcSpan :: RecordInfo -> SrcSpan -getSrcSpan (RecordInfoPat ss _) = ss -getSrcSpan (RecordInfoCon ss _) = ss +data RenderedRecordInfo = RenderedRecordInfo + { renderedSrcSpan :: !SrcSpan + , renderedRecord :: !Text + } + deriving (Generic) + +instance NFData RenderedRecordInfo -getEdit :: RecordInfo -> Maybe Text -getEdit (RecordInfoPat _ pat) = showRecordPat pat -getEdit (RecordInfoCon _ expr) = showRecordCon expr +renderRecordInfo :: RecordInfo -> Maybe RenderedRecordInfo +renderRecordInfo (RecordInfoPat ss pat) = RenderedRecordInfo ss <$> showRecordPat pat +renderRecordInfo (RecordInfoCon ss expr) = RenderedRecordInfo ss <$> showRecordCon expr -- collectRecords :: GenericQ [LPat (GhcPass 'Renamed)] collectRecords :: GenericQ [RecordInfo] @@ -199,73 +203,50 @@ getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) mkRecInfo pat = RecordInfoPat (getLoc pat) (unLoc pat) getRecPatterns _ = Nothing --- collectRecordsResult :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult --- collectRecordsResult range ideState nfp = do --- recordInfos <- collectRecordsInRange range ideState nfp --- enabledExtensions <- error "todo" --- pure $ CRR {..} - collectRecordsInRange :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult collectRecordsInRange range ideState nfp = do - CRR recs exts <- collectRecords' ideState nfp - pure $ CRR (filter inRange recs) exts + CRR renderedRecs exts <- collectRecords' ideState nfp + pure $ CRR (filter inRange renderedRecs) exts where - inRange :: RecordInfo -> Bool - inRange r = maybe False (subRange range) (srcSpanToRange (getSrcSpan r)) + inRange :: RenderedRecordInfo -> Bool + inRange (RenderedRecordInfo ss _) = maybe False (subRange range) (srcSpanToRange ss) -getEnabledExtensions :: TcModuleResult -> [Extension] -getEnabledExtensions = toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed +getEnabledExtensions :: TcModuleResult -> [GhcExtension] +getEnabledExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed getRecords :: TcModuleResult -> [RecordInfo] getRecords (tmrRenamed -> (hs_valds -> valBinds,_,_,_)) = collectRecords valBinds -getTypecheckedModule :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m TcModuleResult -getTypecheckedModule ideState = +collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +collectRecords' ideState = handleMaybeM "Unable to TypeCheck" . liftIO . runAction "ExplicitFields" ideState - . use TypeCheck + . use CollectRecords -collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult -collectRecords' ideState nfp = mkResult <$> getTypecheckedModule ideState nfp - where - mkResult :: TcModuleResult -> CollectRecordsResult - mkResult tmr = CRR (getRecords tmr) (getEnabledExtensions tmr) - --- collectRecordsRule :: Recorder (WithPriority Log) -> Rules () --- collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do --- tmr <- use TypeCheck nfp --- -- hsc <- use GhcSessionDeps nfp --- case tmr of --- Nothing -> undefined --- Just tmr' -> --- let (hsGroup,_,_,_) = tmrRenamed tmr' --- valBinds = hs_valds hsGroup --- recs = collectRecords valBinds --- srcs = map (locA . (\(L l _) -> l) . pat_con) recs --- recsPrinted = map (showRecord . (\(RecCon x) -> x) . pat_args) recs --- logTxts xs = logWith recorder Info (LogTxts xs) --- in logTxts recsPrinted --- *> logTxts (map printOutputable srcs) --- *> logTxts (map (printOutputable . showAstDataFull) recs) --- *> pure ([], Nothing) --- -- *> logWith recorder Info (LogTxts $ map printOutputable bindsList') *> pure ([], Nothing) +collectRecordsRule :: Recorder (WithPriority Log) -> Rules () +collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do + tmr <- use TypeCheck nfp + let exts = getEnabledExtensions <$> tmr + recs = getRecords <$> tmr + renderedRecs = mapMaybe renderRecordInfo <$> recs + pure ([], CRR <$> renderedRecs <*> exts) codeActionProvider :: Recorder (WithPriority Log) -> PluginMethodHandler IdeState 'TextDocumentCodeAction codeActionProvider recorder ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do nfp <- getNormalizedFilePath (docId ^. L.uri) pragma <- getFirstPragma pId ideState nfp - CRR recs exts <- collectRecordsInRange range ideState nfp - logWith recorder Info $ LogTxts $ map (T.pack . show . srcSpanToRange . getSrcSpan) recs - let actions = map (mkCodeAction nfp exts pragma) recs + CRR renderedRecs (map unExt -> exts) <- collectRecordsInRange range ideState nfp + logWith recorder Info $ LogTxts $ map (T.pack . show . srcSpanToRange . renderedSrcSpan) renderedRecs + let actions = map (mkCodeAction nfp exts pragma) renderedRecs -- liftIO $ runAction "ExplicitFields" ideState $ use CollectRecords nfp pure $ List actions where - mkCodeAction :: NormalizedFilePath -> [Extension] -> NextPragmaInfo -> RecordInfo -> Command |? CodeAction + mkCodeAction :: NormalizedFilePath -> [Extension] -> NextPragmaInfo -> RenderedRecordInfo -> Command |? CodeAction mkCodeAction nfp exts pragma rec = InR CodeAction { _title = mkCodeActionTitle exts , _kind = Just CodeActionRefactorRewrite @@ -277,10 +258,10 @@ codeActionProvider recorder ideState pId (CodeActionParams _ _ docId range _) = , _xdata = Nothing } where - edits = catMaybes - [ TextEdit <$> (srcSpanToRange $ getSrcSpan rec) <*> getEdit rec - , pragmaEdit - ] + edits = catMaybes [ mkTextEdit rec , pragmaEdit ] + + mkTextEdit :: RenderedRecordInfo -> Maybe TextEdit + mkTextEdit (RenderedRecordInfo ss r) = TextEdit <$> srcSpanToRange ss <*> pure r -- TODO(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` -- in GHC 9.4, so I probably need to add this to the compat module as @@ -314,4 +295,3 @@ getFirstPragma (PluginId pId) state nfp = handleMaybeM "Could not get NextPragma case ghcSession of Just (hscEnv -> hsc_dflags -> sessionDynFlags, _) -> pure $ Just $ getNextPragmaInfo sessionDynFlags fileContents Nothing -> pure Nothing - From 475737f01fff5a7d0fced232e1c26a6cad7e7a30 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Sun, 16 Oct 2022 15:48:50 +0200 Subject: [PATCH 07/29] Cleanup, remove dead code --- .../hls-explicit-record-fields-plugin.cabal | 1 - .../src/Ide/Plugin/ExplicitFields.hs | 82 +++++++------------ 2 files changed, 29 insertions(+), 54 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal index 37540fad58..1774558629 100644 --- a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -36,7 +36,6 @@ library , text , syb , transformers - , ghc , ghc-boot-th , unordered-containers hs-source-dirs: src diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index e4f53e6467..291792ac6b 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -3,7 +3,6 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-} @@ -12,11 +11,9 @@ module Ide.Plugin.ExplicitFields ( descriptor ) where -import Control.Arrow ((&&&)) import Control.Lens ((%~), (^.)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Except (ExceptT) -import Data.Data (Data) import Data.Generics (GenericQ, everything, extQ, mkQ) import qualified Data.HashMap.Strict as HashMap @@ -25,15 +22,13 @@ import Data.Maybe (catMaybes, isJust, mapMaybe, import Data.Text (Text) import qualified Data.Text as T import Development.IDE (IdeState, NormalizedFilePath, - Pretty (..), Priority (..), - Range (..), Recorder (..), - Rules, WithPriority (..), + Pretty (..), Range (..), + Recorder (..), Rules, + WithPriority (..), getFileContents, hscEnv, - logWith, realSrcSpanToRange, srcSpanToRange) import Development.IDE.Core.Rules (runAction) import Development.IDE.Core.RuleTypes (GhcSession (..), - GhcSessionDeps (..), TcModuleResult (..), TypeCheck (..)) import Development.IDE.Core.Shake (define, use, useWithStale) @@ -41,19 +36,15 @@ import qualified Development.IDE.Core.Shake as Shake import Development.IDE.GHC.Compat (HasSrcSpan (..), HsConDetails (RecCon), HsRecFields (..), HscEnv (..), - LPat, Outputable, RealSrcSpan, - SDoc, SrcSpan, getLocA, locA, - pm_mod_summary, unLoc, unLocA) + LPat, Outputable, SrcSpan, + pm_mod_summary, unLoc) import Development.IDE.GHC.Compat.Core (GenLocated (..), GhcPass (..), - HsBindLR (..), HsExpr (RecordCon, rcon_flds), - HsRecField' (..), - HsValBindsLR (..), LHsExpr, - ModSummary (..), - NHsValBindsLR (..), Pass (..), + HsRecField' (..), LHsExpr, + ModSummary (..), Pass (..), Pat (..), extensionFlags, hs_valds) -import Development.IDE.GHC.Compat.Util (bagToList, toList) +import Development.IDE.GHC.Compat.Util (toList) import Development.IDE.GHC.Util (printOutputable) import Development.IDE.Graph (RuleResult) import Development.IDE.Graph.Classes (Hashable, NFData (rnf)) @@ -61,10 +52,7 @@ import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), getNextPragmaInfo, insertNewPragma) import Development.IDE.Types.Logger (cmapWithPrio) -import GHC.Data.Maybe (fromMaybe) import GHC.Generics (Generic) -import GHC.Hs.Dump (BlankSrcSpan (..), - showAstData) import GHC.LanguageExtensions.Type (Extension (..)) import Ide.PluginUtils (getNormalizedFilePath, handleMaybeM, pluginResponse, @@ -82,16 +70,10 @@ import Language.LSP.Types (CodeAction (..), TextEdit (..), WorkspaceEdit (WorkspaceEdit), fromNormalizedUri, - isSubrangeOf, normalizedFilePathToUri, type (|?) (InR)) import qualified Language.LSP.Types.Lens as L -showAstDataFull :: Data a => a -> SDoc -showAstDataFull = showAstData NoBlankSrcSpan --- --- showAstDataFull' :: Data a => a -> SDoc --- showAstDataFull' = showAstData BlankSrcSpan -- `Outputable` instance of `HsRecFields` does smart things to print -- the records that originally had wildcards with dots, even after they @@ -127,19 +109,15 @@ showRecordCon expr@(RecordCon _ _ flds) = expr { rcon_flds = preprocessRecord flds } showRecordCon _ = Nothing -data Log - = LogShake Shake.Log - | LogTxts [Text] - deriving Show +data Log = LogShake Shake.Log instance Pretty Log where pretty = \case LogShake shakeLog -> pretty shakeLog - LogTxts txts -> pretty (length txts) <> " - " <> pretty txts descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState descriptor recorder plId = (defaultPluginDescriptor plId) - { pluginHandlers = mkPluginHandler STextDocumentCodeAction (codeActionProvider recorder) + { pluginHandlers = mkPluginHandler STextDocumentCodeAction codeActionProvider , pluginRules = collectRecordsRule recorder } @@ -203,15 +181,6 @@ getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) mkRecInfo pat = RecordInfoPat (getLoc pat) (unLoc pat) getRecPatterns _ = Nothing -collectRecordsInRange :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult -collectRecordsInRange range ideState nfp = do - CRR renderedRecs exts <- collectRecords' ideState nfp - pure $ CRR (filter inRange renderedRecs) exts - - where - inRange :: RenderedRecordInfo -> Bool - inRange (RenderedRecordInfo ss _) = maybe False (subRange range) (srcSpanToRange ss) - getEnabledExtensions :: TcModuleResult -> [GhcExtension] getEnabledExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed @@ -219,13 +188,6 @@ getRecords :: TcModuleResult -> [RecordInfo] getRecords (tmrRenamed -> (hs_valds -> valBinds,_,_,_)) = collectRecords valBinds -collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult -collectRecords' ideState = - handleMaybeM "Unable to TypeCheck" - . liftIO - . runAction "ExplicitFields" ideState - . use CollectRecords - collectRecordsRule :: Recorder (WithPriority Log) -> Rules () collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do tmr <- use TypeCheck nfp @@ -234,15 +196,29 @@ collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \Collect renderedRecs = mapMaybe renderRecordInfo <$> recs pure ([], CRR <$> renderedRecs <*> exts) -codeActionProvider :: Recorder (WithPriority Log) - -> PluginMethodHandler IdeState 'TextDocumentCodeAction -codeActionProvider recorder ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do +collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +collectRecords' ideState = + handleMaybeM "Unable to TypeCheck" + . liftIO + . runAction "ExplicitFields" ideState + . use CollectRecords + +collectRecordsInRange :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult +collectRecordsInRange range ideState nfp = do + CRR renderedRecs exts <- collectRecords' ideState nfp + pure $ CRR (filter inRange renderedRecs) exts + + where + inRange :: RenderedRecordInfo -> Bool + inRange (RenderedRecordInfo ss _) = maybe False (subRange range) (srcSpanToRange ss) + + +codeActionProvider :: PluginMethodHandler IdeState 'TextDocumentCodeAction +codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do nfp <- getNormalizedFilePath (docId ^. L.uri) pragma <- getFirstPragma pId ideState nfp CRR renderedRecs (map unExt -> exts) <- collectRecordsInRange range ideState nfp - logWith recorder Info $ LogTxts $ map (T.pack . show . srcSpanToRange . renderedSrcSpan) renderedRecs let actions = map (mkCodeAction nfp exts pragma) renderedRecs - -- liftIO $ runAction "ExplicitFields" ideState $ use CollectRecords nfp pure $ List actions where From e418ac4718d3e03ce12674671c6c8a7f1d03e0df Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Mon, 17 Oct 2022 18:17:40 +0200 Subject: [PATCH 08/29] Make it compile with all supported GHC versions --- ghcide/src/Development/IDE/GHC/Compat/Core.hs | 40 ++++++++++++++++++- .../src/Ide/Plugin/ExplicitFields.hs | 37 ++++++++--------- .../src/Development/IDE/Plugin/CodeAction.hs | 3 +- .../src/Wingman/EmptyCase.hs | 2 +- 4 files changed, 57 insertions(+), 25 deletions(-) diff --git a/ghcide/src/Development/IDE/GHC/Compat/Core.hs b/ghcide/src/Development/IDE/GHC/Compat/Core.hs index af5c8c1ace..fa560de64d 100644 --- a/ghcide/src/Development/IDE/GHC/Compat/Core.hs +++ b/ghcide/src/Development/IDE/GHC/Compat/Core.hs @@ -253,6 +253,7 @@ module Development.IDE.GHC.Compat.Core ( SrcLoc.noSrcSpan, SrcLoc.noSrcLoc, SrcLoc.noLoc, + SrcLoc.mapLoc, -- * Finder FindResult(..), mkHomeModLocation, @@ -461,6 +462,18 @@ module Development.IDE.GHC.Compat.Core ( module GHC.Unit.Finder.Types, module GHC.Unit.Env, module GHC.Driver.Phases, +#endif +# if !MIN_VERSION_ghc(9,4,0) + pattern HsFieldBind, + hfbAnn, + hfbLHS, + hfbRHS, + hfbPun, +#endif +#if !MIN_VERSION_ghc_boot_th(9,4,1) + Extension(.., NamedFieldPuns), +#else + Extension(..) #endif ) where @@ -710,12 +723,12 @@ import TcRnMonad hiding (Applicative (..), IORef, allM, anyM, concatMapM, foldrM, mapMaybeM, (<$>)) import TcRnTypes -import TcType +import TcType import qualified TcType import TidyPgm as GHC import qualified TyCoRep import TyCon -import Type +import Type import TysPrim import TysWiredIn import Unify @@ -755,6 +768,11 @@ import qualified GHC.Driver.Finder as GHC import qualified Finder as GHC #endif +-- NOTE(ozkutuk): Cpp clashes Phase.Cpp, so we hide it. +-- Not the greatest solution, but gets the job done +-- (until the CPP extension is actually needed). +import GHC.LanguageExtensions.Type hiding (Cpp) + mkHomeModLocation :: DynFlags -> ModuleName -> FilePath -> IO Module.ModLocation #if MIN_VERSION_ghc(9,3,0) @@ -1101,3 +1119,21 @@ driverNoStop = hscUpdateHPT :: (HomePackageTable -> HomePackageTable) -> HscEnv -> HscEnv hscUpdateHPT k session = session { hsc_HPT = k (hsc_HPT session) } #endif + +#if !MIN_VERSION_ghc(9,2,0) +match :: HsRecField' id arg -> ((), id, arg, Bool) +match (HsRecField lhs rhs pun) = ((), SrcLoc.unLoc lhs, rhs, pun) + +pattern HsFieldBind :: () -> id -> arg -> Bool -> HsRecField' id arg +pattern HsFieldBind {hfbAnn, hfbLHS, hfbRHS, hfbPun} <- (match -> (hfbAnn, hfbLHS, hfbRHS, hfbPun)) where + HsFieldBind _ lhs rhs pun = HsRecField (SrcLoc.noLoc lhs) rhs pun +#elif !MIN_VERSION_ghc(9,4,0) +pattern HsFieldBind :: XHsRecField id -> id -> arg -> Bool -> HsRecField' id arg +pattern HsFieldBind {hfbAnn, hfbLHS, hfbRHS, hfbPun} <- HsRecField hfbAnn (SrcLoc.unLoc -> hfbLHS) hfbRHS hfbPun where + HsFieldBind ann lhs rhs pun = HsRecField ann (SrcLoc.noLoc lhs) rhs pun +#endif + +#if !MIN_VERSION_ghc_boot_th(9,4,1) +pattern NamedFieldPuns :: Extension +pattern NamedFieldPuns = RecordPuns +#endif diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 291792ac6b..664e02a403 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -38,12 +38,13 @@ import Development.IDE.GHC.Compat (HasSrcSpan (..), HsRecFields (..), HscEnv (..), LPat, Outputable, SrcSpan, pm_mod_summary, unLoc) -import Development.IDE.GHC.Compat.Core (GenLocated (..), GhcPass (..), +import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), + GhcPass (..), HsExpr (RecordCon, rcon_flds), - HsRecField' (..), LHsExpr, - ModSummary (..), Pass (..), - Pat (..), extensionFlags, - hs_valds) + LHsExpr, ModSummary (..), + Pass (..), Pat (..), + extensionFlags, hfbPun, + hs_valds, mapLoc) import Development.IDE.GHC.Compat.Util (toList) import Development.IDE.GHC.Util (printOutputable) import Development.IDE.Graph (RuleResult) @@ -53,7 +54,6 @@ import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), insertNewPragma) import Development.IDE.Types.Logger (cmapWithPrio) import GHC.Generics (Generic) -import GHC.LanguageExtensions.Type (Extension (..)) import Ide.PluginUtils (getNormalizedFilePath, handleMaybeM, pluginResponse, subRange) @@ -79,14 +79,9 @@ import qualified Language.LSP.Types.Lens as L -- the records that originally had wildcards with dots, even after they -- are removed by the renamer pass. Here `rec_dotdot` is set to -- `Nothing` so that fields are printed without such post-processing. -preprocessRecord :: HsRecFields p arg -> HsRecFields p arg +preprocessRecord :: HsRecFields (GhcPass c) arg -> HsRecFields (GhcPass c) arg preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } where - -- TODO(ozkutuk): HsRecField' is renamed to HsFieldBind in GHC 9.4 - -- Add it as a pattern synonym to the ghcide compat module, so it would - -- work on all HLS builds. - -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5757 - no_pun_count = maybe (length (rec_flds flds)) unLoc (rec_dotdot flds) -- Field binds of the explicit form (e.g. `{ a = a' }`) should be -- left as is, hence the split. @@ -94,16 +89,16 @@ preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } -- `hsRecPun` is set to `True` in order to pretty-print the fields as field -- puns (since there is similar mechanism in the `Outputable` instance as -- explained above). - puns' = map (\(L ss fld) -> L ss (fld { hsRecPun = True })) puns + puns' = map (mapLoc (\fld -> fld { hfbPun = True })) puns rec_flds' = no_puns <> puns' -showRecordPat :: Outputable (Pat p) => Pat p -> Maybe Text +showRecordPat :: Outputable (Pat (GhcPass c)) => Pat (GhcPass c) -> Maybe Text showRecordPat pat@(ConPat _ _ (RecCon flds)) = Just $ printOutputable $ pat { pat_args = RecCon (preprocessRecord flds) } showRecordPat _ = Nothing -showRecordCon :: Outputable (HsExpr p) => HsExpr p -> Maybe Text +showRecordCon :: Outputable (HsExpr (GhcPass c)) => HsExpr (GhcPass c) -> Maybe Text showRecordCon expr@(RecordCon _ _ flds) = Just $ printOutputable $ expr { rcon_flds = preprocessRecord flds } @@ -239,14 +234,14 @@ codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginRes mkTextEdit :: RenderedRecordInfo -> Maybe TextEdit mkTextEdit (RenderedRecordInfo ss r) = TextEdit <$> srcSpanToRange ss <*> pure r - -- TODO(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` - -- in GHC 9.4, so I probably need to add this to the compat module as - -- well. + -- NOTE(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` + -- in GHC 9.4, but we still want to insert `NamedFieldPuns` in pre-9.4 + -- GHC as well, hence the replacement. -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 pragmaEdit :: Maybe TextEdit - pragmaEdit = if RecordPuns `elem` exts + pragmaEdit = if NamedFieldPuns `elem` exts then Nothing - else Just $ patchExtName $ insertNewPragma pragma RecordPuns + else Just $ patchExtName $ insertNewPragma pragma NamedFieldPuns where patchExtName = L.newText %~ T.replace "Record" "NamedField" @@ -257,7 +252,7 @@ codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginRes mkCodeActionTitle :: [Extension] -> Text mkCodeActionTitle exts = - if RecordPuns `elem` exts + if NamedFieldPuns `elem` exts then title else title <> " (needs extension: NamedFieldPuns)" where diff --git a/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction.hs b/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction.hs index 4901ccab05..8a7b305285 100644 --- a/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction.hs +++ b/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction.hs @@ -42,7 +42,8 @@ import Development.IDE.Core.Rules import Development.IDE.Core.RuleTypes import Development.IDE.Core.Service import Development.IDE.Core.Shake hiding (Log) -import Development.IDE.GHC.Compat +import Development.IDE.GHC.Compat hiding + (ImplicitPrelude) import Development.IDE.GHC.Compat.ExactPrint import Development.IDE.GHC.Compat.Util import Development.IDE.GHC.Error diff --git a/plugins/hls-tactics-plugin/src/Wingman/EmptyCase.hs b/plugins/hls-tactics-plugin/src/Wingman/EmptyCase.hs index 7c675c36f9..a13d7c1a65 100644 --- a/plugins/hls-tactics-plugin/src/Wingman/EmptyCase.hs +++ b/plugins/hls-tactics-plugin/src/Wingman/EmptyCase.hs @@ -21,7 +21,7 @@ import Development.IDE (hscEnv, realSrcSpanToRange) import Development.IDE.Core.RuleTypes import Development.IDE.Core.Shake (IdeState (..)) import Development.IDE.Core.UseStale -import Development.IDE.GHC.Compat hiding (empty) +import Development.IDE.GHC.Compat hiding (empty, EmptyCase) import Development.IDE.GHC.ExactPrint import Development.IDE.Spans.LocalBindings (getLocalScope) import Ide.Types From 306053572bb8ce1683d0caf1d35f6fc94efc65bb Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Fri, 21 Oct 2022 14:58:35 +0200 Subject: [PATCH 09/29] Add tests --- .../hls-explicit-record-fields-plugin.cabal | 8 ++- .../test/Main.hs | 65 ++++++++++++++++++- .../test/testdata/Construction.expected.hs | 18 +++++ .../test/testdata/Construction.hs | 17 +++++ .../test/testdata/Mixed.expected.hs | 14 ++++ .../test/testdata/Mixed.hs | 14 ++++ .../test/testdata/WildcardOnly.expected.hs | 14 ++++ .../test/testdata/WildcardOnly.hs | 13 ++++ .../testdata/WithExplicitBind.expected.hs | 14 ++++ .../test/testdata/WithExplicitBind.hs | 13 ++++ .../test/testdata/WithPun.expected.hs | 14 ++++ .../test/testdata/WithPun.hs | 14 ++++ .../test/testdata/noop/ExplicitBinds.hs | 12 ++++ .../test/testdata/noop/Infix.hs | 11 ++++ .../test/testdata/noop/Prefix.hs | 11 ++++ .../test/testdata/noop/Puns.hs | 13 ++++ 16 files changed, 261 insertions(+), 4 deletions(-) create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.expected.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.expected.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.expected.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.expected.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.expected.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/noop/ExplicitBinds.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Infix.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Prefix.hs create mode 100644 plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Puns.hs diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal index 1774558629..66478f66f9 100644 --- a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -50,5 +50,9 @@ test-suite hls-explicit-record-fields-plugin-test hs-source-dirs: test main-is: Main.hs build-depends: - base ^>=4.15.1.0, - hls-explicit-record-fields-plugin + , base ^>=4.15.1.0 + , filepath + , text + , hls-explicit-record-fields-plugin + , lsp-test + , hls-test-utils diff --git a/plugins/hls-explicit-record-fields-plugin/test/Main.hs b/plugins/hls-explicit-record-fields-plugin/test/Main.hs index 3e2059e31f..c31c45223b 100644 --- a/plugins/hls-explicit-record-fields-plugin/test/Main.hs +++ b/plugins/hls-explicit-record-fields-plugin/test/Main.hs @@ -1,4 +1,65 @@ -module Main (main) where +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE TypeOperators #-} + +module Main ( main ) where + +import Data.Either (rights) +import qualified Data.Text as T +import qualified Ide.Plugin.ExplicitFields as ExplicitFields +import System.FilePath ((<.>), ()) +import Test.Hls + main :: IO () -main = putStrLn "Test suite not yet implemented." +main = defaultTestRunner test + +plugin :: PluginDescriptor IdeState +plugin = ExplicitFields.descriptor mempty "explicit-fields" + +test :: TestTree +test = testGroup "explicit-fields" + [ mkTest "WildcardOnly" "WildcardOnly" 12 10 12 20 + , mkTest "WithPun" "WithPun" 13 10 13 25 + , mkTest "WithExplicitBind" "WithExplicitBind" 12 10 12 32 + , mkTest "Mixed" "Mixed" 13 10 13 37 + , mkTest "Construction" "Construction" 16 5 16 15 + , mkTestNoAction "ExplicitBinds" "ExplicitBinds" 11 10 11 52 + , mkTestNoAction "Puns" "Puns" 12 10 12 31 + , mkTestNoAction "Infix" "Infix" 11 11 11 31 + , mkTestNoAction "Prefix" "Prefix" 10 11 10 28 + ] + +mkTestNoAction :: TestName -> FilePath -> UInt -> UInt -> UInt -> UInt -> TestTree +mkTestNoAction title fp x1 y1 x2 y2 = + testCase title $ + runSessionWithServer plugin (testDataDir "noop") $ do + doc <- openDoc (fp <.> "hs") "haskell" + actions <- getExplicitFieldsActions doc x1 y1 x2 y2 + liftIO $ actions @?= [] + +mkTest :: TestName -> FilePath -> UInt -> UInt -> UInt -> UInt -> TestTree +mkTest title fp x1 y1 x2 y2 = + goldenWithHaskellDoc plugin title testDataDir fp "expected" "hs" $ \doc -> do + (act:_) <- getExplicitFieldsActions doc x1 y1 x2 y2 + executeCodeAction act + +getExplicitFieldsActions + :: TextDocumentIdentifier + -> UInt -> UInt -> UInt -> UInt + -> Session [CodeAction] +getExplicitFieldsActions doc x1 y1 x2 y2 = + findExplicitFieldsAction <$> getCodeActions doc range + where + range = Range (Position x1 y1) (Position x2 y2) + +findExplicitFieldsAction :: [a |? CodeAction] -> [CodeAction] +findExplicitFieldsAction = filter isExplicitFieldsCodeAction . rights . map toEither + +isExplicitFieldsCodeAction :: CodeAction -> Bool +isExplicitFieldsCodeAction CodeAction {_title} = + "Expand record wildcard" `T.isPrefixOf` _title + +testDataDir :: FilePath +testDataDir = "test" "testdata" diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.expected.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.expected.hs new file mode 100644 index 0000000000..d1376c084d --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.expected.hs @@ -0,0 +1,18 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module Construction where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: () -> MyRec +convertMe _ = + let foo = 3 + bar = 5 + baz = 'a' + in MyRec {foo, bar, baz} diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.hs new file mode 100644 index 0000000000..5e18c66209 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/Construction.hs @@ -0,0 +1,17 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} + +module Construction where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: () -> MyRec +convertMe _ = + let foo = 3 + bar = 5 + baz = 'a' + in MyRec {..} diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.expected.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.expected.hs new file mode 100644 index 0000000000..93adb44a44 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.expected.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module Mixed where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo, bar = bar', baz} = show foo ++ show bar' ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.hs new file mode 100644 index 0000000000..810c78eca7 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/Mixed.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module Mixed where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo, bar = bar', ..} = show foo ++ show bar' ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.expected.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.expected.hs new file mode 100644 index 0000000000..4b196f27fd --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.expected.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module WildcardOnly where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo, bar, baz} = show foo ++ show bar ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.hs new file mode 100644 index 0000000000..f339895df4 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/WildcardOnly.hs @@ -0,0 +1,13 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} + +module WildcardOnly where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {..} = show foo ++ show bar ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.expected.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.expected.hs new file mode 100644 index 0000000000..fff4d306cf --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.expected.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module WithExplicitBind where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo = foo', bar, baz} = show foo' ++ show bar ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.hs new file mode 100644 index 0000000000..b416a624f5 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithExplicitBind.hs @@ -0,0 +1,13 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} + +module WithExplicitBind where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo = foo', ..} = show foo' ++ show bar ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.expected.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.expected.hs new file mode 100644 index 0000000000..c4285b629b --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.expected.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module WithPun where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo, bar, baz} = show foo ++ show bar ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.hs new file mode 100644 index 0000000000..4b34cfa652 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/WithPun.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE NamedFieldPuns #-} + +module WithPun where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo, ..} = show foo ++ show bar ++ show baz diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/ExplicitBinds.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/ExplicitBinds.hs new file mode 100644 index 0000000000..de44a8a57d --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/ExplicitBinds.hs @@ -0,0 +1,12 @@ +{-# LANGUAGE Haskell2010 #-} + +module ExplicitBinds where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo = foo', bar = bar', baz = baz'} = show foo' ++ show bar' ++ show baz' diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Infix.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Infix.hs new file mode 100644 index 0000000000..c361e9f2fd --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Infix.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE Haskell2010 #-} + +module Infix where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + } + +convertMe :: MyRec -> String +convertMe (foo' `MyRec` bar') = show foo' ++ show bar' diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Prefix.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Prefix.hs new file mode 100644 index 0000000000..c34ba0a389 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Prefix.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE Haskell2010 #-} + +module Prefix where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + } + +convertMe :: MyRec -> String +convertMe (foo' `MyRec` bar') = show foo' ++ show bar' diff --git a/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Puns.hs b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Puns.hs new file mode 100644 index 0000000000..c81e66666d --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/test/testdata/noop/Puns.hs @@ -0,0 +1,13 @@ +{-# LANGUAGE Haskell2010 #-} +{-# LANGUAGE NamedFieldPuns #-} + +module Puns where + +data MyRec = MyRec + { foo :: Int + , bar :: Int + , baz :: Char + } + +convertMe :: MyRec -> String +convertMe MyRec {foo, bar, baz} = show foo ++ show bar ++ show baz From f8e2549e5cb5c660a685b633f74d7cc4f12cd8da Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Fri, 21 Oct 2022 15:25:32 +0200 Subject: [PATCH 10/29] Minor code reorganization --- .../src/Ide/Plugin/ExplicitFields.hs | 190 +++++++++--------- 1 file changed, 94 insertions(+), 96 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 664e02a403..9f08af147d 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -75,35 +75,6 @@ import Language.LSP.Types (CodeAction (..), import qualified Language.LSP.Types.Lens as L --- `Outputable` instance of `HsRecFields` does smart things to print --- the records that originally had wildcards with dots, even after they --- are removed by the renamer pass. Here `rec_dotdot` is set to --- `Nothing` so that fields are printed without such post-processing. -preprocessRecord :: HsRecFields (GhcPass c) arg -> HsRecFields (GhcPass c) arg -preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } - where - no_pun_count = maybe (length (rec_flds flds)) unLoc (rec_dotdot flds) - -- Field binds of the explicit form (e.g. `{ a = a' }`) should be - -- left as is, hence the split. - (no_puns, puns) = splitAt no_pun_count (rec_flds flds) - -- `hsRecPun` is set to `True` in order to pretty-print the fields as field - -- puns (since there is similar mechanism in the `Outputable` instance as - -- explained above). - puns' = map (mapLoc (\fld -> fld { hfbPun = True })) puns - rec_flds' = no_puns <> puns' - -showRecordPat :: Outputable (Pat (GhcPass c)) => Pat (GhcPass c) -> Maybe Text -showRecordPat pat@(ConPat _ _ (RecCon flds)) = - Just $ printOutputable $ - pat { pat_args = RecCon (preprocessRecord flds) } -showRecordPat _ = Nothing - -showRecordCon :: Outputable (HsExpr (GhcPass c)) => HsExpr (GhcPass c) -> Maybe Text -showRecordCon expr@(RecordCon _ _ flds) = - Just $ printOutputable $ - expr { rcon_flds = preprocessRecord flds } -showRecordCon _ = Nothing - data Log = LogShake Shake.Log instance Pretty Log where @@ -116,6 +87,71 @@ descriptor recorder plId = (defaultPluginDescriptor plId) , pluginRules = collectRecordsRule recorder } +codeActionProvider :: PluginMethodHandler IdeState 'TextDocumentCodeAction +codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do + nfp <- getNormalizedFilePath (docId ^. L.uri) + pragma <- getFirstPragma pId ideState nfp + CRR renderedRecs (map unExt -> exts) <- collectRecordsInRange range ideState nfp + let actions = map (mkCodeAction nfp exts pragma) renderedRecs + pure $ List actions + + where + mkCodeAction :: NormalizedFilePath -> [Extension] -> NextPragmaInfo -> RenderedRecordInfo -> Command |? CodeAction + mkCodeAction nfp exts pragma rec = InR CodeAction + { _title = mkCodeActionTitle exts + , _kind = Just CodeActionRefactorRewrite + , _diagnostics = Nothing + , _isPreferred = Nothing + , _disabled = Nothing + , _edit = Just $ mkWorkspaceEdit nfp edits + , _command = Nothing + , _xdata = Nothing + } + where + edits = catMaybes [ mkTextEdit rec , pragmaEdit ] + + mkTextEdit :: RenderedRecordInfo -> Maybe TextEdit + mkTextEdit (RenderedRecordInfo ss r) = TextEdit <$> srcSpanToRange ss <*> pure r + + -- NOTE(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` + -- in GHC 9.4, but we still want to insert `NamedFieldPuns` in pre-9.4 + -- GHC as well, hence the replacement. + -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 + pragmaEdit :: Maybe TextEdit + pragmaEdit = if NamedFieldPuns `elem` exts + then Nothing + else Just $ patchExtName $ insertNewPragma pragma NamedFieldPuns + where + patchExtName = L.newText %~ T.replace "Record" "NamedField" + + mkWorkspaceEdit :: NormalizedFilePath -> [TextEdit] -> WorkspaceEdit + mkWorkspaceEdit nfp edits = WorkspaceEdit changes Nothing Nothing + where + changes = Just $ HashMap.singleton (fromNormalizedUri (normalizedFilePathToUri nfp)) (List edits) + + mkCodeActionTitle :: [Extension] -> Text + mkCodeActionTitle exts = + if NamedFieldPuns `elem` exts + then title + else title <> " (needs extension: NamedFieldPuns)" + where + title = "Expand record wildcard" + +collectRecordsRule :: Recorder (WithPriority Log) -> Rules () +collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do + tmr <- use TypeCheck nfp + let exts = getEnabledExtensions <$> tmr + recs = getRecords <$> tmr + renderedRecs = mapMaybe renderRecordInfo <$> recs + pure ([], CRR <$> renderedRecs <*> exts) + +getEnabledExtensions :: TcModuleResult -> [GhcExtension] +getEnabledExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed + +getRecords :: TcModuleResult -> [RecordInfo] +getRecords (tmrRenamed -> (hs_valds -> valBinds,_,_,_)) = + collectRecords valBinds + data CollectRecords = CollectRecords deriving (Eq, Show, Generic) @@ -156,7 +192,35 @@ renderRecordInfo :: RecordInfo -> Maybe RenderedRecordInfo renderRecordInfo (RecordInfoPat ss pat) = RenderedRecordInfo ss <$> showRecordPat pat renderRecordInfo (RecordInfoCon ss expr) = RenderedRecordInfo ss <$> showRecordCon expr --- collectRecords :: GenericQ [LPat (GhcPass 'Renamed)] +-- `Outputable` instance of `HsRecFields` does smart things to print +-- the records that originally had wildcards with dots, even after they +-- are removed by the renamer pass. Here `rec_dotdot` is set to +-- `Nothing` so that fields are printed without such post-processing. +preprocessRecord :: HsRecFields (GhcPass c) arg -> HsRecFields (GhcPass c) arg +preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } + where + no_pun_count = maybe (length (rec_flds flds)) unLoc (rec_dotdot flds) + -- Field binds of the explicit form (e.g. `{ a = a' }`) should be + -- left as is, hence the split. + (no_puns, puns) = splitAt no_pun_count (rec_flds flds) + -- `hsRecPun` is set to `True` in order to pretty-print the fields as field + -- puns (since there is similar mechanism in the `Outputable` instance as + -- explained above). + puns' = map (mapLoc (\fld -> fld { hfbPun = True })) puns + rec_flds' = no_puns <> puns' + +showRecordPat :: Outputable (Pat (GhcPass c)) => Pat (GhcPass c) -> Maybe Text +showRecordPat pat@(ConPat _ _ (RecCon flds)) = + Just $ printOutputable $ + pat { pat_args = RecCon (preprocessRecord flds) } +showRecordPat _ = Nothing + +showRecordCon :: Outputable (HsExpr (GhcPass c)) => HsExpr (GhcPass c) -> Maybe Text +showRecordCon expr@(RecordCon _ _ flds) = + Just $ printOutputable $ + expr { rcon_flds = preprocessRecord flds } +showRecordCon _ = Nothing + collectRecords :: GenericQ [RecordInfo] collectRecords = everything (<>) (maybeToList . (Nothing `mkQ` getRecPatterns `extQ` getRecCons)) @@ -176,21 +240,6 @@ getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) mkRecInfo pat = RecordInfoPat (getLoc pat) (unLoc pat) getRecPatterns _ = Nothing -getEnabledExtensions :: TcModuleResult -> [GhcExtension] -getEnabledExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed - -getRecords :: TcModuleResult -> [RecordInfo] -getRecords (tmrRenamed -> (hs_valds -> valBinds,_,_,_)) = - collectRecords valBinds - -collectRecordsRule :: Recorder (WithPriority Log) -> Rules () -collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do - tmr <- use TypeCheck nfp - let exts = getEnabledExtensions <$> tmr - recs = getRecords <$> tmr - renderedRecs = mapMaybe renderRecordInfo <$> recs - pure ([], CRR <$> renderedRecs <*> exts) - collectRecords' :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult collectRecords' ideState = handleMaybeM "Unable to TypeCheck" @@ -207,57 +256,6 @@ collectRecordsInRange range ideState nfp = do inRange :: RenderedRecordInfo -> Bool inRange (RenderedRecordInfo ss _) = maybe False (subRange range) (srcSpanToRange ss) - -codeActionProvider :: PluginMethodHandler IdeState 'TextDocumentCodeAction -codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do - nfp <- getNormalizedFilePath (docId ^. L.uri) - pragma <- getFirstPragma pId ideState nfp - CRR renderedRecs (map unExt -> exts) <- collectRecordsInRange range ideState nfp - let actions = map (mkCodeAction nfp exts pragma) renderedRecs - pure $ List actions - - where - mkCodeAction :: NormalizedFilePath -> [Extension] -> NextPragmaInfo -> RenderedRecordInfo -> Command |? CodeAction - mkCodeAction nfp exts pragma rec = InR CodeAction - { _title = mkCodeActionTitle exts - , _kind = Just CodeActionRefactorRewrite - , _diagnostics = Nothing - , _isPreferred = Nothing - , _disabled = Nothing - , _edit = Just $ mkWorkspaceEdit nfp edits - , _command = Nothing - , _xdata = Nothing - } - where - edits = catMaybes [ mkTextEdit rec , pragmaEdit ] - - mkTextEdit :: RenderedRecordInfo -> Maybe TextEdit - mkTextEdit (RenderedRecordInfo ss r) = TextEdit <$> srcSpanToRange ss <*> pure r - - -- NOTE(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` - -- in GHC 9.4, but we still want to insert `NamedFieldPuns` in pre-9.4 - -- GHC as well, hence the replacement. - -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 - pragmaEdit :: Maybe TextEdit - pragmaEdit = if NamedFieldPuns `elem` exts - then Nothing - else Just $ patchExtName $ insertNewPragma pragma NamedFieldPuns - where - patchExtName = L.newText %~ T.replace "Record" "NamedField" - - mkWorkspaceEdit :: NormalizedFilePath -> [TextEdit] -> WorkspaceEdit - mkWorkspaceEdit nfp edits = WorkspaceEdit changes Nothing Nothing - where - changes = Just $ HashMap.singleton (fromNormalizedUri (normalizedFilePathToUri nfp)) (List edits) - -mkCodeActionTitle :: [Extension] -> Text -mkCodeActionTitle exts = - if NamedFieldPuns `elem` exts - then title - else title <> " (needs extension: NamedFieldPuns)" - where - title = "Expand record wildcard" - -- Copied from hls-alternate-number-format-plugin getFirstPragma :: MonadIO m => PluginId -> IdeState -> NormalizedFilePath -> ExceptT String m NextPragmaInfo getFirstPragma (PluginId pId) state nfp = handleMaybeM "Could not get NextPragmaInfo" $ do From 297913123882cca24aeab6a3ff7855a149abcd6e Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Tue, 25 Oct 2022 14:52:34 +0200 Subject: [PATCH 11/29] Move common pragma logic to same file --- ghcide/src/Development/IDE/Spans/Pragmas.hs | 27 +++++++++++++++---- .../src/Ide/Plugin/AlternateNumberFormat.hs | 10 +------ .../src/Ide/Plugin/ExplicitFields.hs | 26 +++++------------- .../hls-gadt-plugin/src/Ide/Plugin/GADT.hs | 19 +++---------- 4 files changed, 33 insertions(+), 49 deletions(-) diff --git a/ghcide/src/Development/IDE/Spans/Pragmas.hs b/ghcide/src/Development/IDE/Spans/Pragmas.hs index 02d3db2721..b0abb6a19e 100644 --- a/ghcide/src/Development/IDE/Spans/Pragmas.hs +++ b/ghcide/src/Development/IDE/Spans/Pragmas.hs @@ -6,7 +6,8 @@ module Development.IDE.Spans.Pragmas ( NextPragmaInfo(..) , LineSplitTextEdits(..) , getNextPragmaInfo - , insertNewPragma ) where + , insertNewPragma + , getFirstPragma ) where import Data.Bits (Bits (setBit)) import Data.Function ((&)) @@ -14,11 +15,15 @@ import qualified Data.List as List import qualified Data.Maybe as Maybe import Data.Text (Text, pack) import qualified Data.Text as Text -import Development.IDE (srcSpanToRange) +import Development.IDE (srcSpanToRange, IdeState, NormalizedFilePath, runAction, useWithStale, GhcSession (..), getFileContents, hscEnv) import Development.IDE.GHC.Compat import Development.IDE.GHC.Compat.Util -import GHC.LanguageExtensions.Type (Extension) import qualified Language.LSP.Types as LSP +import Control.Monad.IO.Class (MonadIO (..)) +import Control.Monad.Trans.Except (ExceptT) +import Ide.Types (PluginId(..)) +import qualified Data.Text as T +import Ide.PluginUtils (handleMaybeM) getNextPragmaInfo :: DynFlags -> Maybe Text -> NextPragmaInfo getNextPragmaInfo dynFlags sourceText = @@ -31,13 +36,25 @@ getNextPragmaInfo dynFlags sourceText = | otherwise -> NextPragmaInfo 0 Nothing +showExtension :: Extension -> Text +showExtension RecordPuns = "NamedFieldPuns" +showExtension ext = pack (show ext) + insertNewPragma :: NextPragmaInfo -> Extension -> LSP.TextEdit -insertNewPragma (NextPragmaInfo _ (Just (LineSplitTextEdits ins _))) newPragma = ins { LSP._newText = "{-# LANGUAGE " <> pack (show newPragma) <> " #-}\n" } :: LSP.TextEdit -insertNewPragma (NextPragmaInfo nextPragmaLine _) newPragma = LSP.TextEdit pragmaInsertRange $ "{-# LANGUAGE " <> pack (show newPragma) <> " #-}\n" +insertNewPragma (NextPragmaInfo _ (Just (LineSplitTextEdits ins _))) newPragma = ins { LSP._newText = "{-# LANGUAGE " <> showExtension newPragma <> " #-}\n" } :: LSP.TextEdit +insertNewPragma (NextPragmaInfo nextPragmaLine _) newPragma = LSP.TextEdit pragmaInsertRange $ "{-# LANGUAGE " <> showExtension newPragma <> " #-}\n" where pragmaInsertPosition = LSP.Position (fromIntegral nextPragmaLine) 0 pragmaInsertRange = LSP.Range pragmaInsertPosition pragmaInsertPosition +getFirstPragma :: MonadIO m => PluginId -> IdeState -> NormalizedFilePath -> ExceptT String m NextPragmaInfo +getFirstPragma (PluginId pId) state nfp = handleMaybeM "Could not get NextPragmaInfo" $ do + ghcSession <- liftIO $ runAction (T.unpack pId <> ".GhcSession") state $ useWithStale GhcSession nfp + (_, fileContents) <- liftIO $ runAction (T.unpack pId <> ".GetFileContents") state $ getFileContents nfp + case ghcSession of + Just (hscEnv -> hsc_dflags -> sessionDynFlags, _) -> pure $ Just $ getNextPragmaInfo sessionDynFlags fileContents + Nothing -> pure Nothing + -- Pre-declaration comments parser ----------------------------------------------------- -- | Each mode represents the "strongest" thing we've seen so far. diff --git a/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs b/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs index e73afdbd65..d3721b89c6 100644 --- a/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs +++ b/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs @@ -2,7 +2,6 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} -{-# LANGUAGE ViewPatterns #-} module Ide.Plugin.AlternateNumberFormat (descriptor, Log(..)) where import Control.Lens ((^.)) @@ -21,6 +20,7 @@ import Development.IDE.GHC.Compat hiding (getSrcSpan) import Development.IDE.GHC.Compat.Util (toList) import Development.IDE.Graph.Classes (Hashable, NFData, rnf) import Development.IDE.Spans.Pragmas (NextPragmaInfo, + getFirstPragma, getNextPragmaInfo, insertNewPragma) import Development.IDE.Types.Logger as Logger @@ -141,14 +141,6 @@ contains Range {_start, _end} x = isInsideRealSrcSpan _start x || isInsideRealSr isInsideRealSrcSpan :: Position -> RealSrcSpan -> Bool p `isInsideRealSrcSpan` r = let (Range sp ep) = realSrcSpanToRange r in sp <= p && p <= ep -getFirstPragma :: MonadIO m => PluginId -> IdeState -> NormalizedFilePath -> ExceptT String m NextPragmaInfo -getFirstPragma (PluginId pId) state nfp = handleMaybeM "Could not get NextPragmaInfo" $ do - ghcSession <- liftIO $ runAction (unpack pId <> ".GhcSession") state $ useWithStale GhcSession nfp - (_, fileContents) <- liftIO $ runAction (unpack pId <> ".GetFileContents") state $ getFileContents nfp - case ghcSession of - Just (hscEnv -> hsc_dflags -> sessionDynFlags, _) -> pure $ Just $ getNextPragmaInfo sessionDynFlags fileContents - Nothing -> pure Nothing - requestLiterals :: MonadIO m => PluginId -> IdeState -> NormalizedFilePath -> ExceptT String m CollectLiteralsResult requestLiterals (PluginId pId) state = handleMaybeM "Could not Collect Literals" . liftIO diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 9f08af147d..d286857a07 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -11,7 +11,7 @@ module Ide.Plugin.ExplicitFields ( descriptor ) where -import Control.Lens ((%~), (^.)) +import Control.Lens ((^.)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Except (ExceptT) import Data.Generics (GenericQ, everything, extQ, @@ -20,22 +20,19 @@ import qualified Data.HashMap.Strict as HashMap import Data.Maybe (catMaybes, isJust, mapMaybe, maybeToList) import Data.Text (Text) -import qualified Data.Text as T import Development.IDE (IdeState, NormalizedFilePath, Pretty (..), Range (..), Recorder (..), Rules, WithPriority (..), - getFileContents, hscEnv, srcSpanToRange) import Development.IDE.Core.Rules (runAction) -import Development.IDE.Core.RuleTypes (GhcSession (..), - TcModuleResult (..), +import Development.IDE.Core.RuleTypes (TcModuleResult (..), TypeCheck (..)) -import Development.IDE.Core.Shake (define, use, useWithStale) +import Development.IDE.Core.Shake (define, use) import qualified Development.IDE.Core.Shake as Shake import Development.IDE.GHC.Compat (HasSrcSpan (..), HsConDetails (RecCon), - HsRecFields (..), HscEnv (..), + HsRecFields (..), LPat, Outputable, SrcSpan, pm_mod_summary, unLoc) import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), @@ -50,7 +47,7 @@ import Development.IDE.GHC.Util (printOutputable) import Development.IDE.Graph (RuleResult) import Development.IDE.Graph.Classes (Hashable, NFData (rnf)) import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), - getNextPragmaInfo, + getFirstPragma, insertNewPragma) import Development.IDE.Types.Logger (cmapWithPrio) import GHC.Generics (Generic) @@ -120,9 +117,7 @@ codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginRes pragmaEdit :: Maybe TextEdit pragmaEdit = if NamedFieldPuns `elem` exts then Nothing - else Just $ patchExtName $ insertNewPragma pragma NamedFieldPuns - where - patchExtName = L.newText %~ T.replace "Record" "NamedField" + else Just $ insertNewPragma pragma NamedFieldPuns mkWorkspaceEdit :: NormalizedFilePath -> [TextEdit] -> WorkspaceEdit mkWorkspaceEdit nfp edits = WorkspaceEdit changes Nothing Nothing @@ -255,12 +250,3 @@ collectRecordsInRange range ideState nfp = do where inRange :: RenderedRecordInfo -> Bool inRange (RenderedRecordInfo ss _) = maybe False (subRange range) (srcSpanToRange ss) - --- Copied from hls-alternate-number-format-plugin -getFirstPragma :: MonadIO m => PluginId -> IdeState -> NormalizedFilePath -> ExceptT String m NextPragmaInfo -getFirstPragma (PluginId pId) state nfp = handleMaybeM "Could not get NextPragmaInfo" $ do - ghcSession <- liftIO $ runAction (T.unpack pId <> ".GhcSession") state $ useWithStale GhcSession nfp - (_, fileContents) <- liftIO $ runAction (T.unpack pId <> ".GetFileContents") state $ getFileContents nfp - case ghcSession of - Just (hscEnv -> hsc_dflags -> sessionDynFlags, _) -> pure $ Just $ getNextPragmaInfo sessionDynFlags fileContents - Nothing -> pure Nothing diff --git a/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs b/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs index fe68a74be8..c7ba72272e 100644 --- a/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs +++ b/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs @@ -21,11 +21,9 @@ import Development.IDE.GHC.Compat import Control.Monad.Trans.Except (throwE) import Data.Maybe (mapMaybe) import Development.IDE.GHC.Compat.Util (toList) -import Development.IDE.Spans.Pragmas (NextPragmaInfo, - getNextPragmaInfo, +import Development.IDE.Spans.Pragmas (getFirstPragma, insertNewPragma) import GHC.Generics (Generic) -import GHC.LanguageExtensions.Type (Extension (GADTSyntax, GADTs)) import Ide.Plugin.GHC import Ide.PluginUtils import Ide.Types @@ -52,20 +50,20 @@ toGADTSyntaxCommandId = "GADT.toGADT" -- | A command replaces H98 data decl with GADT decl in place toGADTCommand :: PluginId -> CommandFunction IdeState ToGADTParams -toGADTCommand _ state ToGADTParams{..} = pluginResponse $ do +toGADTCommand pId@(PluginId pId') state ToGADTParams{..} = pluginResponse $ do nfp <- getNormalizedFilePath uri (decls, exts) <- getInRangeH98DeclsAndExts state range nfp (L ann decl) <- case decls of [d] -> pure d _ -> throwE $ "Expected 1 declaration, but got " <> show (Prelude.length decls) - deps <- liftIO $ runAction "GADT.GhcSessionDeps" state $ use GhcSessionDeps nfp + deps <- liftIO $ runAction (T.unpack pId' <> ".GhcSessionDeps") state $ use GhcSessionDeps nfp (hsc_dflags . hscEnv -> df) <- liftEither $ maybeToEither "Get GhcSessionDeps failed" deps txt <- liftEither $ T.pack <$> (prettyGADTDecl df . h98ToGADTDecl) decl range <- liftEither $ maybeToEither "Unable to get data decl range" $ srcSpanToRange $ locA ann - pragma <- getNextPragma state nfp + pragma <- getFirstPragma pId state nfp let insertEdit = [insertNewPragma pragma GADTs | all (`notElem` exts) [GADTSyntax, GADTs]] _ <- lift $ sendRequest @@ -120,12 +118,3 @@ getInRangeH98DeclsAndExts state range nfp = do $ filter (inRange range) hsDecls exts = (toList . extensionFlags . ms_hspp_opts . pm_mod_summary) pm pure (decls, exts) - --- Copy from hls-alternate-number-format-plugin -getNextPragma :: MonadIO m => IdeState -> NormalizedFilePath -> ExceptT String m NextPragmaInfo -getNextPragma state nfp = handleMaybeM "Error: Could not get NextPragmaInfo" $ do - ghcSession <- liftIO $ runAction "GADT.GhcSession" state $ useWithStale GhcSession nfp - (_, fileContents) <- liftIO $ runAction "GADT.GetFileContents" state $ getFileContents nfp - case ghcSession of - Just (hscEnv -> hsc_dflags -> sessionDynFlags, _) -> pure $ Just $ getNextPragmaInfo sessionDynFlags fileContents - Nothing -> pure Nothing From b93422a812cccaff085229ee1cd78dc604cf60c8 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Tue, 25 Oct 2022 14:55:11 +0200 Subject: [PATCH 12/29] Remove strictness annotations --- .../src/Ide/Plugin/ExplicitFields.hs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index d286857a07..2f60cf36d4 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -154,8 +154,8 @@ instance Hashable CollectRecords instance NFData CollectRecords data CollectRecordsResult = CRR - { recordInfos :: ![RenderedRecordInfo] - , enabledExtensions :: ![GhcExtension] + { recordInfos :: [RenderedRecordInfo] + , enabledExtensions :: [GhcExtension] } deriving (Generic) @@ -172,12 +172,12 @@ instance NFData GhcExtension where rnf x = x `seq` () data RecordInfo - = RecordInfoPat !SrcSpan !(Pat (GhcPass 'Renamed)) - | RecordInfoCon !SrcSpan !(HsExpr (GhcPass 'Renamed)) + = RecordInfoPat SrcSpan (Pat (GhcPass 'Renamed)) + | RecordInfoCon SrcSpan (HsExpr (GhcPass 'Renamed)) data RenderedRecordInfo = RenderedRecordInfo - { renderedSrcSpan :: !SrcSpan - , renderedRecord :: !Text + { renderedSrcSpan :: SrcSpan + , renderedRecord :: Text } deriving (Generic) From d213705466dcaf812e4c26338b2010f719b65327 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Tue, 25 Oct 2022 14:55:33 +0200 Subject: [PATCH 13/29] Improve documentation --- ghcide/src/Development/IDE/Spans/Pragmas.hs | 4 ++++ .../src/Ide/Plugin/ExplicitFields.hs | 23 +++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/ghcide/src/Development/IDE/Spans/Pragmas.hs b/ghcide/src/Development/IDE/Spans/Pragmas.hs index b0abb6a19e..10a972ae5b 100644 --- a/ghcide/src/Development/IDE/Spans/Pragmas.hs +++ b/ghcide/src/Development/IDE/Spans/Pragmas.hs @@ -36,6 +36,10 @@ getNextPragmaInfo dynFlags sourceText = | otherwise -> NextPragmaInfo 0 Nothing +-- NOTE(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` +-- in GHC 9.4, but we still want to insert `NamedFieldPuns` in pre-9.4 +-- GHC as well, hence the replacement. +-- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 showExtension :: Extension -> Text showExtension RecordPuns = "NamedFieldPuns" showExtension ext = pack (show ext) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 2f60cf36d4..9ea776c196 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -32,8 +32,8 @@ import Development.IDE.Core.Shake (define, use) import qualified Development.IDE.Core.Shake as Shake import Development.IDE.GHC.Compat (HasSrcSpan (..), HsConDetails (RecCon), - HsRecFields (..), - LPat, Outputable, SrcSpan, + HsRecFields (..), LPat, + Outputable, SrcSpan, pm_mod_summary, unLoc) import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), GhcPass (..), @@ -110,10 +110,6 @@ codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginRes mkTextEdit :: RenderedRecordInfo -> Maybe TextEdit mkTextEdit (RenderedRecordInfo ss r) = TextEdit <$> srcSpanToRange ss <*> pure r - -- NOTE(ozkutuk): `RecordPuns` extension is renamed to `NamedFieldPuns` - -- in GHC 9.4, but we still want to insert `NamedFieldPuns` in pre-9.4 - -- GHC as well, hence the replacement. - -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 pragmaEdit :: Maybe TextEdit pragmaEdit = if NamedFieldPuns `elem` exts then Nothing @@ -166,6 +162,8 @@ instance Show CollectRecordsResult where type instance RuleResult CollectRecords = CollectRecordsResult +-- `Extension` is wrapped so that we can provide an `NFData` instance +-- (without resorting to creating an orphan instance). newtype GhcExtension = GhcExtension { unExt :: Extension } instance NFData GhcExtension where @@ -187,10 +185,15 @@ renderRecordInfo :: RecordInfo -> Maybe RenderedRecordInfo renderRecordInfo (RecordInfoPat ss pat) = RenderedRecordInfo ss <$> showRecordPat pat renderRecordInfo (RecordInfoCon ss expr) = RenderedRecordInfo ss <$> showRecordCon expr --- `Outputable` instance of `HsRecFields` does smart things to print --- the records that originally had wildcards with dots, even after they --- are removed by the renamer pass. Here `rec_dotdot` is set to --- `Nothing` so that fields are printed without such post-processing. +-- We make use of the `Outputable` instances on AST types to pretty-print +-- the renamed and expanded records back into source form, to be substituted +-- with the original record later. However, `Outputable` instance of +-- `HsRecFields` does smart things to print the records that originally had +-- wildcards in their original form (i.e. with dots, without field names), +-- even after the wildcard is removed by the renamer pass. This is undesirable, +-- as we want to print the records in their fully expanded form. +-- Here `rec_dotdot` is set to `Nothing` so that fields are printed without +-- such post-processing. preprocessRecord :: HsRecFields (GhcPass c) arg -> HsRecFields (GhcPass c) arg preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } where From 89619b5c923b2500dfdb4d2da17cf5232b7e9602 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Thu, 27 Oct 2022 17:05:39 +0200 Subject: [PATCH 14/29] Use interval map for efficient range filtering --- .../hls-explicit-record-fields-plugin.cabal | 1 + .../src/Ide/Plugin/ExplicitFields.hs | 175 ++++++++++-------- 2 files changed, 99 insertions(+), 77 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal index 66478f66f9..73e621548a 100644 --- a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -38,6 +38,7 @@ library , transformers , ghc-boot-th , unordered-containers + , hw-fingertree hs-source-dirs: src default-language: Haskell2010 diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 9ea776c196..b263e6cf3c 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -1,75 +1,89 @@ -{-# LANGUAGE DataKinds #-} -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE LambdaCase #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE TypeOperators #-} -{-# LANGUAGE ViewPatterns #-} +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE FlexibleContexts #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE TupleSections #-} +{-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE TypeOperators #-} +{-# LANGUAGE ViewPatterns #-} module Ide.Plugin.ExplicitFields ( descriptor ) where -import Control.Lens ((^.)) -import Control.Monad.IO.Class (MonadIO, liftIO) -import Control.Monad.Trans.Except (ExceptT) -import Data.Generics (GenericQ, everything, extQ, - mkQ) -import qualified Data.HashMap.Strict as HashMap -import Data.Maybe (catMaybes, isJust, mapMaybe, - maybeToList) -import Data.Text (Text) -import Development.IDE (IdeState, NormalizedFilePath, - Pretty (..), Range (..), - Recorder (..), Rules, - WithPriority (..), - srcSpanToRange) -import Development.IDE.Core.Rules (runAction) -import Development.IDE.Core.RuleTypes (TcModuleResult (..), - TypeCheck (..)) -import Development.IDE.Core.Shake (define, use) -import qualified Development.IDE.Core.Shake as Shake -import Development.IDE.GHC.Compat (HasSrcSpan (..), - HsConDetails (RecCon), - HsRecFields (..), LPat, - Outputable, SrcSpan, - pm_mod_summary, unLoc) -import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), - GhcPass (..), - HsExpr (RecordCon, rcon_flds), - LHsExpr, ModSummary (..), - Pass (..), Pat (..), - extensionFlags, hfbPun, - hs_valds, mapLoc) -import Development.IDE.GHC.Compat.Util (toList) -import Development.IDE.GHC.Util (printOutputable) -import Development.IDE.Graph (RuleResult) -import Development.IDE.Graph.Classes (Hashable, NFData (rnf)) -import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), - getFirstPragma, - insertNewPragma) -import Development.IDE.Types.Logger (cmapWithPrio) -import GHC.Generics (Generic) -import Ide.PluginUtils (getNormalizedFilePath, - handleMaybeM, pluginResponse, - subRange) -import Ide.Types (PluginDescriptor (..), - PluginId (..), - PluginMethodHandler, - defaultPluginDescriptor, - mkPluginHandler) -import Language.LSP.Types (CodeAction (..), - CodeActionKind (CodeActionRefactorRewrite), - CodeActionParams (..), - Command, List (..), - Method (..), SMethod (..), - TextEdit (..), - WorkspaceEdit (WorkspaceEdit), - fromNormalizedUri, - normalizedFilePathToUri, - type (|?) (InR)) -import qualified Language.LSP.Types.Lens as L +import Control.Lens ((^.)) +import Control.Monad.IO.Class (MonadIO, liftIO) +import Control.Monad.Trans.Except (ExceptT) +import Data.Foldable (foldl') +import Data.Generics (GenericQ, everything, + extQ, mkQ) +import qualified Data.HashMap.Strict as HashMap +import Data.Maybe (catMaybes, isJust, + mapMaybe, + maybeToList) +import Data.Text (Text) +import Development.IDE (IdeState, + NormalizedFilePath, + Pretty (..), + Range (..), + Recorder (..), Rules, + WithPriority (..), + srcSpanToRange) +import Development.IDE.Core.Rules (runAction) +import Development.IDE.Core.RuleTypes (TcModuleResult (..), + TypeCheck (..)) +import Development.IDE.Core.Shake (define, use) +import qualified Development.IDE.Core.Shake as Shake +import Development.IDE.GHC.Compat (HasSrcSpan (..), + HsConDetails (RecCon), + HsRecFields (..), + LPat, Outputable, + SrcSpan, + pm_mod_summary, + unLoc) +import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), + GhcPass (..), + HsExpr (RecordCon, rcon_flds), + LHsExpr, + ModSummary (..), + Pass (..), Pat (..), + extensionFlags, + hfbPun, hs_valds, + mapLoc) +import Development.IDE.GHC.Compat.Util (toList) +import Development.IDE.GHC.Util (printOutputable) +import Development.IDE.Graph (RuleResult) +import Development.IDE.Graph.Classes (Hashable, + NFData (rnf)) +import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), + getFirstPragma, + insertNewPragma) +import Development.IDE.Types.Logger (cmapWithPrio) +import GHC.Generics (Generic) +import qualified HaskellWorks.Data.IntervalMap.FingerTree as IM +import Ide.PluginUtils (getNormalizedFilePath, + handleMaybeM, + pluginResponse) +import Ide.Types (PluginDescriptor (..), + PluginId (..), + PluginMethodHandler, + defaultPluginDescriptor, + mkPluginHandler) +import Language.LSP.Types (CodeAction (..), + CodeActionKind (CodeActionRefactorRewrite), + CodeActionParams (..), + Command, List (..), + Method (..), + Position, + SMethod (..), + TextEdit (..), + WorkspaceEdit (WorkspaceEdit), + fromNormalizedUri, + normalizedFilePathToUri, + type (|?) (InR)) +import qualified Language.LSP.Types.Lens as L data Log = LogShake Shake.Log @@ -88,8 +102,8 @@ codeActionProvider :: PluginMethodHandler IdeState 'TextDocumentCodeAction codeActionProvider ideState pId (CodeActionParams _ _ docId range _) = pluginResponse $ do nfp <- getNormalizedFilePath (docId ^. L.uri) pragma <- getFirstPragma pId ideState nfp - CRR renderedRecs (map unExt -> exts) <- collectRecordsInRange range ideState nfp - let actions = map (mkCodeAction nfp exts pragma) renderedRecs + CRR recMap (map unExt -> exts) <- collectRecords' ideState nfp + let actions = map (mkCodeAction nfp exts pragma) (filterRecords range recMap) pure $ List actions where @@ -134,7 +148,8 @@ collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \Collect let exts = getEnabledExtensions <$> tmr recs = getRecords <$> tmr renderedRecs = mapMaybe renderRecordInfo <$> recs - pure ([], CRR <$> renderedRecs <*> exts) + recMap = buildIntervalMap <$> renderedRecs + pure ([], CRR <$> recMap <*> exts) getEnabledExtensions :: TcModuleResult -> [GhcExtension] getEnabledExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed @@ -150,7 +165,7 @@ instance Hashable CollectRecords instance NFData CollectRecords data CollectRecordsResult = CRR - { recordInfos :: [RenderedRecordInfo] + { recordInfos :: IM.IntervalMap Position RenderedRecordInfo , enabledExtensions :: [GhcExtension] } deriving (Generic) @@ -245,11 +260,17 @@ collectRecords' ideState = . runAction "ExplicitFields" ideState . use CollectRecords -collectRecordsInRange :: MonadIO m => Range -> IdeState -> NormalizedFilePath -> ExceptT String m CollectRecordsResult -collectRecordsInRange range ideState nfp = do - CRR renderedRecs exts <- collectRecords' ideState nfp - pure $ CRR (filter inRange renderedRecs) exts +rangeToInterval :: Range -> IM.Interval Position +rangeToInterval (Range s e) = IM.Interval s e +buildIntervalMap :: [RenderedRecordInfo] -> IM.IntervalMap Position RenderedRecordInfo +buildIntervalMap recs = toIntervalMap $ mapMaybe (\recInfo -> (,recInfo) <$> srcSpanToInterval (renderedSrcSpan recInfo)) recs where - inRange :: RenderedRecordInfo -> Bool - inRange (RenderedRecordInfo ss _) = maybe False (subRange range) (srcSpanToRange ss) + toIntervalMap :: Ord v => [(IM.Interval v, a)] -> IM.IntervalMap v a + toIntervalMap = foldl' (\m (i, v) -> IM.insert i v m) IM.empty + + srcSpanToInterval :: SrcSpan -> Maybe (IM.Interval Position) + srcSpanToInterval = fmap rangeToInterval . srcSpanToRange + +filterRecords :: Range -> IM.IntervalMap Position RenderedRecordInfo -> [RenderedRecordInfo] +filterRecords range = map snd . IM.dominators (rangeToInterval range) From 63167c8b90ea42191a657be5793aa80124930e98 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Thu, 27 Oct 2022 18:50:30 +0200 Subject: [PATCH 15/29] Add external documentation --- docs/features.md | 10 ++++++++++ docs/support/plugin-support.md | 1 + .../README.md | 18 ++++++++++++++++++ .../wildcard.gif | Bin 0 -> 551286 bytes 4 files changed, 29 insertions(+) create mode 100644 plugins/hls-explicit-record-fields-plugin/README.md create mode 100644 plugins/hls-explicit-record-fields-plugin/wildcard.gif diff --git a/docs/features.md b/docs/features.md index 54c03d1b86..662a844e10 100644 --- a/docs/features.md +++ b/docs/features.md @@ -283,6 +283,16 @@ Convert a datatype to GADT syntax. ![Link to Docs](../plugins/hls-gadt-plugin/README.md) +### Expand record wildcard + +Provided by: `hls-explicit-record-fields-plugin` + +Code action kind: `refactor.rewrite` + +Expand record wildcards, explicitly listing all record fields as field puns. + +![Explicit Wildcard Demo](../plugins/hls-explicit-record-fields-plugin/wildcard.gif) + ## Code lenses ### Add type signature diff --git a/docs/support/plugin-support.md b/docs/support/plugin-support.md index 1bab3b4b90..d1926a5c73 100644 --- a/docs/support/plugin-support.md +++ b/docs/support/plugin-support.md @@ -50,6 +50,7 @@ For example, a plugin to provide a formatter which has itself been abandoned has | `hls-change-type-signature-plugin` | 2 | | | `hls-eval-plugin` | 2 | 9.4 | | `hls-explicit-fixity-plugin` | 2 | | +| `hls-explicit-record-fields-plugin` | 2 | | | `hls-floskell-plugin` | 2 | 9.4 | | `hls-fourmolu-plugin` | 2 | 9.4 | | `hls-gadt-plugin` | 2 | 9.4 | diff --git a/plugins/hls-explicit-record-fields-plugin/README.md b/plugins/hls-explicit-record-fields-plugin/README.md new file mode 100644 index 0000000000..d4330c3445 --- /dev/null +++ b/plugins/hls-explicit-record-fields-plugin/README.md @@ -0,0 +1,18 @@ +# Explicit Record Fields Plugin + +`hls-explicit-record-fields-plugin` is a plugin to expand record wildcards, explicitly listing all record fields as field puns. It works in both record construction and pattern binding scenarios, and it works as you would expect regardless of whether there are explicitly provided fields or puns in addition to the wildcard. + + +## Demo + +![Expand Wildcard Demo](wildcard.gif) + + +## Known limitations + +One of the shortcomings of the current approach is that all fields of the record are expanded, whether they are actually used or not. This results in warnings of unused bindings, if the corresponding warning flag is enabled. + + +## Change log +### 1.0.0.0 +- Release diff --git a/plugins/hls-explicit-record-fields-plugin/wildcard.gif b/plugins/hls-explicit-record-fields-plugin/wildcard.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cf10d6bf13276e7c09ca0133ae8e273bd572c6c GIT binary patch literal 551286 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
nODr;$}t+p_N-IuJ=vJ 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 z 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%0A|96kKv4kH9IeFyN&Ma0d@qi&ZmFxPINi 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 P(}MZX4}O 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ÿhg>sU)mGR!<2(R>M_-qi(ZGSz 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%0D14dp=B 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 Date: Thu, 27 Oct 2022 18:50:54 +0200 Subject: [PATCH 16/29] Add tests to GitHub CI --- .github/workflows/test.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bae4d974a8..e4681154fe 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -106,7 +106,7 @@ jobs: os: ${{ runner.os }} - name: Build - run: cabal build + run: cabal build - name: Set test options # run the tests without parallelism, otherwise tasty will attempt to run @@ -148,7 +148,7 @@ jobs: env: HLS_TEST_EXE: hls HLS_WRAPPER_TEST_EXE: hls-wrapper - run: cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" + run: cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" - if: matrix.test && matrix.ghc != '9.2.4' && matrix.ghc != '9.4.2' name: Test hls-brittany-plugin @@ -250,6 +250,10 @@ jobs: name: Test hls-explicit-fixity-plugin test suite run: cabal test hls-explicit-fixity-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-explicit-fixity-plugin --test-options="$TEST_OPTS" + - if: matrix.test + name: Test hls-explicit-record-fields-plugin test suite + run: cabal test hls-explicit-record-fields-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-explicit-record-fields-plugin --test-options="$TEST_OPTS" + test_post_job: if: always() runs-on: ubuntu-latest From 381cec5d5d0b3b367ee03a5bbdaa0a54d85f6c3e Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Fri, 28 Oct 2022 11:53:51 +0200 Subject: [PATCH 17/29] Add debug log for collected records --- .../src/Ide/Plugin/ExplicitFields.hs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index b263e6cf3c..578879c5be 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -60,7 +60,9 @@ import Development.IDE.Graph.Classes (Hashable, import Development.IDE.Spans.Pragmas (NextPragmaInfo (..), getFirstPragma, insertNewPragma) -import Development.IDE.Types.Logger (cmapWithPrio) +import Development.IDE.Types.Logger (Priority (..), + cmapWithPrio, + logWith, (<+>)) import GHC.Generics (Generic) import qualified HaskellWorks.Data.IntervalMap.FingerTree as IM import Ide.PluginUtils (getNormalizedFilePath, @@ -86,11 +88,14 @@ import Language.LSP.Types (CodeAction (..), import qualified Language.LSP.Types.Lens as L -data Log = LogShake Shake.Log +data Log + = LogShake Shake.Log + | LogCollectedRecords [RecordInfo] instance Pretty Log where pretty = \case LogShake shakeLog -> pretty shakeLog + LogCollectedRecords recs -> "Collected records with wildcards:" <+> pretty recs descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState descriptor recorder plId = (defaultPluginDescriptor plId) @@ -146,8 +151,9 @@ collectRecordsRule :: Recorder (WithPriority Log) -> Rules () collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectRecords nfp -> do tmr <- use TypeCheck nfp let exts = getEnabledExtensions <$> tmr - recs = getRecords <$> tmr - renderedRecs = mapMaybe renderRecordInfo <$> recs + recs = concat $ maybeToList (getRecords <$> tmr) + logWith recorder Debug (LogCollectedRecords recs) + let renderedRecs = traverse renderRecordInfo recs recMap = buildIntervalMap <$> renderedRecs pure ([], CRR <$> recMap <*> exts) @@ -188,12 +194,19 @@ data RecordInfo = RecordInfoPat SrcSpan (Pat (GhcPass 'Renamed)) | RecordInfoCon SrcSpan (HsExpr (GhcPass 'Renamed)) +instance Pretty RecordInfo where + pretty (RecordInfoPat ss p) = pretty (printOutputable ss) <> ":" <+> pretty (printOutputable p) + pretty (RecordInfoCon ss e) = pretty (printOutputable ss) <> ":" <+> pretty (printOutputable e) + data RenderedRecordInfo = RenderedRecordInfo { renderedSrcSpan :: SrcSpan , renderedRecord :: Text } deriving (Generic) +instance Pretty RenderedRecordInfo where + pretty (RenderedRecordInfo ss r) = pretty (printOutputable ss) <> ":" <+> pretty r + instance NFData RenderedRecordInfo renderRecordInfo :: RecordInfo -> Maybe RenderedRecordInfo From 50c6b737f87d4a2c28295b51b6f0b2f6ef4c386b Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Fri, 28 Oct 2022 15:09:25 +0200 Subject: [PATCH 18/29] Add `getExtensions` to ghcide --- ghcide/src/Development/IDE/GHC/Util.hs | 9 ++- .../src/Ide/Plugin/AlternateNumberFormat.hs | 55 ++++++++----------- .../src/Ide/Plugin/Brittany.hs | 3 +- .../src/Ide/Plugin/Class/Utils.hs | 3 +- .../src/Ide/Plugin/ExplicitFields.hs | 23 +++----- .../hls-gadt-plugin/src/Ide/Plugin/GADT.hs | 28 +++++----- .../hls-hlint-plugin/src/Ide/Plugin/Hlint.hs | 3 +- 7 files changed, 58 insertions(+), 66 deletions(-) diff --git a/ghcide/src/Development/IDE/GHC/Util.hs b/ghcide/src/Development/IDE/GHC/Util.hs index 70486f4d74..ca108ebc4d 100644 --- a/ghcide/src/Development/IDE/GHC/Util.hs +++ b/ghcide/src/Development/IDE/GHC/Util.hs @@ -26,10 +26,12 @@ module Development.IDE.GHC.Util( setHieDir, dontWriteHieFiles, disableWarningsAsErrors, - printOutputable + printOutputable, + getExtensions ) where #if MIN_VERSION_ghc(9,2,0) +import GHC.Data.EnumSet import GHC.Data.FastString import GHC.Data.StringBuffer import GHC.Driver.Env hiding (hscSetFlags) @@ -73,7 +75,7 @@ import Development.IDE.Types.Location import Foreign.ForeignPtr import Foreign.Ptr import Foreign.Storable -import GHC +import GHC hiding (ParsedModule (..)) import GHC.IO.BufferedIO (BufferedIO) import GHC.IO.Device as IODevice import GHC.IO.Encoding @@ -295,3 +297,6 @@ printOutputable = -- More discussion at https://github.com/haskell/haskell-language-server/issues/3115. unescape . T.pack . printWithoutUniques {-# INLINE printOutputable #-} + +getExtensions :: ParsedModule -> [Extension] +getExtensions = toList . extensionFlags . ms_hspp_opts . pm_mod_summary diff --git a/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs b/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs index d3721b89c6..f2961d452a 100644 --- a/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs +++ b/plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs @@ -4,37 +4,32 @@ {-# LANGUAGE TypeOperators #-} module Ide.Plugin.AlternateNumberFormat (descriptor, Log(..)) where -import Control.Lens ((^.)) -import Control.Monad.Except (ExceptT, MonadIO, liftIO) -import qualified Data.HashMap.Strict as HashMap -import Data.Text (Text, unpack) -import qualified Data.Text as T -import Development.IDE (GetParsedModule (GetParsedModule), - GhcSession (GhcSession), - IdeState, RuleResult, Rules, - define, getFileContents, - hscEnv, realSrcSpanToRange, - runAction, use, useWithStale) -import qualified Development.IDE.Core.Shake as Shake -import Development.IDE.GHC.Compat hiding (getSrcSpan) -import Development.IDE.GHC.Compat.Util (toList) -import Development.IDE.Graph.Classes (Hashable, NFData, rnf) -import Development.IDE.Spans.Pragmas (NextPragmaInfo, - getFirstPragma, - getNextPragmaInfo, - insertNewPragma) -import Development.IDE.Types.Logger as Logger -import GHC.Generics (Generic) -import GHC.LanguageExtensions.Type (Extension) -import Ide.Plugin.Conversion (AlternateFormat, - ExtensionNeeded (NeedsExtension, NoExtension), - alternateFormat) +import Control.Lens ((^.)) +import Control.Monad.Except (ExceptT, MonadIO, liftIO) +import qualified Data.HashMap.Strict as HashMap +import Data.Text (Text, unpack) +import qualified Data.Text as T +import Development.IDE (GetParsedModule (GetParsedModule), + IdeState, RuleResult, Rules, + define, realSrcSpanToRange, + runAction, use) +import qualified Development.IDE.Core.Shake as Shake +import Development.IDE.GHC.Compat hiding (getSrcSpan) +import Development.IDE.GHC.Util (getExtensions) +import Development.IDE.Graph.Classes (Hashable, NFData, rnf) +import Development.IDE.Spans.Pragmas (NextPragmaInfo, getFirstPragma, + insertNewPragma) +import Development.IDE.Types.Logger as Logger +import GHC.Generics (Generic) +import Ide.Plugin.Conversion (AlternateFormat, + ExtensionNeeded (NeedsExtension, NoExtension), + alternateFormat) import Ide.Plugin.Literals -import Ide.PluginUtils (getNormalizedFilePath, - handleMaybeM, pluginResponse) +import Ide.PluginUtils (getNormalizedFilePath, + handleMaybeM, pluginResponse) import Ide.Types import Language.LSP.Types -import qualified Language.LSP.Types.Lens as L +import qualified Language.LSP.Types.Lens as L newtype Log = LogShake Shake.Log deriving Show @@ -75,12 +70,10 @@ collectLiteralsRule :: Recorder (WithPriority Log) -> Rules () collectLiteralsRule recorder = define (cmapWithPrio LogShake recorder) $ \CollectLiterals nfp -> do pm <- use GetParsedModule nfp -- get the current extensions active and transform them into FormatTypes - let exts = getExtensions <$> pm + let exts = map GhcExtension . getExtensions <$> pm -- collect all the literals for a file lits = collectLiterals . pm_parsed_source <$> pm pure ([], CLR <$> lits <*> exts) - where - getExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary codeActionHandler :: PluginMethodHandler IdeState 'TextDocumentCodeAction codeActionHandler state pId (CodeActionParams _ _ docId currRange _) = pluginResponse $ do diff --git a/plugins/hls-brittany-plugin/src/Ide/Plugin/Brittany.hs b/plugins/hls-brittany-plugin/src/Ide/Plugin/Brittany.hs index 7a61bf9935..b0454e46fb 100644 --- a/plugins/hls-brittany-plugin/src/Ide/Plugin/Brittany.hs +++ b/plugins/hls-brittany-plugin/src/Ide/Plugin/Brittany.hs @@ -17,7 +17,8 @@ import Data.Semigroup import Data.Text (Text) import qualified Data.Text as T import Development.IDE hiding - (pluginHandlers) + (getExtensions, + pluginHandlers) import qualified Development.IDE.GHC.Compat as GHC hiding (Cpp) import qualified Development.IDE.GHC.Compat.Util as GHC diff --git a/plugins/hls-class-plugin/src/Ide/Plugin/Class/Utils.hs b/plugins/hls-class-plugin/src/Ide/Plugin/Class/Utils.hs index 920ed228da..1c5deb10e9 100644 --- a/plugins/hls-class-plugin/src/Ide/Plugin/Class/Utils.hs +++ b/plugins/hls-class-plugin/src/Ide/Plugin/Class/Utils.hs @@ -13,7 +13,6 @@ import Development.IDE.GHC.Compat import Development.IDE.GHC.Compat.Util import Development.IDE.Spans.Pragmas (getNextPragmaInfo, insertNewPragma) -import GHC.LanguageExtensions.Type (Extension) import Ide.PluginUtils import Language.LSP.Types @@ -64,6 +63,6 @@ insertPragmaIfNotPresent state nfp pragma = do $ liftIO $ runAction "classplugin.insertPragmaIfNotPresent.GetParsedModuleWithComments" state $ use GetParsedModuleWithComments nfp - let exts = (toList . extensionFlags . ms_hspp_opts . pm_mod_summary) pm + let exts = getExtensions pm info = getNextPragmaInfo sessionDynFlags fileContents pure [insertNewPragma info pragma | pragma `notElem` exts] diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 578879c5be..1a3c8ff6d7 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -40,20 +40,15 @@ import Development.IDE.GHC.Compat (HasSrcSpan (..), HsConDetails (RecCon), HsRecFields (..), LPat, Outputable, - SrcSpan, - pm_mod_summary, - unLoc) + SrcSpan, unLoc) import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), GhcPass (..), HsExpr (RecordCon, rcon_flds), - LHsExpr, - ModSummary (..), - Pass (..), Pat (..), - extensionFlags, - hfbPun, hs_valds, - mapLoc) -import Development.IDE.GHC.Compat.Util (toList) -import Development.IDE.GHC.Util (printOutputable) + LHsExpr, Pass (..), + Pat (..), hfbPun, + hs_valds, mapLoc) +import Development.IDE.GHC.Util (getExtensions, + printOutputable) import Development.IDE.Graph (RuleResult) import Development.IDE.Graph.Classes (Hashable, NFData (rnf)) @@ -156,9 +151,9 @@ collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \Collect let renderedRecs = traverse renderRecordInfo recs recMap = buildIntervalMap <$> renderedRecs pure ([], CRR <$> recMap <*> exts) - -getEnabledExtensions :: TcModuleResult -> [GhcExtension] -getEnabledExtensions = map GhcExtension . toList . extensionFlags . ms_hspp_opts . pm_mod_summary . tmrParsed + where + getEnabledExtensions :: TcModuleResult -> [GhcExtension] + getEnabledExtensions = map GhcExtension . getExtensions . tmrParsed getRecords :: TcModuleResult -> [RecordInfo] getRecords (tmrRenamed -> (hs_valds -> valBinds,_,_,_)) = diff --git a/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs b/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs index c7ba72272e..1e7fade456 100644 --- a/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs +++ b/plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs @@ -8,28 +8,26 @@ {-# LANGUAGE ViewPatterns #-} module Ide.Plugin.GADT (descriptor) where -import Control.Lens ((^.)) +import Control.Lens ((^.)) import Control.Monad.Except -import Data.Aeson (FromJSON, ToJSON, - Value (Null), toJSON) -import Data.Either.Extra (maybeToEither) -import qualified Data.HashMap.Lazy as HashMap -import qualified Data.Text as T +import Data.Aeson (FromJSON, ToJSON, Value (Null), + toJSON) +import Data.Either.Extra (maybeToEither) +import qualified Data.HashMap.Lazy as HashMap +import qualified Data.Text as T import Development.IDE import Development.IDE.GHC.Compat -import Control.Monad.Trans.Except (throwE) -import Data.Maybe (mapMaybe) -import Development.IDE.GHC.Compat.Util (toList) -import Development.IDE.Spans.Pragmas (getFirstPragma, - insertNewPragma) -import GHC.Generics (Generic) +import Control.Monad.Trans.Except (throwE) +import Data.Maybe (mapMaybe) +import Development.IDE.Spans.Pragmas (getFirstPragma, insertNewPragma) +import GHC.Generics (Generic) import Ide.Plugin.GHC import Ide.PluginUtils import Ide.Types -import Language.LSP.Server (sendRequest) +import Language.LSP.Server (sendRequest) import Language.LSP.Types -import qualified Language.LSP.Types.Lens as L +import qualified Language.LSP.Types.Lens as L descriptor :: PluginId -> PluginDescriptor IdeState descriptor plId = (defaultPluginDescriptor plId) @@ -116,5 +114,5 @@ getInRangeH98DeclsAndExts state range nfp = do decls = filter isH98DataDecl $ mapMaybe getDataDecl $ filter (inRange range) hsDecls - exts = (toList . extensionFlags . ms_hspp_opts . pm_mod_summary) pm + exts = getExtensions pm pure (decls, exts) diff --git a/plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs b/plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs index 9f75dff9f3..f9b5ab2d58 100644 --- a/plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs +++ b/plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs @@ -51,7 +51,8 @@ import qualified Data.Text as T import qualified Data.Text.Encoding as T import Data.Typeable import Development.IDE hiding - (Error) + (Error, + getExtensions) import Development.IDE.Core.Rules (defineNoFile, getParsedModuleWithComments, usePropertyAction) From 57646d35ad45bf7c0a6af129b276517e3e67ccb0 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Fri, 28 Oct 2022 15:18:25 +0200 Subject: [PATCH 19/29] Indicate that it doesn't work with GHC 9.4 https://github.com/haskell/haskell-language-server/pull/3304#discussion_r1008034647 --- docs/support/plugin-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/support/plugin-support.md b/docs/support/plugin-support.md index d1926a5c73..156f0c75e9 100644 --- a/docs/support/plugin-support.md +++ b/docs/support/plugin-support.md @@ -50,7 +50,7 @@ For example, a plugin to provide a formatter which has itself been abandoned has | `hls-change-type-signature-plugin` | 2 | | | `hls-eval-plugin` | 2 | 9.4 | | `hls-explicit-fixity-plugin` | 2 | | -| `hls-explicit-record-fields-plugin` | 2 | | +| `hls-explicit-record-fields-plugin` | 2 | 9.4 | | `hls-floskell-plugin` | 2 | 9.4 | | `hls-fourmolu-plugin` | 2 | 9.4 | | `hls-gadt-plugin` | 2 | 9.4 | From 7197db7570168b64853bdb716bff38b042eb7163 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 2 Nov 2022 10:38:02 +0100 Subject: [PATCH 20/29] Relax version bounds on base --- .../hls-explicit-record-fields-plugin.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal index 73e621548a..649ba7fbde 100644 --- a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -27,7 +27,7 @@ library -- other-modules: -- other-extensions: build-depends: - , base ^>=4.15.1.0 + , base >=4.12 && <5 , ghcide ^>=1.7 || ^>=1.8 , hls-plugin-api ^>=1.4 || ^>=1.5 , lsp @@ -51,7 +51,7 @@ test-suite hls-explicit-record-fields-plugin-test hs-source-dirs: test main-is: Main.hs build-depends: - , base ^>=4.15.1.0 + , base , filepath , text , hls-explicit-record-fields-plugin From 9ffd11df7383a4ab4a80518fd74813bb3a398b12 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 2 Nov 2022 10:52:30 +0100 Subject: [PATCH 21/29] Add plugin to stack packages --- stack-lts19.yaml | 1 + stack.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/stack-lts19.yaml b/stack-lts19.yaml index af599c2112..88b3024df0 100644 --- a/stack-lts19.yaml +++ b/stack-lts19.yaml @@ -34,6 +34,7 @@ packages: - ./plugins/hls-gadt-plugin - ./plugins/hls-explicit-fixity-plugin - ./plugins/hls-refactor-plugin + - ./plugins/hls-explicit-record-fields-plugin ghc-options: "$everything": -haddock diff --git a/stack.yaml b/stack.yaml index 914b0a980b..86b0e67584 100644 --- a/stack.yaml +++ b/stack.yaml @@ -34,6 +34,7 @@ packages: - ./plugins/hls-gadt-plugin - ./plugins/hls-explicit-fixity-plugin - ./plugins/hls-refactor-plugin +- ./plugins/hls-explicit-record-fields-plugin extra-deps: - floskell-0.10.6@sha256:e77d194189e8540abe2ace2c7cb8efafc747ca35881a2fefcbd2d40a1292e036,3819 From 87b9acf855dcc01d4597ab4baff8ae4313e8b43e Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 2 Nov 2022 15:49:26 +0100 Subject: [PATCH 22/29] Add GHC 8.10 support --- ghcide/src/Development/IDE/GHC/Compat/Core.hs | 8 ++++++++ .../src/Ide/Plugin/ExplicitFields.hs | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ghcide/src/Development/IDE/GHC/Compat/Core.hs b/ghcide/src/Development/IDE/GHC/Compat/Core.hs index fa560de64d..98c564477d 100644 --- a/ghcide/src/Development/IDE/GHC/Compat/Core.hs +++ b/ghcide/src/Development/IDE/GHC/Compat/Core.hs @@ -130,6 +130,7 @@ module Development.IDE.GHC.Compat.Core ( ), pattern FunTy, pattern ConPatIn, + conPatDetails, #if !MIN_VERSION_ghc(9,2,0) Development.IDE.GHC.Compat.Core.splitForAllTyCoVars, #endif @@ -954,6 +955,13 @@ pattern ConPatIn con args = ConPat NoExtField con args #endif #endif +conPatDetails :: Pat p -> HsConPatDetails p +#if MIN_VERSION_ghc(9,0,0) +conPatDetails (ConPat _ _ args) = args +#else +conPatDetails (ConPatIn _ args) = args +#endif + initDynLinker, initObjLinker :: HscEnv -> IO () initDynLinker = #if !MIN_VERSION_ghc(9,0,0) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 1a3c8ff6d7..b172fdbf74 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -36,17 +36,19 @@ import Development.IDE.Core.RuleTypes (TcModuleResult (..), TypeCheck (..)) import Development.IDE.Core.Shake (define, use) import qualified Development.IDE.Core.Shake as Shake -import Development.IDE.GHC.Compat (HasSrcSpan (..), - HsConDetails (RecCon), +import Development.IDE.GHC.Compat (HsConDetails (RecCon), HsRecFields (..), LPat, Outputable, - SrcSpan, unLoc) + SrcSpan, getLoc, + unLoc) import Development.IDE.GHC.Compat.Core (Extension (NamedFieldPuns), - GhcPass (..), + GhcPass, HsExpr (RecordCon, rcon_flds), LHsExpr, Pass (..), - Pat (..), hfbPun, - hs_valds, mapLoc) + Pat (..), + conPatDetails, + hfbPun, hs_valds, + mapLoc) import Development.IDE.GHC.Util (getExtensions, printOutputable) import Development.IDE.Graph (RuleResult) @@ -231,7 +233,7 @@ preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } rec_flds' = no_puns <> puns' showRecordPat :: Outputable (Pat (GhcPass c)) => Pat (GhcPass c) -> Maybe Text -showRecordPat pat@(ConPat _ _ (RecCon flds)) = +showRecordPat pat@(conPatDetails -> RecCon flds) = Just $ printOutputable $ pat { pat_args = RecCon (preprocessRecord flds) } showRecordPat _ = Nothing @@ -254,7 +256,7 @@ getRecCons e@(unLoc -> RecordCon _ _ flds) getRecCons _ = Nothing getRecPatterns :: LPat (GhcPass 'Renamed) -> Maybe RecordInfo -getRecPatterns conPat@(unLoc -> ConPat _ _ (RecCon flds)) +getRecPatterns conPat@(conPatDetails . unLoc -> RecCon flds) | isJust (rec_dotdot flds) = Just $ mkRecInfo conPat where mkRecInfo :: LPat (GhcPass 'Renamed) -> RecordInfo From 357f81c02e8e0787d340b0d587a49704b2d407f9 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 2 Nov 2022 16:35:43 +0100 Subject: [PATCH 23/29] Fix GHC 9.4 build failure --- cabal.project | 2 ++ ghcide/src/Development/IDE/Spans/Pragmas.hs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cabal.project b/cabal.project index 451c36d209..6220f564a8 100644 --- a/cabal.project +++ b/cabal.project @@ -56,6 +56,8 @@ constraints: entropy >= 0.4.1.10, -- For GHC 9.4 basement >= 0.0.15, + -- For GHC 9.4 + hw-prim >= 0.6.3.2, hyphenation +embed, -- remove this when hlint sets ghc-lib to true by default -- https://github.com/ndmitchell/hlint/issues/1376 diff --git a/ghcide/src/Development/IDE/Spans/Pragmas.hs b/ghcide/src/Development/IDE/Spans/Pragmas.hs index 10a972ae5b..6e00769922 100644 --- a/ghcide/src/Development/IDE/Spans/Pragmas.hs +++ b/ghcide/src/Development/IDE/Spans/Pragmas.hs @@ -41,7 +41,7 @@ getNextPragmaInfo dynFlags sourceText = -- GHC as well, hence the replacement. -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6156 showExtension :: Extension -> Text -showExtension RecordPuns = "NamedFieldPuns" +showExtension NamedFieldPuns = "NamedFieldPuns" showExtension ext = pack (show ext) insertNewPragma :: NextPragmaInfo -> Extension -> LSP.TextEdit From 1acc61cefd7de1b9de2f1fd47210979d2a71b79d Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 2 Nov 2022 17:57:23 +0100 Subject: [PATCH 24/29] Make `conPatDetails` total --- ghcide/src/Development/IDE/GHC/Compat/Core.hs | 8 +++++--- .../src/Ide/Plugin/ExplicitFields.hs | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ghcide/src/Development/IDE/GHC/Compat/Core.hs b/ghcide/src/Development/IDE/GHC/Compat/Core.hs index 98c564477d..cff79b11ab 100644 --- a/ghcide/src/Development/IDE/GHC/Compat/Core.hs +++ b/ghcide/src/Development/IDE/GHC/Compat/Core.hs @@ -955,11 +955,13 @@ pattern ConPatIn con args = ConPat NoExtField con args #endif #endif -conPatDetails :: Pat p -> HsConPatDetails p +conPatDetails :: Pat p -> Maybe (HsConPatDetails p) #if MIN_VERSION_ghc(9,0,0) -conPatDetails (ConPat _ _ args) = args +conPatDetails (ConPat _ _ args) = Just args +conPatDetails _ = Nothing #else -conPatDetails (ConPatIn _ args) = args +conPatDetails (ConPatIn _ args) = Just args +conPatDetails _ = Nothing #endif initDynLinker, initObjLinker :: HscEnv -> IO () diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index b172fdbf74..73bc441b5c 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -233,7 +233,7 @@ preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } rec_flds' = no_puns <> puns' showRecordPat :: Outputable (Pat (GhcPass c)) => Pat (GhcPass c) -> Maybe Text -showRecordPat pat@(conPatDetails -> RecCon flds) = +showRecordPat pat@(conPatDetails -> Just (RecCon flds)) = Just $ printOutputable $ pat { pat_args = RecCon (preprocessRecord flds) } showRecordPat _ = Nothing @@ -256,7 +256,7 @@ getRecCons e@(unLoc -> RecordCon _ _ flds) getRecCons _ = Nothing getRecPatterns :: LPat (GhcPass 'Renamed) -> Maybe RecordInfo -getRecPatterns conPat@(conPatDetails . unLoc -> RecCon flds) +getRecPatterns conPat@(conPatDetails . unLoc -> Just (RecCon flds)) | isJust (rec_dotdot flds) = Just $ mkRecInfo conPat where mkRecInfo :: LPat (GhcPass 'Renamed) -> RecordInfo From 86a59dfdb212adf2934956d4e8eda6727647a1fa Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Thu, 3 Nov 2022 09:44:02 +0100 Subject: [PATCH 25/29] Revert "Indicate that it doesn't work with GHC 9.4" This reverts commit 57646d35ad45bf7c0a6af129b276517e3e67ccb0. --- docs/support/plugin-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/support/plugin-support.md b/docs/support/plugin-support.md index 156f0c75e9..d1926a5c73 100644 --- a/docs/support/plugin-support.md +++ b/docs/support/plugin-support.md @@ -50,7 +50,7 @@ For example, a plugin to provide a formatter which has itself been abandoned has | `hls-change-type-signature-plugin` | 2 | | | `hls-eval-plugin` | 2 | 9.4 | | `hls-explicit-fixity-plugin` | 2 | | -| `hls-explicit-record-fields-plugin` | 2 | 9.4 | +| `hls-explicit-record-fields-plugin` | 2 | | | `hls-floskell-plugin` | 2 | 9.4 | | `hls-fourmolu-plugin` | 2 | 9.4 | | `hls-gadt-plugin` | 2 | 9.4 | From bb7afdde774c3632b38e0362e296a09140fcaa05 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Thu, 3 Nov 2022 10:29:13 +0100 Subject: [PATCH 26/29] Fix unused import caused by new compat exports --- .../src/Wingman/LanguageServer/TacticProviders.hs | 1 - plugins/hls-tactics-plugin/src/Wingman/StaticPlugin.hs | 1 - 2 files changed, 2 deletions(-) diff --git a/plugins/hls-tactics-plugin/src/Wingman/LanguageServer/TacticProviders.hs b/plugins/hls-tactics-plugin/src/Wingman/LanguageServer/TacticProviders.hs index 40d6362d94..b5a6521b7e 100644 --- a/plugins/hls-tactics-plugin/src/Wingman/LanguageServer/TacticProviders.hs +++ b/plugins/hls-tactics-plugin/src/Wingman/LanguageServer/TacticProviders.hs @@ -16,7 +16,6 @@ import Data.Monoid import qualified Data.Set as S import qualified Data.Text as T import Development.IDE.GHC.Compat -import GHC.LanguageExtensions.Type (Extension (LambdaCase)) import Ide.Types import Language.LSP.Types hiding (SemanticTokenAbsolute (..), SemanticTokenRelative (..)) import Prelude hiding (span) diff --git a/plugins/hls-tactics-plugin/src/Wingman/StaticPlugin.hs b/plugins/hls-tactics-plugin/src/Wingman/StaticPlugin.hs index a1caeef12d..42065aa289 100644 --- a/plugins/hls-tactics-plugin/src/Wingman/StaticPlugin.hs +++ b/plugins/hls-tactics-plugin/src/Wingman/StaticPlugin.hs @@ -10,7 +10,6 @@ module Wingman.StaticPlugin import Development.IDE.GHC.Compat import Development.IDE.GHC.Compat.Util -import GHC.LanguageExtensions.Type (Extension(EmptyCase, QuasiQuotes)) import Ide.Types From 987d9503178ef29ec1962036618ef2cfa9be8414 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Mon, 7 Nov 2022 16:08:57 +0100 Subject: [PATCH 27/29] Fix ConPat construction in GHC 8.10 --- ghcide/src/Development/IDE/GHC/Compat/Core.hs | 11 +++++++++++ .../src/Ide/Plugin/ExplicitFields.hs | 11 +++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ghcide/src/Development/IDE/GHC/Compat/Core.hs b/ghcide/src/Development/IDE/GHC/Compat/Core.hs index cff79b11ab..56579f6130 100644 --- a/ghcide/src/Development/IDE/GHC/Compat/Core.hs +++ b/ghcide/src/Development/IDE/GHC/Compat/Core.hs @@ -131,6 +131,7 @@ module Development.IDE.GHC.Compat.Core ( pattern FunTy, pattern ConPatIn, conPatDetails, + mapConPatDetail, #if !MIN_VERSION_ghc(9,2,0) Development.IDE.GHC.Compat.Core.splitForAllTyCoVars, #endif @@ -964,6 +965,16 @@ conPatDetails (ConPatIn _ args) = Just args conPatDetails _ = Nothing #endif +mapConPatDetail :: (HsConPatDetails p -> Maybe (HsConPatDetails p)) -> Pat p -> Maybe (Pat p) +#if MIN_VERSION_ghc(9,0,0) +mapConPatDetail f pat@(ConPat _ _ args) = (\args' -> pat { pat_args = args'}) <$> f args +mapConPatDetail _ _ = Nothing +#else +mapConPatDetail f (ConPatIn ss args) = ConPatIn ss <$> f args +mapConPatDetail _ _ = Nothing +#endif + + initDynLinker, initObjLinker :: HscEnv -> IO () initDynLinker = #if !MIN_VERSION_ghc(9,0,0) diff --git a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs index 73bc441b5c..1a32ae70bb 100644 --- a/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs +++ b/plugins/hls-explicit-record-fields-plugin/src/Ide/Plugin/ExplicitFields.hs @@ -48,6 +48,7 @@ import Development.IDE.GHC.Compat.Core (Extension (NamedField Pat (..), conPatDetails, hfbPun, hs_valds, + mapConPatDetail, mapLoc) import Development.IDE.GHC.Util (getExtensions, printOutputable) @@ -88,11 +89,13 @@ import qualified Language.LSP.Types.Lens as L data Log = LogShake Shake.Log | LogCollectedRecords [RecordInfo] + | LogRenderedRecords [RenderedRecordInfo] instance Pretty Log where pretty = \case LogShake shakeLog -> pretty shakeLog LogCollectedRecords recs -> "Collected records with wildcards:" <+> pretty recs + LogRenderedRecords recs -> "Rendered records:" <+> pretty recs descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState descriptor recorder plId = (defaultPluginDescriptor plId) @@ -152,6 +155,7 @@ collectRecordsRule recorder = define (cmapWithPrio LogShake recorder) $ \Collect logWith recorder Debug (LogCollectedRecords recs) let renderedRecs = traverse renderRecordInfo recs recMap = buildIntervalMap <$> renderedRecs + logWith recorder Debug (LogRenderedRecords (concat renderedRecs)) pure ([], CRR <$> recMap <*> exts) where getEnabledExtensions :: TcModuleResult -> [GhcExtension] @@ -233,10 +237,9 @@ preprocessRecord flds = flds { rec_dotdot = Nothing , rec_flds = rec_flds' } rec_flds' = no_puns <> puns' showRecordPat :: Outputable (Pat (GhcPass c)) => Pat (GhcPass c) -> Maybe Text -showRecordPat pat@(conPatDetails -> Just (RecCon flds)) = - Just $ printOutputable $ - pat { pat_args = RecCon (preprocessRecord flds) } -showRecordPat _ = Nothing +showRecordPat = fmap printOutputable . mapConPatDetail (\case + RecCon flds -> Just $ RecCon (preprocessRecord flds) + _ -> Nothing) showRecordCon :: Outputable (HsExpr (GhcPass c)) => HsExpr (GhcPass c) -> Maybe Text showRecordCon expr@(RecordCon _ _ flds) = From 32265775099863125b9a7377faeae6860a52e556 Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 9 Nov 2022 15:53:59 +0100 Subject: [PATCH 28/29] Rename test-suite to make it shorter --- .../hls-explicit-record-fields-plugin.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal index 649ba7fbde..2af84b89fb 100644 --- a/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal +++ b/plugins/hls-explicit-record-fields-plugin/hls-explicit-record-fields-plugin.cabal @@ -42,7 +42,7 @@ library hs-source-dirs: src default-language: Haskell2010 -test-suite hls-explicit-record-fields-plugin-test +test-suite tests import: warnings default-language: Haskell2010 -- other-modules: From 50ba2ef1dea9f877d31b3df1cb774cb8ec529f7e Mon Sep 17 00:00:00 2001 From: Berk Ozkutuk Date: Wed, 9 Nov 2022 17:29:58 +0100 Subject: [PATCH 29/29] Fix nix build by collecting latest hw-prim from Hackage --- flake.lock | 13 +++++++++++++ flake.nix | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/flake.lock b/flake.lock index ec20499ad0..0f74f76d26 100644 --- a/flake.lock +++ b/flake.lock @@ -232,6 +232,18 @@ "url": "https://hackage.haskell.org/package/hlint-3.4/hlint-3.4.tar.gz" } }, + "hw-prim": { + "flake": false, + "locked": { + "narHash": "sha256-++rg/bx4TjWUDyHSWKm/8ITwQLonPRLXHPLlnhJy8ik=", + "type": "tarball", + "url": "https://hackage.haskell.org/package/hw-prim-0.6.3.2/hw-prim-0.6.3.2.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://hackage.haskell.org/package/hw-prim-0.6.3.2/hw-prim-0.6.3.2.tar.gz" + } + }, "implicit-hie-cradle": { "flake": false, "locked": { @@ -340,6 +352,7 @@ "hiedb": "hiedb", "hlint": "hlint", "hlint-34": "hlint-34", + "hw-prim": "hw-prim", "implicit-hie-cradle": "implicit-hie-cradle", "lsp": "lsp", "lsp-test": "lsp-test", diff --git a/flake.nix b/flake.nix index c4873ed9d7..b7f1cb6b06 100644 --- a/flake.nix +++ b/flake.nix @@ -111,6 +111,10 @@ url = "https://hackage.haskell.org/package/hiedb-0.4.2.0/hiedb-0.4.2.0.tar.gz"; flake = false; }; + hw-prim = { + url = "https://hackage.haskell.org/package/hw-prim-0.6.3.2/hw-prim-0.6.3.2.tar.gz"; + flake = false; + }; }; outputs = inputs@{ self, nixpkgs, flake-compat, flake-utils, gitignore, all-cabal-hashes-unpacked, ... }: @@ -182,6 +186,7 @@ entropy = hsuper.callCabal2nix "entropy" inputs.entropy {}; hiedb = hsuper.callCabal2nix "hiedb" inputs.hiedb {}; + hw-prim = hsuper.callCabal2nix "hw-prim" inputs.hw-prim {}; implicit-hie-cradle = hself.callCabal2nix "implicit-hie-cradle" inputs.implicit-hie-cradle {}; ghc-check = hself.callCabal2nix "ghc-check" inputs.ghc-check {};