packages feed

stylish-haskell 0.15.0.1 → 0.15.1.0

raw patch · 14 files changed

+52/−46 lines, 14 filesdep ~basedep ~ghcdep ~ghc-lib-parser

Dependency ranges changed: base, ghc, ghc-lib-parser, ghc-lib-parser-ex

Files

CHANGELOG view
@@ -1,5 +1,8 @@ # CHANGELOG +- 0.15.1.0 (2025-04-13)+     *  #491 Support GHC 9.12 (By GuillaumedeVolpiano)+ - 0.15.0.1 (2025-04-13)      *  #493 Support Cabal 3.12 again (By GuillaumedeVolpiano) 
lib/Language/Haskell/Stylish/Comments.hs view
@@ -61,7 +61,7 @@     commentsWithLines :: [(LineBlock, GHC.LEpaComment)]     commentsWithLines = do         comment <- allComments-        let s = GHC.anchor $ GHC.getLoc comment+        let s = GHC.epaLocationRealSrcSpan $ GHC.getLoc comment         pure (realSrcSpanToLineBlock s, comment)      work
lib/Language/Haskell/Stylish/Config/Cabal.hs view
@@ -53,7 +53,7 @@   go searched (p : ps) = do  #if MIN_VERSION_Cabal(3,14,0)-    let projectRoot = Just $ makeSymbolicPath p+    let projectRoot = Just $ Cabal.makeSymbolicPath p     potentialCabalFile <- Cabal.findPackageDesc projectRoot #else     potentialCabalFile <- Cabal.findPackageDesc p
lib/Language/Haskell/Stylish/GHC.hs view
@@ -86,6 +86,6 @@ deepAnnComments = everything (++) (mkQ [] priorAndFollowing)  priorAndFollowing :: GHC.EpAnnComments -> [GHC.LEpaComment]-priorAndFollowing = sortOn (GHC.anchor . GHC.getLoc) . \case+priorAndFollowing = sortOn (GHC.epaLocationRealSrcSpan . GHC.getLoc) . \case     GHC.EpaComments         {..} -> priorComments     GHC.EpaCommentsBalanced {..} -> priorComments ++ followingComments
lib/Language/Haskell/Stylish/Module.hs view
@@ -141,7 +141,7 @@     prag comment = case GHC.ac_tok (GHC.unLoc comment) of         GHC.EpaBlockComment str             | lang : p1 : ps <- tokenize str, map toLower lang == "language" ->-                pure (GHC.anchor (GHC.getLoc comment), p1 :| ps)+                pure (GHC.epaLocationRealSrcSpan (GHC.getLoc comment), p1 :| ps)         _ -> Nothing      tokenize = words .
lib/Language/Haskell/Stylish/Printer.hs view
@@ -53,6 +53,7 @@ import           GHC.Types.Name.Reader           (RdrName (..)) import           GHC.Types.SrcLoc                (GenLocated (..)) import qualified GHC.Types.SrcLoc                as GHC+import           GHC.TypeLits                    (symbolVal) import           GHC.Utils.Outputable            (Outputable)  --------------------------------------------------------------------------------@@ -160,18 +161,19 @@  nameAnnAdornment :: GHC.NameAnn -> (String, String) nameAnnAdornment = \case-    GHC.NameAnn {..}       -> fromAdornment nann_adornment-    GHC.NameAnnCommas {..} -> fromAdornment nann_adornment-    GHC.NameAnnBars {..}   -> fromAdornment nann_adornment-    GHC.NameAnnOnly {..}   -> fromAdornment nann_adornment+    GHC.NameAnn {GHC.nann_adornment = na}       -> fromAdornment na+    GHC.NameAnnCommas {GHC.nann_adornment = na}       -> fromAdornment na+    GHC.NameAnnBars {GHC.nann_parensh = (o, c)}       -> fromAdornment (GHC.NameParensHash o c)+    GHC.NameAnnOnly {GHC.nann_adornment = na}       -> fromAdornment na     GHC.NameAnnRArrow {}   -> (mempty, mempty)     GHC.NameAnnQuote {}    -> ("'", mempty)     GHC.NameAnnTrailing {} -> (mempty, mempty)   where-    fromAdornment GHC.NameParens     = ("(", ")")-    fromAdornment GHC.NameBackquotes = ("`", "`")-    fromAdornment GHC.NameParensHash = ("#(", "#)")-    fromAdornment GHC.NameSquare     = ("[", "]")+    fromAdornment (GHC.NameParens l r)     = (symbolVal l, symbolVal r)+    fromAdornment (GHC.NameBackquotes l r) = (symbolVal l, symbolVal r)+    fromAdornment (GHC.NameParensHash l r) = (symbolVal l, symbolVal r)+    fromAdornment (GHC.NameSquare l r)     = (symbolVal l, symbolVal r)+    fromAdornment GHC.NameNoAdornment      = (mempty, mempty)  -- | Print module name putModuleName :: GHC.ModuleName -> P ()@@ -197,7 +199,7 @@       (comma >> space)       (fmap putType xs)     putText "]"-  GHC.HsExplicitTupleTy _ xs -> do+  GHC.HsExplicitTupleTy _ _ xs -> do     putText "'("     sep       (comma >> space)
lib/Language/Haskell/Stylish/Step/Data.hs view
@@ -103,6 +103,8 @@         isAfterStart :: GHC.LEpaComment -> Bool         isAfterStart (GHC.L (GHC.EpaSpan (GHC.RealSrcSpan commentSpan _)) _) =                GHC.srcSpanStartLine commentSpan >= GHC.srcSpanStartLine declSpan+        isAfterStart (GHC.L (GHC.EpaDelta (GHC.RealSrcSpan commentSpan _) _ _) _) =+               GHC.srcSpanStartLine commentSpan >= GHC.srcSpanStartLine declSpan         isAfterStart _ = False      dataDecls :: Module -> [DataDecl]
lib/Language/Haskell/Stylish/Step/Imports.hs view
@@ -638,7 +638,7 @@   prepareInner :: GHC.IE GHC.GhcPs -> GHC.IE GHC.GhcPs   prepareInner = \case     -- Simplify `A ()` to `A`.-    GHC.IEThingWith x n GHC.NoIEWildcard [] md -> GHC.IEThingAbs x n md+    GHC.IEThingWith x n GHC.NoIEWildcard [] md -> GHC.IEThingAbs (fst x) n md     GHC.IEThingWith x n w ns md ->       GHC.IEThingWith x n w (sortBy (compareWrappedName `on` GHC.unLoc) ns) md     ie -> ie
lib/Language/Haskell/Stylish/Step/LanguagePragmas.hs view
@@ -198,5 +198,5 @@      getMatchStrict :: GHC.Match GHC.GhcPs (GHC.LHsExpr GHC.GhcPs) -> [()]     getMatchStrict (GHC.Match _ ctx _ _) = case ctx of-      GHC.FunRhs _ _ GHC.SrcStrict -> [()]-      _                            -> []+      GHC.FunRhs _ _ GHC.SrcStrict _ -> [()]+      _                              -> []
lib/Language/Haskell/Stylish/Step/ModuleHeader.hs view
@@ -81,18 +81,18 @@                 loc <- GHC.getLocA <$> GHC.hsmodExports modul                 GHC.srcSpanEndLine <$> GHC.srcSpanToRealSrcSpan loc) -        keywordLine kw = listToMaybe $ do+        keywordLine kw = do             GHC.EpAnn {..} <- pure $ GHC.hsmodAnn $ GHC.hsmodExt modul-            GHC.AddEpAnn kw' (GHC.EpaSpan (GHC.RealSrcSpan s _)) <- GHC.am_main anns-            guard $ kw == kw'-            pure $ GHC.srcSpanEndLine s+            case kw anns of+              GHC.EpTok (GHC.EpaSpan (GHC.RealSrcSpan s _)) -> Just . GHC.srcSpanEndLine $ s+              _ -> Nothing -        moduleLine = keywordLine GHC.AnnModule-        whereLine = keywordLine GHC.AnnWhere+        moduleLine = keywordLine GHC.am_mod+        whereLine = keywordLine GHC.am_where          commentOnLine l = listToMaybe $ do             comment <- epAnnComments $ GHC.hsmodAnn $ GHC.hsmodExt modul-            guard $ GHC.srcSpanStartLine (GHC.anchor $ GHC.getLoc comment) == l+            guard $ GHC.srcSpanStartLine (GHC.epaLocationRealSrcSpan $ GHC.getLoc comment) == l             pure comment          moduleComment = moduleLine >>= commentOnLine@@ -152,7 +152,7 @@                 attachModuleComment             Single  | [egroup] <- exports                     , not (commentGroupHasComments egroup)-                    , [(export, _)] <- (cgItems egroup) -> do+                    , [(export, _)] <- cgItems egroup -> do                 printSingleLineExportList conf [export]                 attachModuleComment             Inline  | [] <- exports -> do
lib/Language/Haskell/Stylish/Step/SimpleAlign.hs view
@@ -112,7 +112,7 @@ matchToAlignable     :: GHC.LocatedA (Hs.Match Hs.GhcPs (Hs.LHsExpr Hs.GhcPs))     -> Maybe (Either (Alignable GHC.RealSrcSpan) (Alignable GHC.RealSrcSpan))-matchToAlignable (GHC.L matchLoc m@(Hs.Match _ Hs.CaseAlt pats@(_ : _) grhss)) = do+matchToAlignable (GHC.L matchLoc m@(Hs.Match _ Hs.CaseAlt (GHC.L _ pats@(_ : _)) grhss)) = do   let patsLocs   = map GHC.getLocA pats       pat        = last patsLocs       guards     = getGuards m@@ -128,7 +128,7 @@     , aRight     = rightPos     , aRightLead = length "-> "     }-matchToAlignable (GHC.L matchLoc (Hs.Match _ (Hs.FunRhs name _ _) pats@(_ : _) grhss)) = do+matchToAlignable (GHC.L matchLoc (Hs.Match _ (Hs.FunRhs name _ _ _) (GHC.L _ pats@(_ : _)) grhss)) = do   body <- unguardedRhsBody grhss   let patsLocs = map GHC.getLocA pats       nameLoc  = GHC.getLocA name
lib/Language/Haskell/Stylish/Step/Squash.hs view
@@ -1,4 +1,5 @@ --------------------------------------------------------------------------------+{-# LANGUAGE DataKinds             #-} {-# LANGUAGE PartialTypeSignatures #-} {-# LANGUAGE PatternGuards         #-} {-# LANGUAGE RecordWildCards       #-}@@ -9,7 +10,6 @@   ---------------------------------------------------------------------------------import           Data.Maybe                      (listToMaybe) import qualified GHC.Hs                          as GHC import qualified GHC.Types.SrcLoc                as GHC @@ -45,10 +45,9 @@   ---------------------------------------------------------------------------------fieldDeclSeparator :: [GHC.AddEpAnn]-> Maybe GHC.RealSrcSpan-fieldDeclSeparator anns = listToMaybe $ do-    GHC.AddEpAnn GHC.AnnDcolon (GHC.EpaSpan (GHC.RealSrcSpan s _)) <- anns-    pure s+fieldDeclSeparator :: GHC.EpUniToken "::" "\8759" -> Maybe GHC.RealSrcSpan+fieldDeclSeparator (GHC.EpUniTok (GHC.EpaSpan (GHC.RealSrcSpan s _)) _) = Just s+fieldDeclSeparator _ = Nothing   --------------------------------------------------------------------------------@@ -65,23 +64,23 @@   where     match = GHC.unLoc lmatch     mbLeft = case match of-        GHC.Match _ (GHC.FunRhs name _ _) [] _ ->+        GHC.Match _ (GHC.FunRhs name _ _ _ ) (GHC.L _ []) _ ->             GHC.srcSpanToRealSrcSpan $ GHC.getLocA name-        GHC.Match _ _ pats@(_ : _) _ ->+        GHC.Match _ _ (GHC.L _ pats@(_ : _)) _ ->             GHC.srcSpanToRealSrcSpan . GHC.getLocA $ last pats         _ -> Nothing   -------------------------------------------------------------------------------- matchSeparator :: GHC.EpAnn GHC.GrhsAnn -> Maybe GHC.RealSrcSpan-matchSeparator GHC.EpAnn {..}-    | GHC.AddEpAnn _ (GHC.EpaSpan (GHC.RealSrcSpan s _)) <- GHC.ga_sep anns = Just s-matchSeparator _ = Nothing-+matchSeparator GHC.EpAnn {..} = case GHC.ga_sep anns of+                                  Left (GHC.EpTok (GHC.EpaSpan (GHC.RealSrcSpan s _))) -> Just s+                                  Right (GHC.EpUniTok (GHC.EpaSpan (GHC.RealSrcSpan s _)) _) -> Just s+                                  _ -> Nothing  -------------------------------------------------------------------------------- step :: Step-step = makeStep "Squash" $ \ls (module') ->+step = makeStep "Squash" $ \ls module' ->     let changes =             foldMap squashFieldDecl (everything module') <>             foldMap squashMatch (everything module') in
lib/Language/Haskell/Stylish/Step/UnicodeSyntax.hs view
@@ -24,7 +24,7 @@         Editor.replaceRealSrcSpan (GHC.epaLocationRealSrcSpan epaLoc) "→" hsTyReplacements (GHC.HsQualTy _ ctx _)     | Just arrow <- GHC.ac_darrow . GHC.anns $ GHC.getLoc ctx-    , (GHC.NormalSyntax, GHC.EpaSpan (GHC.RealSrcSpan loc _)) <- arrow =+    , (GHC.EpUniTok (GHC.EpaSpan (GHC.RealSrcSpan loc _)) GHC.NormalSyntax) <- arrow =         Editor.replaceRealSrcSpan loc "⇒" hsTyReplacements _ = mempty @@ -32,7 +32,7 @@ -------------------------------------------------------------------------------- hsSigReplacements :: GHC.Sig GHC.GhcPs -> Editor.Edits hsSigReplacements (GHC.TypeSig ann _ _)-    | GHC.AddEpAnn GHC.AnnDcolon epaLoc <- GHC.asDcolon ann+    | GHC.EpUniTok epaLoc _ <- GHC.asDcolon ann     , GHC.EpaSpan (GHC.RealSrcSpan loc _) <- epaLoc =         Editor.replaceRealSrcSpan loc "∷" hsSigReplacements _ = mempty
stylish-haskell.cabal view
@@ -1,6 +1,6 @@ Cabal-version: 2.4 Name:          stylish-haskell-Version:       0.15.0.1+Version:       0.15.1.0 Synopsis:      Haskell code prettifier Homepage:      https://github.com/haskell/stylish-haskell License:       BSD-3-Clause@@ -37,7 +37,7 @@    Build-depends:     aeson             >= 0.6    && < 2.3,-    base              >= 4.8    && < 5,+    base              >= 4.19    && < 5,     bytestring        >= 0.9    && < 0.13,     Cabal             >= 3.10   && < 4.0,     containers        >= 0.3    && < 0.9,@@ -59,17 +59,17 @@   -- and we have a new enough GHC. Note that   -- this will only work if the user's   -- compiler is of the matching major version!-  if !flag(ghc-lib) && impl(ghc >= 9.8) && impl(ghc < 9.11)+  if !flag(ghc-lib) && impl(ghc >= 9.8) && impl(ghc < 9.13)     Build-depends:-      ghc >= 9.10 && < 9.11,+      ghc >= 9.12 && < 9.13,       ghc-boot,       ghc-boot-th   else     Build-depends:-      ghc-lib-parser >= 9.10 && < 9.11+      ghc-lib-parser >= 9.12 && < 9.13    Build-depends:-    ghc-lib-parser-ex >= 9.10 && < 9.11+    ghc-lib-parser-ex >= 9.12 && < 9.13  Library   Import:         depends