|
1 |
| -{-# LANGUAGE ViewPatterns #-} |
| 1 | +{-# LANGUAGE CPP #-} |
2 | 2 | {-# LANGUAGE DeriveAnyClass #-}
|
3 | 3 | {-# LANGUAGE DeriveGeneric #-}
|
4 | 4 | {-# LANGUAGE DerivingStrategies #-}
|
|
8 | 8 | {-# LANGUAGE OverloadedStrings #-}
|
9 | 9 | {-# LANGUAGE RecordWildCards #-}
|
10 | 10 | {-# LANGUAGE ScopedTypeVariables #-}
|
| 11 | +{-# LANGUAGE ViewPatterns #-} |
| 12 | + |
| 13 | +#include "ghc-api-version.h" |
| 14 | + |
11 | 15 | module Ide.Plugin.ImportLens (descriptor) where
|
12 | 16 | import Control.Monad (forM)
|
13 | 17 | import Data.Aeson (ToJSON)
|
@@ -140,7 +144,7 @@ generateLens pId uri minImports (L src imp)
|
140 | 144 | | ImportDecl{ideclHiding = Just (False,_)} <- imp
|
141 | 145 | = return Nothing
|
142 | 146 | -- Qualified case
|
143 |
| - | ImportDecl{ideclQualified = True} <- imp |
| 147 | + | isQualifiedImport imp |
144 | 148 | = return Nothing
|
145 | 149 | -- No explicit import list
|
146 | 150 | | RealSrcSpan l <- src
|
@@ -171,3 +175,12 @@ generateLens pId uri minImports (L src imp)
|
171 | 175 | -- | A helper to run ide actions
|
172 | 176 | runIde :: IdeState -> Action a -> IO a
|
173 | 177 | runIde state = runAction "importLens" state
|
| 178 | + |
| 179 | +isQualifiedImport :: ImportDecl a -> Bool |
| 180 | +#if MIN_GHC_API_VERSION(8,10,0) |
| 181 | +isQualifiedImport ImportDecl{ideclQualified = GHC.NotQualified} = False |
| 182 | +isQualifiedImport ImportDecl{ideclQualified = GHC.NotQualified} = True |
| 183 | +#else |
| 184 | +isQualifiedImport ImportDecl{ideclQualified} = ideclQualified |
| 185 | +#endif |
| 186 | +isQualifiedImport _ = False |
0 commit comments