diff --git a/hls-qualify-imported-names-plugin.cabal b/hls-qualify-imported-names-plugin.cabal
--- a/hls-qualify-imported-names-plugin.cabal
+++ b/hls-qualify-imported-names-plugin.cabal
@@ -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
diff --git a/src/Ide/Plugin/QualifyImportedNames.hs b/src/Ide/Plugin/QualifyImportedNames.hs
--- a/src/Ide/Plugin/QualifyImportedNames.hs
+++ b/src/Ide/Plugin/QualifyImportedNames.hs
@@ -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 =
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -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
