packages feed

safe-coloured-text 0.2.0.0 → 0.2.0.1

raw patch · 5 files changed

+51/−8 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Text.Colour: [chunkBlinking] :: Chunk -> !Maybe Blinking
+ Text.Colour: noBlinking :: Chunk -> Chunk
+ Text.Colour: noUnderline :: Chunk -> Chunk
+ Text.Colour: rapidBlinking :: Chunk -> Chunk
+ Text.Colour: slowBlinking :: Chunk -> Chunk
+ Text.Colour.Chunk: [chunkBlinking] :: Chunk -> !Maybe Blinking
+ Text.Colour.Chunk: noBlinking :: Chunk -> Chunk
+ Text.Colour.Chunk: noUnderline :: Chunk -> Chunk
+ Text.Colour.Chunk: rapidBlinking :: Chunk -> Chunk
+ Text.Colour.Chunk: slowBlinking :: Chunk -> Chunk
+ Text.Colour.Code: NoBlinking :: Blinking
+ Text.Colour.Code: RapidBlinking :: Blinking
+ Text.Colour.Code: SetBlinking :: !Blinking -> SGR
+ Text.Colour.Code: SlowBlinking :: Blinking
+ Text.Colour.Code: data Blinking
+ Text.Colour.Code: instance Data.Validity.Validity Text.Colour.Code.Blinking
+ Text.Colour.Code: instance GHC.Classes.Eq Text.Colour.Code.Blinking
+ Text.Colour.Code: instance GHC.Enum.Bounded Text.Colour.Code.Blinking
+ Text.Colour.Code: instance GHC.Enum.Enum Text.Colour.Code.Blinking
+ Text.Colour.Code: instance GHC.Generics.Generic Text.Colour.Code.Blinking
+ Text.Colour.Code: instance GHC.Show.Show Text.Colour.Code.Blinking
- Text.Colour: Chunk :: !Text -> !Maybe Bool -> !Maybe ConsoleIntensity -> !Maybe Underlining -> !Maybe Colour -> !Maybe Colour -> Chunk
+ Text.Colour: Chunk :: !Text -> !Maybe Bool -> !Maybe ConsoleIntensity -> !Maybe Underlining -> !Maybe Blinking -> !Maybe Colour -> !Maybe Colour -> Chunk
- Text.Colour.Chunk: Chunk :: !Text -> !Maybe Bool -> !Maybe ConsoleIntensity -> !Maybe Underlining -> !Maybe Colour -> !Maybe Colour -> Chunk
+ Text.Colour.Chunk: Chunk :: !Text -> !Maybe Bool -> !Maybe ConsoleIntensity -> !Maybe Underlining -> !Maybe Blinking -> !Maybe Colour -> !Maybe Colour -> Chunk

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Changelog for safe-coloured-text +## [0.2.0.1] - 2022-06-29++### Added++* Support blinking text+ ## [0.2.0.0] - 2022-06-19  ### Changed
safe-coloured-text.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           safe-coloured-text-version:        0.2.0.0+version:        0.2.0.1 synopsis:       Safely output coloured text category:       User Interfaces homepage:       https://github.com/NorfairKing/safe-coloured-text#readme
src/Text/Colour.hs view
@@ -26,6 +26,10 @@     italic,     underline,     doubleUnderline,+    noUnderline,+    slowBlinking,+    rapidBlinking,+    noBlinking,      -- ** Colours     Colour (..),
src/Text/Colour/Chunk.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE RecordWildCards #-}+{-# OPTIONS_GHC -Wno-unused-pattern-binds #-}  module Text.Colour.Chunk where @@ -25,6 +26,7 @@     chunkItalic :: !(Maybe Bool),     chunkConsoleIntensity :: !(Maybe ConsoleIntensity),     chunkUnderlining :: !(Maybe Underlining),+    chunkBlinking :: !(Maybe Blinking),     chunkForeground :: !(Maybe Colour),     chunkBackground :: !(Maybe Colour)   }@@ -37,13 +39,15 @@  plainChunk :: TerminalCapabilities -> Chunk -> Bool plainChunk tc Chunk {..} =-  and-    [ isNothing chunkItalic,-      isNothing chunkConsoleIntensity,-      isNothing chunkUnderlining,-      maybe True (plainColour tc) chunkForeground,-      maybe True (plainColour tc) chunkBackground-    ]+  let Chunk _ _ _ _ _ _ _ = undefined+   in and+        [ isNothing chunkItalic,+          isNothing chunkConsoleIntensity,+          isNothing chunkUnderlining,+          isNothing chunkBlinking,+          maybe True (plainColour tc) chunkForeground,+          maybe True (plainColour tc) chunkBackground+        ]  plainColour :: TerminalCapabilities -> Colour -> Bool plainColour tc = \case@@ -137,6 +141,7 @@       chunkItalic = Nothing,       chunkConsoleIntensity = Nothing,       chunkUnderlining = Nothing,+      chunkBlinking = Nothing,       chunkForeground = Nothing,       chunkBackground = Nothing     }@@ -161,6 +166,18 @@  doubleUnderline :: Chunk -> Chunk doubleUnderline chu = chu {chunkUnderlining = Just DoubleUnderline}++noUnderline :: Chunk -> Chunk+noUnderline chu = chu {chunkUnderlining = Just NoUnderline}++slowBlinking :: Chunk -> Chunk+slowBlinking chu = chu {chunkBlinking = Just SlowBlinking}++rapidBlinking :: Chunk -> Chunk+rapidBlinking chu = chu {chunkBlinking = Just RapidBlinking}++noBlinking :: Chunk -> Chunk+noBlinking chu = chu {chunkBlinking = Just NoBlinking}  -- TODO consider allowing an 8-colour alternative to a given 256-colour data Colour
src/Text/Colour/Code.hs view
@@ -72,6 +72,7 @@   = Reset   | SetItalic !Bool   | SetUnderlining !Underlining+  | SetBlinking !Blinking   | SetConsoleIntensity !ConsoleIntensity   | SetColour !ColourIntensity !ConsoleLayer !TerminalColour   | Set8BitColour !ConsoleLayer !Word8@@ -102,6 +103,12 @@         DoubleUnderline -> 21         NoUnderline -> 24     ]+  SetBlinking b ->+    [ case b of+        SlowBlinking -> 5+        RapidBlinking -> 6+        NoBlinking -> 25+    ]   SetConsoleIntensity ci ->     [ case ci of         BoldIntensity -> 1@@ -142,6 +149,15 @@   deriving (Show, Eq, Generic, Bounded, Enum)  instance Validity Underlining++-- | ANSI text blinking+data Blinking+  = SlowBlinking+  | RapidBlinking+  | NoBlinking+  deriving (Show, Eq, Generic, Bounded, Enum)++instance Validity Blinking  -- | ANSI general console intensity: usually treated as setting the font style -- (e.g. 'BoldIntensity' causes text to be bold)