packages feed

hls-qualify-imported-names-plugin 1.0.1.0 → 1.0.2.0

raw patch · 3 files changed

+19/−15 lines, 3 filesdep ~ghcidedep ~hls-plugin-apidep ~hls-test-utilsnew-uploaderPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ghcide, hls-plugin-api, hls-test-utils

API changes (from Hackage documentation)

Files

hls-qualify-imported-names-plugin.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.2 name:               hls-qualify-imported-names-plugin-version:            1.0.1.0+version:            1.0.2.0 synopsis:           A Haskell Language Server plugin that qualifies imported names description:   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>@@ -17,6 +17,10 @@   test/data/*.hs   test/data/*.yaml +source-repository head+    type:     git+    location: https://github.com/haskell/haskell-language-server.git+ library   exposed-modules:    Ide.Plugin.QualifyImportedNames   hs-source-dirs:     src@@ -26,9 +30,9 @@     , containers     , deepseq     , ghc-    , ghcide                ^>=1.6+    , ghcide                ^>=1.6 || ^>=1.7 || ^>= 1.8 || ^>= 1.9     , hls-graph-    , hls-plugin-api        ^>=1.3+    , hls-plugin-api        ^>=1.3 || ^>=1.4 || ^>= 1.5 || ^>= 1.6     , lsp     , text     , unordered-containers@@ -51,4 +55,4 @@     , text     , filepath     , hls-qualify-imported-names-plugin-    , hls-test-utils             ^>=1.2+    , hls-test-utils             ^>= 1.5
src/Ide/Plugin/QualifyImportedNames.hs view
@@ -18,9 +18,10 @@ import           Data.List                         (sortOn) import qualified Data.List                         as List import qualified Data.Map.Strict                   as Map-import           Data.Maybe                        (mapMaybe)+import           Data.Maybe                        (fromMaybe, mapMaybe) import           Data.Text                         (Text) import qualified Data.Text                         as Text+import           Development.IDE                   (spanContainsRange) import           Development.IDE.Core.RuleTypes    (GetFileContents (GetFileContents),                                                     GetHieAst (GetHieAst),                                                     HieAstResult (HAR, refMap),@@ -87,16 +88,12 @@     ] } -isRangeWithinSrcSpan :: Range -> SrcSpan -> Bool-isRangeWithinSrcSpan (Range start end) srcSpan =-  isInsideSrcSpan start srcSpan && isInsideSrcSpan end srcSpan- findLImportDeclAt :: Range -> ParsedModule -> Maybe (LImportDecl GhcPs) findLImportDeclAt range parsedModule   | ParsedModule {..} <- parsedModule   , L _ hsModule <- pm_parsed_source   , locatedImportDecls <- hsmodImports hsModule =-      find (\ (L (locA -> srcSpan) _) -> isRangeWithinSrcSpan range srcSpan) locatedImportDecls+      find (\ (L (locA -> srcSpan) _) -> fromMaybe False $ srcSpan `spanContainsRange` range) locatedImportDecls  makeCodeActions :: Uri -> [TextEdit] -> [a |? CodeAction] makeCodeActions uri textEdits = [InR CodeAction {..} | not (null textEdits)]@@ -132,7 +129,7 @@ }  isRangeWithinImportedBy :: Range -> ImportedBy -> Bool-isRangeWithinImportedBy range (ImportedBy _ srcSpan) = isRangeWithinSrcSpan range srcSpan+isRangeWithinImportedBy range (ImportedBy _ srcSpan) = fromMaybe False $ spanContainsRange srcSpan range  globalRdrEnvToNameToImportedByMap :: GlobalRdrEnv -> NameEnv [ImportedBy] globalRdrEnvToNameToImportedByMap =
test/Main.hs view
@@ -15,6 +15,7 @@                                                   Command (Command), IdeState,                                                   MonadIO (liftIO),                                                   PluginDescriptor,+                                                  PluginTestDescriptor,                                                   Position (Position),                                                   Range (Range), Session,                                                   TestName, TestTree,@@ -23,8 +24,10 @@                                                   defaultTestRunner,                                                   executeCodeAction,                                                   getCodeActions,-                                                  goldenWithHaskellDoc, openDoc,-                                                  rename, runSessionWithServer,+                                                  goldenWithHaskellDoc,+                                                  mkPluginTestDescriptor',+                                                  openDoc, rename,+                                                  runSessionWithServer,                                                   testCase, testGroup,                                                   type (|?) (InR), (@?=)) @@ -126,8 +129,8 @@ testDataDir :: String testDataDir = "test" </> "data" -pluginDescriptor :: PluginDescriptor IdeState-pluginDescriptor = QualifyImportedNames.descriptor "qualifyImportedNames"+pluginDescriptor :: PluginTestDescriptor ()+pluginDescriptor = mkPluginTestDescriptor' QualifyImportedNames.descriptor "qualifyImportedNames"  getCodeActionTitle :: (Command |? CodeAction) -> Maybe Text getCodeActionTitle commandOrCodeAction