packages feed

byline 0.3.0.0 → 0.3.1.0

raw patch · 5 files changed

+54/−27 lines, 5 filesdep +semigroupsdep ~ansi-terminaldep ~exceptionsPVP ok

version bump matches the API change (PVP)

Dependencies added: semigroups

Dependency ranges changed: ansi-terminal, exceptions

API changes (from Hackage documentation)

+ System.Console.Byline.Stylized: instance Data.Semigroup.Semigroup System.Console.Byline.Stylized.Stylized

Files

CHANGES.md view
@@ -1,5 +1,11 @@ # Version History +## 0.3.1.0 (March 20, 2018)++  - Update dependency bounds++  - Deal with the Semigroup Monoid Proposal+ ## 0.3.0.0 (December 1, 2017)    - New style modifier: `swapFgBg` (Thanks to Sam Tay)
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2015-2017 Peter J. Jones <pjones@devalot.com>+Copyright (c) 2015-2018 Peter J. Jones <pjones@devalot.com> All rights reserved.  Redistribution and use in source and binary forms, with or without
byline.cabal view
@@ -1,6 +1,6 @@ -------------------------------------------------------------------------------- name:          byline-version:       0.3.0.0+version:       0.3.1.0 synopsis:      Library for creating command-line interfaces (colors, menus, etc.) homepage:      http://github.com/pjones/byline bug-reports:   http://github.com/pjones/byline/issues@@ -8,12 +8,12 @@ license-file:  LICENSE author:        Peter Jones <pjones@devalot.com> maintainer:    Peter Jones <pjones@devalot.com>-copyright:     Copyright: (c) 2015-2017 Peter J. Jones+copyright:     Copyright: (c) 2015-2018 Peter J. Jones category:      System, User Interfaces build-type:    Simple stability:     experimental-tested-with:   GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2-cabal-version: >=1.18+tested-with:   GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1+cabal-version: 1.18 description:   Byline simplifies writing interactive terminal applications by   building upon @ansi-terminal@ and @haskeline@.  This makes it@@ -73,15 +73,18 @@     ghc-options: -Werror    build-depends: base          >= 4.7  && < 5.0-               , ansi-terminal >= 0.6  && < 0.8+               , ansi-terminal >= 0.6  && < 0.9                , colour        >= 2.3  && < 2.4                , containers    >= 0.5  && < 0.6-               , exceptions    >= 0.8  && < 0.9+               , exceptions    >= 0.8  && < 0.11                , haskeline     >= 0.7  && < 0.8                , mtl           >= 2.1  && < 2.3                , terminfo-hs   >= 0.1  && < 0.3                , text          >= 0.11 && < 1.3                , transformers  >= 0.3  && < 0.6++  if !impl(ghc >= 8.0)+    build-depends: semigroups == 0.18.*  -------------------------------------------------------------------------------- executable simple
src/System/Console/Byline/Internal/Types.hs view
@@ -22,6 +22,7 @@ -------------------------------------------------------------------------------- -- Library imports: import Data.Monoid+import qualified Data.Semigroup as Semi  -------------------------------------------------------------------------------- -- Byline imports:@@ -32,22 +33,30 @@ data Status = On | Off  --------------------------------------------------------------------------------+instance Semi.Semigroup Status where+  (<>) Off Off = Off+  (<>) Off On  = On+  (<>) On  On  = On+  (<>) On  Off = On++-------------------------------------------------------------------------------- instance Monoid Status where   mempty = Off-  mappend Off Off = Off-  mappend Off On  = On-  mappend On  On  = On-  mappend On  Off = On+  mappend = (Semi.<>)  -------------------------------------------------------------------------------- -- | Like @Maybe@, but with a different @Monoid@ instance. newtype OnlyOne a = OnlyOne {unOne :: Maybe a}  --------------------------------------------------------------------------------+instance Semi.Semigroup (OnlyOne a) where+  (<>) _ b@(OnlyOne (Just _)) = b+  (<>) a _                    = a++-------------------------------------------------------------------------------- instance Monoid (OnlyOne a) where   mempty = OnlyOne Nothing-  mappend _ b@(OnlyOne (Just _)) = b-  mappend a _                    = a+  mappend = (Semi.<>)  -------------------------------------------------------------------------------- -- | Information about modifications made to stylized text.@@ -60,7 +69,11 @@   }  --------------------------------------------------------------------------------+instance Semi.Semigroup Modifier where+  (<>) (Modifier a b c d e) (Modifier a' b' c' d' e') =+    Modifier (a <> a') (b <> b') (c <> c') (d <> d') (e <> e')++-------------------------------------------------------------------------------- instance Monoid Modifier where   mempty = Modifier mempty mempty mempty mempty mempty-  mappend (Modifier a b c d e) (Modifier a' b' c' d' e') =-    Modifier (a <> a') (b <> b') (c <> c') (d <> d') (e <> e')+  mappend = (Semi.<>)
src/System/Console/Byline/Stylized.hs view
@@ -22,6 +22,7 @@ -------------------------------------------------------------------------------- -- Library imports: import Data.Monoid+import qualified Data.Semigroup as Semi import Data.String import Data.Text (Text) import qualified Data.Text as T@@ -64,23 +65,27 @@ modStylized = StylizedMod  ---------------------------------------------------------------------------------instance Monoid Stylized where-  mempty = StylizedText mempty mempty-+instance Semi.Semigroup Stylized where   -- StylizedText on LHS.-  mappend a@(StylizedText _ _) b@(StylizedText _ _) = StylizedList [a, b]-  mappend (StylizedText t m) (StylizedMod m')       = StylizedText t (m <> m')-  mappend a@(StylizedText _ _) (StylizedList b)     = StylizedList (a:b)+  (<>) a@(StylizedText _ _) b@(StylizedText _ _) = StylizedList [a, b]+  (<>) (StylizedText t m) (StylizedMod m')       = StylizedText t (m <> m')+  (<>) a@(StylizedText _ _) (StylizedList b)     = StylizedList (a:b)    -- StylizedMod on LHS.-  mappend (StylizedMod m) (StylizedText t m') = StylizedText t (m <> m')-  mappend (StylizedMod m) (StylizedMod m')    = StylizedMod (m <> m')-  mappend m@(StylizedMod _) (StylizedList l)  = StylizedList (map (m <>) l)+  (<>) (StylizedMod m) (StylizedText t m') = StylizedText t (m <> m')+  (<>) (StylizedMod m) (StylizedMod m')    = StylizedMod (m <> m')+  (<>) m@(StylizedMod _) (StylizedList l)  = StylizedList (map (m <>) l)    -- StylizedList on LHS.-  mappend (StylizedList l) t@(StylizedText _ _) = StylizedList (l <> [t])-  mappend (StylizedList l) m@(StylizedMod _)    = StylizedList (map (<> m) l)-  mappend (StylizedList l) (StylizedList l')    = StylizedList (l <> l')+  (<>) (StylizedList l) t@(StylizedText _ _) = StylizedList (l <> [t])+  (<>) (StylizedList l) m@(StylizedMod _)    = StylizedList (map (<> m) l)+  (<>) (StylizedList l) (StylizedList l')    = StylizedList (l <> l')+++--------------------------------------------------------------------------------+instance Monoid Stylized where+  mempty = StylizedText mempty mempty+  mappend = (Semi.<>)  -------------------------------------------------------------------------------- instance IsString Stylized where