1+ {-# LANGUAGE CPP #-}
12{-# LANGUAGE DuplicateRecordFields #-}
23{-# LANGUAGE OverloadedStrings #-}
34
@@ -12,11 +13,12 @@ import qualified Data.Maybe as Maybe
1213import qualified Data.Text as T
1314import qualified Data.Text.Encoding as Encoding
1415import Data.Version (Version (.. ))
15- import Development.IDE.GHC.Compat (HscEnv , filterUniqMap ,
16- getUnitInfoMap ,
17- nonDetEltsUniqMap ,
16+ import Development.IDE.GHC.Compat (HscEnv , getUnitInfoMap ,
1817 unitPackageNameString ,
1918 unitPackageVersion )
19+ #if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0)
20+ import Development.IDE.GHC.Compat (nonDetEltsUniqMap )
21+ #endif
2022import Development.IDE.LSP.HoverDefinition (foundHover )
2123import qualified Distribution.Fields as Syntax
2224import qualified Distribution.Parsec.Position as Syntax
@@ -84,7 +86,12 @@ dependencyHover cabalFields hsc cursorPosition =
8486collectPackageDependencyVersions :: [Syntax. Field Syntax. Position ] -> HscEnv -> [DependencyInfo ]
8587collectPackageDependencyVersions cabalFields hscEnv = cabalFields >>= collectPackageVersions
8688 where
87- lookupPackageVersion pkgName = Maybe. listToMaybe $ nonDetEltsUniqMap $ fmap unitPackageVersion $ filterUniqMap ((==) (T. unpack pkgName) . unitPackageNameString) $ getUnitInfoMap hscEnv
89+ #if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0)
90+ unitInfoList = nonDetEltsUniqMap $ getUnitInfoMap hscEnv
91+ #else
92+ unitInfoList = getUnitInfoMap hscEnv
93+ #endif
94+ lookupPackageVersion pkgName = fmap unitPackageVersion $ find ((==) (T. unpack pkgName) . unitPackageNameString) unitInfoList
8895
8996 collectPackageVersions :: Syntax. Field Syntax. Position -> [DependencyInfo ]
9097 collectPackageVersions (Syntax. Field (Syntax. Name _ " build-depends" ) pos) = concatMap fieldLinePackageVersions pos
0 commit comments