Skip to content

Commit a7fdeee

Browse files
committed
Fix ImportLens plugin to work with GHC 8.10
1 parent 4990117 commit a7fdeee

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/Ide/Plugin/ImportLens.hs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{-# LANGUAGE ViewPatterns #-}
1+
{-# LANGUAGE CPP #-}
22
{-# LANGUAGE DeriveAnyClass #-}
33
{-# LANGUAGE DeriveGeneric #-}
44
{-# LANGUAGE DerivingStrategies #-}
@@ -8,6 +8,10 @@
88
{-# LANGUAGE OverloadedStrings #-}
99
{-# LANGUAGE RecordWildCards #-}
1010
{-# LANGUAGE ScopedTypeVariables #-}
11+
{-# LANGUAGE ViewPatterns #-}
12+
13+
#include "ghc-api-version.h"
14+
1115
module Ide.Plugin.ImportLens (descriptor) where
1216
import Control.Monad (forM)
1317
import Data.Aeson (ToJSON)
@@ -140,7 +144,7 @@ generateLens pId uri minImports (L src imp)
140144
| ImportDecl{ideclHiding = Just (False,_)} <- imp
141145
= return Nothing
142146
-- Qualified case
143-
| ImportDecl{ideclQualified = True} <- imp
147+
| isQualifiedImport imp
144148
= return Nothing
145149
-- No explicit import list
146150
| RealSrcSpan l <- src
@@ -171,3 +175,12 @@ generateLens pId uri minImports (L src imp)
171175
-- | A helper to run ide actions
172176
runIde :: IdeState -> Action a -> IO a
173177
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

Comments
 (0)