hls-class-plugin 1.0.1.2 → 1.0.2.0
raw patch · 2 files changed
+14/−7 lines, 2 filesdep ~ghc-exactprintdep ~ghcidedep ~hls-plugin-apiPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ghc-exactprint, ghcide, hls-plugin-api, hls-test-utils
API changes (from Hackage documentation)
Files
- hls-class-plugin.cabal +4/−4
- src/Ide/Plugin/Class.hs +10/−3
hls-class-plugin.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-class-plugin-version: 1.0.1.2+version: 1.0.2.0 synopsis: Class/instance management plugin for Haskell Language Server @@ -29,8 +29,8 @@ , containers , ghc , ghc-exactprint- , ghcide ^>=1.5.0- , hls-plugin-api >=1.1 && <1.3+ , ghcide ^>=1.6+ , hls-plugin-api ^>=1.3 , lens , lsp , text@@ -53,6 +53,6 @@ , base , filepath , hls-class-plugin- , hls-test-utils >=1.0 && <1.2+ , hls-test-utils ^>=1.2 , lens , lsp-types
src/Ide/Plugin/Class.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-}@@ -32,6 +33,7 @@ import Language.Haskell.GHC.ExactPrint import Language.Haskell.GHC.ExactPrint.Parsers (parseDecl) import Language.Haskell.GHC.ExactPrint.Types hiding (GhcPs, Parens)+import Language.Haskell.GHC.ExactPrint.Utils (rs) import Language.LSP.Server import Language.LSP.Types import qualified Language.LSP.Types.Lens as J@@ -85,20 +87,19 @@ Right (ann, d) -> Just (setPrecedingLines d 1 indent ann, d) Left _ -> Nothing - addMethodDecls :: ParsedSource -> [LHsDecl GhcPs] -> Transform (Located (HsModule GhcPs)) addMethodDecls ps mDecls = do d <- findInstDecl ps newSpan <- uniqueSrcSpanT let annKey = mkAnnKey d- newAnnKey = AnnKey newSpan (CN "HsValBinds")+ newAnnKey = AnnKey (rs newSpan) (CN "HsValBinds") addWhere mkds@(Map.lookup annKey -> Just ann) = Map.insert newAnnKey ann2 mkds2 where ann1 = ann { annsDP = annsDP ann ++ [(G AnnWhere, DP (0, 1))] , annCapturedSpan = Just newAnnKey- , annSortKey = Just (fmap getLoc mDecls)+ , annSortKey = Just (fmap (rs . getLoc) mDecls) } mkds2 = Map.insert annKey ann1 mkds ann2 = annNone@@ -168,9 +169,15 @@ pure $ head . head $ pointCommand hf (fromJust (fromCurrentRange pmap range) ^. J.start & J.character -~ 1)+#if !MIN_VERSION_ghc(9,0,0) ( (Map.keys . Map.filter isClassNodeIdentifier . nodeIdentifiers . nodeInfo) <=< nodeChildren )+#else+ ( (Map.keys . Map.filter isClassNodeIdentifier . sourcedNodeIdents . sourcedNodeInfo)+ <=< nodeChildren+ )+#endif findClassFromIdentifier docPath (Right name) = do (hscEnv -> hscenv, _) <- MaybeT . runAction "classplugin" state $ useWithStale GhcSessionDeps docPath