wl-pprint-text 1.1.1.1 → 1.2.0.2
raw patch · 4 files changed
Files
- Changelog.md +25/−0
- Text/PrettyPrint/Leijen/Text.hs +14/−11
- Text/PrettyPrint/Leijen/Text/Monadic.hs +10/−18
- wl-pprint-text.cabal +21/−8
Changelog.md view
@@ -1,3 +1,28 @@+1.2.0.2 (2022-01-09)+====================++* Dependency bumps.++1.2.0.1 (2020-01-28)+====================++* Dependency bumps.++1.2.0.0 (2018-05-07)+====================++* Remove `IsString (m Doc)` instance (#16).++* Export the `beside` function from both modules.++ - For non-Monadic pretty-printing this is identical to the+ Semigroup/Monoid `<>` combinator.++ - For Monadic pretty-printing this is the lifted version of `<>`.++* No longer export `<>`. Use `beside` instead, or the+ Semigroup/Monoid instance (for non-Monadic).+ 1.1.1.1 (2018-04-13) ====================
Text/PrettyPrint/Leijen/Text.hs view
@@ -70,7 +70,7 @@ Doc, -- * Basic combinators- empty, isEmpty, char, text, textStrict, (<>), nest, line, linebreak, group,+ empty, isEmpty, char, text, textStrict, beside, nest, line, linebreak, group, softline, softbreak, spacebreak, -- * Alignment@@ -118,11 +118,11 @@ ) where -import Prelude ()-import Prelude.Compat hiding ((<$>))+import Prelude ()+import Prelude.Compat hiding ((<$>)) -import Data.String (IsString(..))-import System.IO (Handle, hPutChar, stdout)+import Data.String (IsString (..))+import System.IO (Handle, hPutChar, stdout) import Data.Int (Int64) import Data.List (intersperse)@@ -133,14 +133,12 @@ import qualified Data.Text.Lazy.Builder as B import qualified Data.Text.Lazy.IO as T -#if MIN_VERSION_base (4,9,0)-import Data.Semigroup (Semigroup(..))-#else-import Data.Monoid ((<>))+#if !MIN_VERSION_base (4,9,0)+import Data.Monoid ((<>)) #endif infixr 5 </>,<//>,<$>,<$$>-infixr 6 <+>,<++>+infixr 6 <+>,<++>,`beside` -----------------------------------------------------------@@ -844,6 +842,11 @@ linebreak :: Doc linebreak = Line True +-- | The document @(x `beside` y)@ concatenates document @x@ and @y@.+-- It is an associative operation having 'empty' as a left and right+-- unit. (infixr 6)+--+-- It is equivalent to `<>`. beside :: Doc -> Doc -> Doc beside Empty r = r beside l Empty = l@@ -950,7 +953,7 @@ wth = min (w64 - k) (r - k + n) fits :: Int64 -> SimpleDoc -> Bool-fits w _ | w < 0 = False+fits w _ | w < 0 = False fits _ SEmpty = True fits w (SChar _ x) = fits (w - 1) x fits w (SText l _ x) = fits (w - l) x
Text/PrettyPrint/Leijen/Text/Monadic.hs view
@@ -21,7 +21,7 @@ Doc, -- putDoc, hPutDoc, -- * Basic combinators- empty, char, text, textStrict, (<>), nest, line, linebreak, group, softline,+ empty, char, text, textStrict, beside, nest, line, linebreak, group, softline, softbreak, spacebreak, -- * Alignment@@ -71,11 +71,7 @@ import Prelude () -#if MIN_VERSION_base (4,9,0)-import Prelude.Compat hiding ((<$>), (<>))-#else import Prelude.Compat hiding ((<$>))-#endif import Text.PrettyPrint.Leijen.Text (Doc, Pretty(..), SimpleDoc(..), displayB, displayIO, displayT,@@ -85,15 +81,11 @@ import qualified Text.PrettyPrint.Leijen.Text as PP import Control.Applicative (liftA2, liftA3)-import Data.String (IsString(..)) import qualified Data.Text as TS import Data.Text.Lazy (Text) infixr 5 </>,<//>,<$>,<$$>-infixr 6 <>,<+>,<++>--instance (Applicative m) => IsString (m Doc) where- fromString = string . fromString+infixr 6 <+>,<++>,`beside` ----------------------------------------------------------- @@ -256,11 +248,11 @@ vcat :: (Functor m) => m [Doc] -> m Doc vcat = fmap PP.vcat --- | The document @(x \<\> y)@ concatenates document @x@ and document--- @y@. It is an associative operation having 'empty' as a left and--- right unit. (infixr 6)-(<>) :: (Applicative m) => m Doc -> m Doc -> m Doc-(<>) = liftA2 (PP.<>)+-- | The document @(x `beside` y)@ concatenates document @x@ and+-- document @y@. It is an associative operation having 'empty' as a+-- left and right unit. (infixr 6)+beside :: (Applicative m) => m Doc -> m Doc -> m Doc+beside = liftA2 (PP.beside) -- | The document @(x \<+\> y)@ concatenates document @x@ and @y@ with -- a 'space' in between. (infixr 6)@@ -342,9 +334,9 @@ brackets = fmap PP.brackets -- | The document @(enclose l r x)@ encloses document @x@ between--- documents @l@ and @r@ using @(\<\>)@.+-- documents @l@ and @r@ using @'beside'@. ----- > enclose l r x = l <> x <> r+-- > enclose l r x = l `beside` x `beside` r enclose :: (Applicative m) => m Doc -> m Doc -> m Doc -> m Doc enclose = liftA3 PP.enclose @@ -402,7 +394,7 @@ -- | The document @space@ contains a single space, \" \". ----- > x <+> y = x <> space <> y+-- > x <+> y = x `beside` space `beside` y space :: (Applicative m) => m Doc space = pure PP.space
wl-pprint-text.cabal view
@@ -1,5 +1,6 @@+Cabal-version: >=1.10 Name: wl-pprint-text-Version: 1.1.1.1+Version: 1.2.0.2 Synopsis: A Wadler/Leijen Pretty Printer for Text values Description: A clone of wl-pprint for use with the text library. License: BSD3@@ -9,10 +10,21 @@ Copyright: 2007 Daan Leijen, 2010 Ivan Lazar Miljenovic Category: Text Build-type: Simple-Tested-With: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4,- GHC == 7.10.2, GHC == 8.0.1, GHC == 8.2.2,- GHC == 8.4.1, GHC == 8.5.*-Cabal-version: >=1.6++Tested-With:+ GHC == 7.4.2+ GHC == 7.6.3+ GHC == 7.8.4+ GHC == 7.10.3+ GHC == 8.0.2+ GHC == 8.2.2+ GHC == 8.4.4+ GHC == 8.6.5+ GHC == 8.8.4+ GHC == 8.10.7+ GHC == 9.0.1+ GHC == 9.2.1+ Extra-Source-Files: Changelog.md README.md @@ -23,7 +35,8 @@ Library Exposed-modules: Text.PrettyPrint.Leijen.Text, Text.PrettyPrint.Leijen.Text.Monadic- Build-depends: base >= 4.5.0.0 && < 5,- base-compat == 0.10.*,- text >= 0.11.0.0 && < 1.3.0.0+ Build-depends: base >= 4.5.0.0 && < 5,+ base-compat >= 0.10 && < 0.13,+ text >= 0.11.0.0 && < 2.1+ Default-language: Haskell98 GHC-Options: -Wall