packages feed

safe-coloured-text-gen 0.0.0.4 → 0.0.0.5

raw patch · 5 files changed

+77/−62 lines, 5 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Text.Colour.Gen: instance Data.GenValidity.GenValid Text.Colour.Chunk.ChunkStyle

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Changelog for safe-coloured-text-gen +## [0.0.0.5] - 2026-04-12++### Added++* `GenValid ChunkStyle` instance+ ## [0.0.0.4] - 2026-04-12  ### Added
safe-coloured-text-gen.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.37.0.+-- This file has been generated from package.yaml by hpack version 0.38.3. -- -- see: https://github.com/sol/hpack  name:           safe-coloured-text-gen-version:        0.0.0.4+version:        0.0.0.5 description:    Generators for types in safe-coloured-text homepage:       https://github.com/NorfairKing/safe-coloured-text#readme bug-reports:    https://github.com/NorfairKing/safe-coloured-text/issues
src/Text/Colour/Gen.hs view
@@ -12,6 +12,10 @@   genValid = genValidStructurallyWithoutExtraChecking   shrinkValid = shrinkValidStructurallyWithoutExtraFiltering +instance GenValid ChunkStyle where+  genValid = genValidStructurallyWithoutExtraChecking+  shrinkValid = shrinkValidStructurallyWithoutExtraFiltering+ instance GenValid CSI where   genValid = genValidStructurallyWithoutExtraChecking   shrinkValid = shrinkValidStructurallyWithoutExtraFiltering
test/Text/Colour/Chunk/ParsingRoundtripSpec.hs view
@@ -6,7 +6,6 @@ import Control.Monad import qualified Data.ByteString as SB import Data.List (sort)-import qualified Data.Text as Text import qualified Data.Text.Encoding as TE import Path import Path.IO (listDirRecurRel, resolveDir')@@ -27,6 +26,6 @@         content <- case TE.decodeUtf8' bs of           Left err -> expectationFailure $ "Invalid UTF-8: " ++ show err           Right t -> pure t-        let (_, parsed) = parseAnsiChunks (chunk Text.empty) content+        let (_, parsed) = parseAnsiChunks noStyle content             reRendered = renderChunksText With24BitColours parsed         reRendered `shouldBe` content
test/Text/Colour/ChunkSpec.hs view
@@ -39,17 +39,19 @@                   intensity <- [minBound .. maxBound]                   pure $ Colour8 intensity terminalColour             let mColour = Nothing : map Just colour-            chunkItalic <- Nothing : map Just [minBound .. maxBound]-            chunkStrikethrough <- Nothing : map Just [minBound .. maxBound]-            chunkSwapForegroundBackground <- Nothing : map Just [minBound .. maxBound]-            chunkConcealed <- Nothing : map Just [minBound .. maxBound]-            chunkOverlined <- Nothing : map Just [minBound .. maxBound]-            chunkConsoleIntensity <- Nothing : map Just [minBound .. maxBound]-            chunkUnderlining <- Nothing : map Just [minBound .. maxBound]-            chunkBlinking <- Nothing : map Just [minBound .. maxBound]-            chunkForeground <- mColour-            chunkBackground <- mColour+            chunkStyleItalic <- Nothing : map Just [minBound .. maxBound]+            chunkStyleStrikethrough <- Nothing : map Just [minBound .. maxBound]+            chunkStyleSwapForegroundBackground <- Nothing : map Just [minBound .. maxBound]+            chunkStyleConcealed <- Nothing : map Just [minBound .. maxBound]+            chunkStyleOverlined <- Nothing : map Just [minBound .. maxBound]+            chunkStyleConsoleIntensity <- Nothing : map Just [minBound .. maxBound]+            chunkStyleUnderlining <- Nothing : map Just [minBound .. maxBound]+            chunkStyleBlinking <- Nothing : map Just [minBound .. maxBound]+            chunkStyleForeground <- mColour+            chunkStyleBackground <- mColour+            let chunkStyleHyperlink = Nothing             let chunkText = T.pack string+                chunkStyle = ChunkStyle {..}             let boolName label b = if b then label else "non-" <> label                 boolPath label b = if b then label else "no-" <> label                 consoleIntensityName :: ConsoleIntensity -> String@@ -71,19 +73,19 @@                   unwords $                     filter                       (not . null)-                      [ maybe "" (boolName "italic") chunkItalic,-                        maybe "" (boolName "strikethrough") chunkStrikethrough,-                        maybe "" (boolName "reverse") chunkSwapForegroundBackground,-                        maybe "" (boolName "concealed") chunkConcealed,-                        maybe "" (boolName "overlined") chunkOverlined,-                        maybe "" consoleIntensityName chunkConsoleIntensity,-                        maybe "" underliningName chunkUnderlining,-                        maybe "" blinkingName chunkBlinking,+                      [ maybe "" (boolName "italic") chunkStyleItalic,+                        maybe "" (boolName "strikethrough") chunkStyleStrikethrough,+                        maybe "" (boolName "reverse") chunkStyleSwapForegroundBackground,+                        maybe "" (boolName "concealed") chunkStyleConcealed,+                        maybe "" (boolName "overlined") chunkStyleOverlined,+                        maybe "" consoleIntensityName chunkStyleConsoleIntensity,+                        maybe "" underliningName chunkStyleUnderlining,+                        maybe "" blinkingName chunkStyleBlinking,                         string,                         "with",-                        mColourName chunkForeground,+                        mColourName chunkStyleForeground,                         "foreground on",-                        mColourName chunkBackground,+                        mColourName chunkStyleBackground,                         "background"                       ] @@ -107,17 +109,17 @@                     "-"                     ( filter                         (not . null)-                        [ maybe "" (boolPath "it") chunkItalic,-                          maybe "" (boolPath "st") chunkStrikethrough,-                          maybe "" (boolPath "rv") chunkSwapForegroundBackground,-                          maybe "" (boolPath "hd") chunkConcealed,-                          maybe "" (boolPath "ol") chunkOverlined,-                          maybe "" consoleIntensityPath chunkConsoleIntensity,-                          maybe "" underliningPath chunkUnderlining,-                          maybe "" blinkingPath chunkBlinking,-                          mColourPath chunkForeground,+                        [ maybe "" (boolPath "it") chunkStyleItalic,+                          maybe "" (boolPath "st") chunkStyleStrikethrough,+                          maybe "" (boolPath "rv") chunkStyleSwapForegroundBackground,+                          maybe "" (boolPath "hd") chunkStyleConcealed,+                          maybe "" (boolPath "ol") chunkStyleOverlined,+                          maybe "" consoleIntensityPath chunkStyleConsoleIntensity,+                          maybe "" underliningPath chunkStyleUnderlining,+                          maybe "" blinkingPath chunkStyleBlinking,+                          mColourPath chunkStyleForeground,                           "fg",-                          mColourPath chunkBackground,+                          mColourPath chunkStyleBackground,                           "bg"                         ]                     )@@ -132,30 +134,32 @@       let chunks string = justAFew $ do             let colour = Colour8Bit <$> [minBound .. maxBound]             let mColour = Nothing : map Just colour-            let chunkItalic = Nothing-            let chunkStrikethrough = Nothing-            let chunkSwapForegroundBackground = Nothing-            let chunkConcealed = Nothing-            let chunkOverlined = Nothing-            let chunkConsoleIntensity = Nothing-            let chunkUnderlining = Nothing-            let chunkBlinking = Nothing-            chunkForeground <- mColour-            chunkBackground <- mColour+            let chunkStyleItalic = Nothing+            let chunkStyleStrikethrough = Nothing+            let chunkStyleSwapForegroundBackground = Nothing+            let chunkStyleConcealed = Nothing+            let chunkStyleOverlined = Nothing+            let chunkStyleConsoleIntensity = Nothing+            let chunkStyleUnderlining = Nothing+            let chunkStyleBlinking = Nothing+            chunkStyleForeground <- mColour+            chunkStyleBackground <- mColour+            let chunkStyleHyperlink = Nothing             let chunkText = T.pack string+                chunkStyle = ChunkStyle {..}             let name =                   unwords-                    [ mColourName chunkForeground,+                    [ mColourName chunkStyleForeground,                       "foreground on",-                      mColourName chunkBackground,+                      mColourName chunkStyleBackground,                       "background"                     ]                 path =                   intercalate                     "-"-                    [ mColourPath chunkForeground,+                    [ mColourPath chunkStyleForeground,                       "fg",-                      mColourPath chunkBackground,+                      mColourPath chunkStyleBackground,                       "bg"                     ]                     <> ".dat"@@ -174,30 +178,32 @@                   b <- w                   pure $ Colour24Bit r g b             let mColour = Nothing : map Just colour-            let chunkItalic = Nothing-            let chunkStrikethrough = Nothing-            let chunkSwapForegroundBackground = Nothing-            let chunkConcealed = Nothing-            let chunkOverlined = Nothing-            let chunkConsoleIntensity = Nothing-            let chunkUnderlining = Nothing-            let chunkBlinking = Nothing-            chunkForeground <- mColour-            chunkBackground <- mColour+            let chunkStyleItalic = Nothing+            let chunkStyleStrikethrough = Nothing+            let chunkStyleSwapForegroundBackground = Nothing+            let chunkStyleConcealed = Nothing+            let chunkStyleOverlined = Nothing+            let chunkStyleConsoleIntensity = Nothing+            let chunkStyleUnderlining = Nothing+            let chunkStyleBlinking = Nothing+            chunkStyleForeground <- mColour+            chunkStyleBackground <- mColour+            let chunkStyleHyperlink = Nothing             let chunkText = T.pack string+                chunkStyle = ChunkStyle {..}             let name =                   unwords-                    [ mColourName chunkForeground,+                    [ mColourName chunkStyleForeground,                       "foreground on",-                      mColourName chunkBackground,+                      mColourName chunkStyleBackground,                       "background"                     ]                 path =                   intercalate                     "-"-                    [ mColourPath chunkForeground,+                    [ mColourPath chunkStyleForeground,                       "fg",-                      mColourPath chunkBackground,+                      mColourPath chunkStyleBackground,                       "bg"                     ]                     <> ".dat"