diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs b/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs index 8f09d91..e6b83b7 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs @@ -41,7 +41,11 @@ layoutIE lie@(L _ _ie) = in docSeq $ [ien, docLit $ Text.pack "("] +#if MIN_VERSION_ghc(8,2,0) + ++ ( intersperse docCommaSep (map (docLit . lrdrNameToText . ieLWrappedName) ns) +#else ++ ( intersperse docCommaSep (map (docLit . lrdrNameToText) ns) +#endif ++ intersperse docCommaSep (map (prepareFL) fs) ) ++ [docLit $ Text.pack ")"] diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs index b4e3e0c..6bfd63f 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs @@ -23,8 +23,23 @@ layoutImport limportD@(L _ importD) = docWrapNode limportD $ case importD of ImportDecl _ (L _ modName) pkg src safe q False as llies -> let modNameT = Text.pack $ moduleNameString modName - pkgNameT = Text.pack . sl_st <$> pkg - asT = Text.pack . moduleNameString <$> as +#if MIN_VERSION_ghc(8,2,0) + prepPkg rawN = + case rawN of + SourceText n -> n + -- This would be odd to encounter and the + -- result will most certainly be wrong + NoSourceText -> "" +#else + prepPkg = id +#endif + pkgNameT = Text.pack . prepPkg . sl_st <$> pkg +#if MIN_VERSION_ghc(8,2,0) + prepModName = unLoc +#else + prepModName = id +#endif + asT = Text.pack . moduleNameString . prepModName <$> as sig = ColBindingLine (Just (Text.pack "import")) importQualifiers = docSeq [ appSep $ docLit $ Text.pack "import"