Skip to content

Commit 3fec58d

Browse files
committed
Progress on ghc-exactprint stuff
The Exactprint module compiles, but code actions are the next focus.
1 parent 6b9b288 commit 3fec58d

File tree

2 files changed

+163
-40
lines changed

2 files changed

+163
-40
lines changed

ghcide/src/Development/IDE/GHC/Compat/Core.hs

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,11 @@ module Development.IDE.GHC.Compat.Core (
186186
SrcLoc.Located,
187187
SrcLoc.unLoc,
188188
getLoc,
189+
getLocA,
190+
locA,
191+
LocatedAn,
192+
AnnListItem,
193+
NameAnn,
189194
SrcLoc.RealLocated,
190195
SrcLoc.GenLocated(..),
191196
SrcLoc.SrcSpan(SrcLoc.UnhelpfulSpan),
@@ -197,6 +202,7 @@ module Development.IDE.GHC.Compat.Core (
197202
BufSpan,
198203
#if MIN_VERSION_ghc(9,2,0)
199204
SrcSpanAnn',
205+
GHC.SrcAnn,
200206
#endif
201207
SrcLoc.leftmost_smallest,
202208
SrcLoc.containsSpan,
@@ -207,6 +213,7 @@ module Development.IDE.GHC.Compat.Core (
207213
SrcLoc.realSrcLocSpan,
208214
SrcLoc.realSrcSpanStart,
209215
SrcLoc.realSrcSpanEnd,
216+
isSubspanOfA,
210217
SrcLoc.isSubspanOf,
211218
SrcLoc.wiredInSrcSpan,
212219
SrcLoc.mkSrcSpan,
@@ -316,14 +323,14 @@ module Development.IDE.GHC.Compat.Core (
316323

317324
#if MIN_VERSION_ghc(9,2,0)
318325
module GHC.Hs.Decls,
326+
module GHC.Hs.Expr,
319327
module GHC.Hs.Doc,
320328
module GHC.Hs.Extension,
321329
module GHC.Hs.ImpExp,
322330
module GHC.Hs.Pat,
323331
module GHC.Hs.Type,
324332
module GHC.Hs.Utils,
325-
module Language.Haskell.Syntax.Binds,
326-
module Language.Haskell.Syntax.Expr,
333+
module Language.Haskell.Syntax,
327334
#endif
328335

329336
module GHC.Rename.Names,
@@ -482,6 +489,7 @@ import qualified GHC.Driver.Session as DynFlags
482489
import GHC.Hs (HsModule (..), SrcSpanAnn')
483490
import GHC.Hs.Decls hiding (FunDep)
484491
import GHC.Hs.Doc
492+
import GHC.Hs.Expr
485493
import GHC.Hs.Extension
486494
import GHC.Hs.ImpExp
487495
import GHC.Hs.Pat
@@ -700,8 +708,7 @@ import System.FilePath
700708

701709

702710
#if MIN_VERSION_ghc(9,2,0)
703-
import Language.Haskell.Syntax.Binds
704-
import Language.Haskell.Syntax.Expr
711+
import Language.Haskell.Syntax hiding (FunDep)
705712
#endif
706713

707714
#if !MIN_VERSION_ghc(9,0,0)
@@ -950,3 +957,41 @@ setOutputFile f d = d {
950957
outputFile = Just f
951958
#endif
952959
}
960+
961+
#if MIN_VERSION_ghc(9,2,0)
962+
isSubspanOfA :: GHC.LocatedAn la a -> GHC.LocatedAn lb b -> Bool
963+
isSubspanOfA a b = SrcLoc.isSubspanOf (GHC.getLocA a) (GHC.getLocA b)
964+
#else
965+
isSubspanOfA :: Located a -> Located b -> Bool
966+
isSubspanOfA = isSubspanOf
967+
#endif
968+
969+
#if MIN_VERSION_ghc(9,2,0)
970+
type LocatedAn a = GHC.LocatedAn a
971+
#else
972+
type LocatedAn a = Located
973+
#endif
974+
975+
#if MIN_VERSION_ghc(9,2,0)
976+
locA = GHC.locA
977+
#else
978+
locA = id
979+
#endif
980+
981+
#if MIN_VERSION_ghc(9,2,0)
982+
getLocA = GHC.getLocA
983+
#else
984+
getLocA = GHC.getLoc
985+
#endif
986+
987+
#if MIN_VERSION_ghc(9,2,0)
988+
type AnnListItem = GHC.AnnListItem
989+
#else
990+
type AnnListItem = SrcLoc.SrcSpan
991+
#endif
992+
993+
#if MIN_VERSION_ghc(9,2,0)
994+
type NameAnn = GHC.NameAnn
995+
#else
996+
type NameAnn = SrcLoc.SrcSpan
997+
#endif

0 commit comments

Comments
 (0)