@@ -1,4 +1,3 @@
1−{-# LANGUAGE LambdaCase #-}
2{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE RecordWildCards #-}
@@ -9,20 +8,17 @@ module Ormolu.Printer.Meat.Module
12−import BasicTypes hiding (InlinePragma)
13import Control.Monad
11import Control.Monad
14import Data.Maybe (isJust)
12import Data.Maybe (isJust)
15−import Data.Text (Text)
17import Ormolu.Imports
14import Ormolu.Imports
18import Ormolu.Printer.Combinators
15import Ormolu.Printer.Combinators
19import Ormolu.Printer.Comments
16import Ormolu.Printer.Comments
20import Ormolu.Printer.Meat.Common
17import Ormolu.Printer.Meat.Common
21import Ormolu.Printer.Meat.Declaration
18import Ormolu.Printer.Meat.Declaration
19+import Ormolu.Printer.Meat.Declaration.Warning
22import Ormolu.Printer.Meat.ImportExport
20import Ormolu.Printer.Meat.ImportExport
24import SrcLoc (combineSrcSpans)
21import SrcLoc (combineSrcSpans)
25−import qualified Data.List.NonEmpty as NE
27p_hsModule :: ParsedSource -> R ()
23p_hsModule :: ParsedSource -> R ()
28p_hsModule loc@(L moduleSpan hsModule) = do
24p_hsModule loc@(L moduleSpan hsModule) = do
@@ -38,7 +34,7 @@ p_hsModule loc@(L moduleSpan hsModule) = do
38 Nothing -> pure ()
34 Nothing -> pure ()
39 Just hsmodName' -> line $ do
35 Just hsmodName' -> line $ do
40 located hsmodName' p_hsmodName
36 located hsmodName' p_hsmodName
41− forM_ hsmodDeprecMessage (located' p_warningTxt)
37+ forM_ hsmodDeprecMessage (located' p_moduleWarning)
42 case hsmodExports of
38 case hsmodExports of
43 Nothing -> return ()
39 Nothing -> return ()
44 Just hsmodExports' -> do
40 Just hsmodExports' -> do
@@ -53,23 +49,3 @@ p_hsModule loc@(L moduleSpan hsModule) = do
53 trailingComments <- hasMoreComments
49 trailingComments <- hasMoreComments
54 when (trailingComments && isJust hsmodName) newline
50 when (trailingComments && isJust hsmodName) newline
55 spitRemainingComments
51 spitRemainingComments
57−-- | Layout the WARNING\/DEPRECATED pragmas in the module head.
59−p_warningTxt :: WarningTxt -> R ()
61− WarningTxt _ lits -> p_pragma "WARNING" lits
62− DeprecatedTxt _ lits -> p_pragma "DEPRECATED" lits
64− p_pragma :: Text -> [Located StringLiteral] -> R ()
65− p_pragma pragmaText lits = switchLayout (litsSpan lits) $ do
67− inci $ pragma pragmaText (p_lits lits)
69− litsSpan :: [Located StringLiteral] -> SrcSpan
70− litsSpan lits = combineSrcSpans' (getLoc <$> NE.fromList lits)
72− p_lits :: [Located StringLiteral] -> R ()
75− ls -> brackets . velt $ withSep comma atom ls