@@ -37,6 +37,8 @@ import Data.Semigroup (Semigroup (..))
37
37
#endif
38
38
import Data.Text (Text )
39
39
40
+ import Colourista.Mode (HasColourMode )
41
+
40
42
import qualified Data.Text.IO as TIO
41
43
42
44
import qualified Colourista.Pure as Colourista
@@ -46,42 +48,42 @@ import qualified Colourista.Pure as Colourista
46
48
----------------------------------------------------------------------------
47
49
48
50
-- | Print 'Text' coloured in 'Colourista.red'.
49
- redMessage :: Text -> IO ()
51
+ redMessage :: HasColourMode => Text -> IO ()
50
52
redMessage = formattedMessage [Colourista. red]
51
53
{-# INLINE redMessage #-}
52
54
53
55
-- | Print 'Text' coloured in 'Colourista.green'.
54
- greenMessage :: Text -> IO ()
56
+ greenMessage :: HasColourMode => Text -> IO ()
55
57
greenMessage = formattedMessage [Colourista. green]
56
58
{-# INLINE greenMessage #-}
57
59
58
60
-- | Print 'Text' coloured in 'Colourista.blue'.
59
- blueMessage :: Text -> IO ()
61
+ blueMessage :: HasColourMode => Text -> IO ()
60
62
blueMessage = formattedMessage [Colourista. blue]
61
63
{-# INLINE blueMessage #-}
62
64
63
65
-- | Print 'Text' coloured in 'Colourista.yellow'.
64
- yellowMessage :: Text -> IO ()
66
+ yellowMessage :: HasColourMode => Text -> IO ()
65
67
yellowMessage = formattedMessage [Colourista. yellow]
66
68
{-# INLINE yellowMessage #-}
67
69
68
70
-- | Print 'Text' coloured in 'Colourista.black'.
69
- blackMessage :: Text -> IO ()
71
+ blackMessage :: HasColourMode => Text -> IO ()
70
72
blackMessage = formattedMessage [Colourista. black]
71
73
{-# INLINE blackMessage #-}
72
74
73
75
-- | Print 'Text' coloured in 'Colourista.white'.
74
- whiteMessage :: Text -> IO ()
76
+ whiteMessage :: HasColourMode => Text -> IO ()
75
77
whiteMessage = formattedMessage [Colourista. white]
76
78
{-# INLINE whiteMessage #-}
77
79
78
80
-- | Print 'Text' coloured in 'Colourista.magenta'.
79
- magentaMessage :: Text -> IO ()
81
+ magentaMessage :: HasColourMode => Text -> IO ()
80
82
magentaMessage = formattedMessage [Colourista. magenta]
81
83
{-# INLINE magentaMessage #-}
82
84
83
85
-- | Print 'Text' coloured in 'Colourista.cyan'.
84
- cyanMessage :: Text -> IO ()
86
+ cyanMessage :: HasColourMode => Text -> IO ()
85
87
cyanMessage = formattedMessage [Colourista. cyan]
86
88
{-# INLINE cyanMessage #-}
87
89
@@ -93,39 +95,39 @@ cyanMessage = formattedMessage [Colourista.cyan]
93
95
94
96
<<https://user-images.githubusercontent.com/4276606/80867598-dbd99000-8c8c-11ea-9fac-81a1a606d8d8.png Success message>>
95
97
-}
96
- successMessage :: Text -> IO ()
98
+ successMessage :: HasColourMode => Text -> IO ()
97
99
successMessage t = greenMessage $ " ✔ " <> t
98
100
{-# INLINE successMessage #-}
99
101
100
102
{- | Similar to 'blueMessage', but add unicode indicator.
101
103
102
104
<<https://user-images.githubusercontent.com/4276606/80867597-db40f980-8c8c-11ea-9775-e8a3c4a7aaa2.png Information message>>
103
105
-}
104
- infoMessage :: Text -> IO ()
106
+ infoMessage :: HasColourMode => Text -> IO ()
105
107
infoMessage t = blueMessage $ " ⓘ " <> t
106
108
{-# INLINE infoMessage #-}
107
109
108
110
{- | Similar to 'cyanMessage', but add unicode indicator.
109
111
110
112
<<https://user-images.githubusercontent.com/4276606/80867596-db40f980-8c8c-11ea-8131-9c7cba32a4fd.png Skip message>>
111
113
-}
112
- skipMessage :: Text -> IO ()
114
+ skipMessage :: HasColourMode => Text -> IO ()
113
115
skipMessage t = cyanMessage $ " ▶ " <> t
114
116
{-# INLINE skipMessage #-}
115
117
116
118
{- | Similar to 'yellowMessage', but add unicode indicator.
117
119
118
120
<<https://user-images.githubusercontent.com/4276606/80867594-daa86300-8c8c-11ea-9c6a-a42b634a1e4b.png Warning message>>
119
121
-}
120
- warningMessage :: Text -> IO ()
122
+ warningMessage :: HasColourMode => Text -> IO ()
121
123
warningMessage t = yellowMessage $ " ⚠ " <> t
122
124
{-# INLINE warningMessage #-}
123
125
124
126
{- | Similar to 'redMessage', but add unicode indicator.
125
127
126
128
<<https://user-images.githubusercontent.com/4276606/80867592-da0fcc80-8c8c-11ea-90e0-42aae8770c18.png Error message>>
127
129
-}
128
- errorMessage :: Text -> IO ()
130
+ errorMessage :: HasColourMode => Text -> IO ()
129
131
errorMessage t = redMessage $ " \128721 " <> t
130
132
{-# INLINE errorMessage #-}
131
133
@@ -134,12 +136,12 @@ errorMessage t = redMessage $ " \128721 " <> t
134
136
----------------------------------------------------------------------------
135
137
136
138
-- | Print 'Text' emphasized with 'Colourista.bold'.
137
- boldMessage :: Text -> IO ()
139
+ boldMessage :: HasColourMode => Text -> IO ()
138
140
boldMessage = formattedMessage [Colourista. bold]
139
141
{-# INLINE boldMessage #-}
140
142
141
143
-- | Print 'Text' emphasized with 'Colourista.italic'.
142
- italicMessage :: Text -> IO ()
144
+ italicMessage :: HasColourMode => Text -> IO ()
143
145
italicMessage = formattedMessage [Colourista. italic]
144
146
{-# INLINE italicMessage #-}
145
147
@@ -153,6 +155,6 @@ list, no formatting is applied.
153
155
154
156

155
157
-}
156
- formattedMessage :: [Text ] -> Text -> IO ()
158
+ formattedMessage :: HasColourMode => [Text ] -> Text -> IO ()
157
159
formattedMessage formatting = TIO. putStrLn . Colourista. formatWith formatting
158
160
{-# INLINE formattedMessage #-}
0 commit comments