on master help sign in
Merge pull request #173 from cjenn/colornote
3ce0db6Jonathan Daugherty
src/Graphics/Vty/Attributes.hs+3−6
@@ -30,7 +30,9 @@
30-- The value 'currentAttr' will keep the attributes of whatever was
30-- The value 'currentAttr' will keep the attributes of whatever was
31-- output previously.
31-- output previously.
32module Graphics.Vty.Attributes
32module Graphics.Vty.Attributes
33+ ( module Graphics.Vty.Attributes.Color
34+
33− ( Attr(..)
35+ , Attr(..)
34 , FixedAttr(..)
36 , FixedAttr(..)
35 , MaybeDefault(..)
37 , MaybeDefault(..)
36 , defAttr
38 , defAttr
@@ -56,10 +58,6 @@ module Graphics.Vty.Attributes
56
58
57 -- * Setting hyperlinks
59 -- * Setting hyperlinks
58 , withURL
60 , withURL
59−
60− -- * Colors
61− , module Graphics.Vty.Attributes.Color
62− , module Graphics.Vty.Attributes.Color240
63 )
61 )
64where
62where
65
63
@@ -73,7 +71,6 @@ import Data.Word
73import GHC.Generics
71import GHC.Generics
74
72
75import Graphics.Vty.Attributes.Color
73import Graphics.Vty.Attributes.Color
76−import Graphics.Vty.Attributes.Color240
77
74
78-- | A display attribute defines the Color and Style of all the
75-- | A display attribute defines the Color and Style of all the
79-- characters rendered after the attribute is applied.
76-- characters rendered after the attribute is applied.
src/Graphics/Vty/Attributes/Color.hs+25−2
@@ -1,7 +1,18 @@
1{-# LANGUAGE DeriveGeneric #-}
1{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveAnyClass #-}
2{-# LANGUAGE DeriveAnyClass #-}
3+
3module Graphics.Vty.Attributes.Color
4module Graphics.Vty.Attributes.Color
4 ( Color(..)
5 ( Color(..)
6+
7+ -- ** Fixed Colors
8+ -- | Standard 8-color ANSI terminal color codes.
9+ --
10+ -- Note that these map to colors in the terminal's custom palette. For
11+ -- instance, `white` maps to whatever the terminal color theme uses for
12+ -- white.
13+ --
14+ -- Use these functions if you want to make apps that fit the terminal theme.
15+ -- If you want access to more/stronger colors use `rgbColor`
5 , black
16 , black
6 , red
17 , red
7 , green
18 , green
@@ -10,6 +21,8 @@ module Graphics.Vty.Attributes.Color
10 , magenta
21 , magenta
11 , cyan
22 , cyan
12 , white
23 , white
24+
25+ -- | Bright/Vivid variants of the standard 8-color ANSI
13 , brightBlack
26 , brightBlack
14 , brightRed
27 , brightRed
15 , brightGreen
28 , brightGreen
@@ -18,6 +31,9 @@ module Graphics.Vty.Attributes.Color
18 , brightMagenta
31 , brightMagenta
19 , brightCyan
32 , brightCyan
20 , brightWhite
33 , brightWhite
34+ -- ** Creating Colors From RGB
35+ , rgbColor
36+ , module Graphics.Vty.Attributes.Color240
21 )
37 )
22where
38where
23
39
@@ -25,6 +41,8 @@ import Data.Word
25import GHC.Generics
41import GHC.Generics
26import Control.DeepSeq
42import Control.DeepSeq
27
43
44+import Graphics.Vty.Attributes.Color240
45+
28-- | Abstract data type representing a color.
46-- | Abstract data type representing a color.
29--
47--
30-- Currently the foreground and background color are specified as points
48-- Currently the foreground and background color are specified as points
@@ -80,7 +98,6 @@ import Control.DeepSeq
80data Color = ISOColor !Word8 | Color240 !Word8
98data Color = ISOColor !Word8 | Color240 !Word8
81 deriving ( Eq, Show, Read, Generic, NFData )
99 deriving ( Eq, Show, Read, Generic, NFData )
82
100
83−-- | Standard 8-color ANSI terminal color codes.
84black, red, green, yellow, blue, magenta, cyan, white :: Color
101black, red, green, yellow, blue, magenta, cyan, white :: Color
85black = ISOColor 0
102black = ISOColor 0
86red = ISOColor 1
103red = ISOColor 1
@@ -91,7 +108,6 @@ magenta= ISOColor 5
91cyan = ISOColor 6
108cyan = ISOColor 6
92white = ISOColor 7
109white = ISOColor 7
93
110
94−-- | Bright/Vivid variants of the standard 8-color ANSI
95brightBlack, brightRed, brightGreen, brightYellow :: Color
111brightBlack, brightRed, brightGreen, brightYellow :: Color
96brightBlue, brightMagenta, brightCyan, brightWhite :: Color
112brightBlue, brightMagenta, brightCyan, brightWhite :: Color
97brightBlack = ISOColor 8
113brightBlack = ISOColor 8
@@ -102,3 +118,10 @@ brightBlue = ISOColor 12
102brightMagenta= ISOColor 13
118brightMagenta= ISOColor 13
103brightCyan = ISOColor 14
119brightCyan = ISOColor 14
104brightWhite = ISOColor 15
120brightWhite = ISOColor 15
121+
122+
123+-- | Create a Vty 'Color' (in the 240 color set) from an RGB triple.
124+-- This function is lossy in the sense that we only internally support 240 colors but the
125+-- #RRGGBB format supports 16^3 colors.
126+rgbColor :: Integral i => i -> i -> i -> Color
127+rgbColor r g b = Color240 (rgbColorToColor240 r g b)
src/Graphics/Vty/Attributes/Color240.hs+244−248
@@ -1,264 +1,260 @@
1-- This header file was generated by ./256colres.pl
1-- This header file was generated by ./256colres.pl
2module Graphics.Vty.Attributes.Color240
2module Graphics.Vty.Attributes.Color240
3− ( rgbColor
3+ ( rgbColorToColor240
4 , color240CodeToRGB
4 , color240CodeToRGB
5 )
5 )
6where
6where
7
7
8−import Graphics.Vty.Attributes.Color
9−
10import Data.Word (Word8)
8import Data.Word (Word8)
11import Text.Printf
9import Text.Printf
12
10
13-- Note: rgbColor's mapping from RGB to 240 colors was generated from
11-- Note: rgbColor's mapping from RGB to 240 colors was generated from
14-- 256colres.pl which is forked from xterm 256colres.pl.
12-- 256colres.pl which is forked from xterm 256colres.pl.
15
13
16−-- | Create a Vty 'Color' (in the 240 color set) from an RGB triple.
14+-- | Create a value in the Color240 set from an RGB triple
17−-- This function is lossy in the sense that we only internally support 240 colors but the
18−-- #RRGGBB format supports 16^3 colors.
19−rgbColor :: Integral i => i -> i -> i -> Color
15+rgbColorToColor240 :: Integral i => i -> i -> i -> Word8
20−rgbColor r g b
16+rgbColorToColor240 r g b
21 | r < 0 && g < 0 && b < 0 = error "rgbColor with negative color component intensity"
17 | r < 0 && g < 0 && b < 0 = error "rgbColor with negative color component intensity"
22− | r == 8 && g == 8 && b == 8 = Color240 216
18+ | r == 8 && g == 8 && b == 8 = 216
23− | r == 18 && g == 18 && b == 18 = Color240 217
19+ | r == 18 && g == 18 && b == 18 = 217
24− | r == 28 && g == 28 && b == 28 = Color240 218
20+ | r == 28 && g == 28 && b == 28 = 218
25− | r == 38 && g == 38 && b == 38 = Color240 219
21+ | r == 38 && g == 38 && b == 38 = 219
26− | r == 48 && g == 48 && b == 48 = Color240 220
22+ | r == 48 && g == 48 && b == 48 = 220
27− | r == 58 && g == 58 && b == 58 = Color240 221
23+ | r == 58 && g == 58 && b == 58 = 221
28− | r == 68 && g == 68 && b == 68 = Color240 222
24+ | r == 68 && g == 68 && b == 68 = 222
29− | r == 78 && g == 78 && b == 78 = Color240 223
25+ | r == 78 && g == 78 && b == 78 = 223
30− | r == 88 && g == 88 && b == 88 = Color240 224
26+ | r == 88 && g == 88 && b == 88 = 224
31− | r == 98 && g == 98 && b == 98 = Color240 225
27+ | r == 98 && g == 98 && b == 98 = 225
32− | r == 108 && g == 108 && b == 108 = Color240 226
28+ | r == 108 && g == 108 && b == 108 = 226
33− | r == 118 && g == 118 && b == 118 = Color240 227
29+ | r == 118 && g == 118 && b == 118 = 227
34− | r == 128 && g == 128 && b == 128 = Color240 228
30+ | r == 128 && g == 128 && b == 128 = 228
35− | r == 138 && g == 138 && b == 138 = Color240 229
31+ | r == 138 && g == 138 && b == 138 = 229
36− | r == 148 && g == 148 && b == 148 = Color240 230
32+ | r == 148 && g == 148 && b == 148 = 230
37− | r == 158 && g == 158 && b == 158 = Color240 231
33+ | r == 158 && g == 158 && b == 158 = 231
38− | r == 168 && g == 168 && b == 168 = Color240 232
34+ | r == 168 && g == 168 && b == 168 = 232
39− | r == 178 && g == 178 && b == 178 = Color240 233
35+ | r == 178 && g == 178 && b == 178 = 233
40− | r == 188 && g == 188 && b == 188 = Color240 234
36+ | r == 188 && g == 188 && b == 188 = 234
41− | r == 198 && g == 198 && b == 198 = Color240 235
37+ | r == 198 && g == 198 && b == 198 = 235
42− | r == 208 && g == 208 && b == 208 = Color240 236
38+ | r == 208 && g == 208 && b == 208 = 236
43− | r == 218 && g == 218 && b == 218 = Color240 237
39+ | r == 218 && g == 218 && b == 218 = 237
44− | r == 228 && g == 228 && b == 228 = Color240 238
40+ | r == 228 && g == 228 && b == 228 = 238
45− | r == 238 && g == 238 && b == 238 = Color240 239
41+ | r == 238 && g == 238 && b == 238 = 239
46− | r <= 0 && g <= 0 && b <= 0 = Color240 0
42+ | r <= 0 && g <= 0 && b <= 0 = 0
47− | r <= 0 && g <= 0 && b <= 95 = Color240 1
43+ | r <= 0 && g <= 0 && b <= 95 = 1
48− | r <= 0 && g <= 0 && b <= 135 = Color240 2
44+ | r <= 0 && g <= 0 && b <= 135 = 2
49− | r <= 0 && g <= 0 && b <= 175 = Color240 3
45+ | r <= 0 && g <= 0 && b <= 175 = 3
50− | r <= 0 && g <= 0 && b <= 215 = Color240 4
46+ | r <= 0 && g <= 0 && b <= 215 = 4
51− | r <= 0 && g <= 0 && b <= 255 = Color240 5
47+ | r <= 0 && g <= 0 && b <= 255 = 5
52− | r <= 0 && g <= 95 && b <= 0 = Color240 6
48+ | r <= 0 && g <= 95 && b <= 0 = 6
53− | r <= 0 && g <= 95 && b <= 95 = Color240 7
49+ | r <= 0 && g <= 95 && b <= 95 = 7
54− | r <= 0 && g <= 95 && b <= 135 = Color240 8
50+ | r <= 0 && g <= 95 && b <= 135 = 8
55− | r <= 0 && g <= 95 && b <= 175 = Color240 9
51+ | r <= 0 && g <= 95 && b <= 175 = 9
56− | r <= 0 && g <= 95 && b <= 215 = Color240 10
52+ | r <= 0 && g <= 95 && b <= 215 = 10
57− | r <= 0 && g <= 95 && b <= 255 = Color240 11
53+ | r <= 0 && g <= 95 && b <= 255 = 11
58− | r <= 0 && g <= 135 && b <= 0 = Color240 12
54+ | r <= 0 && g <= 135 && b <= 0 = 12
59− | r <= 0 && g <= 135 && b <= 95 = Color240 13
55+ | r <= 0 && g <= 135 && b <= 95 = 13
60− | r <= 0 && g <= 135 && b <= 135 = Color240 14
56+ | r <= 0 && g <= 135 && b <= 135 = 14
61− | r <= 0 && g <= 135 && b <= 175 = Color240 15
57+ | r <= 0 && g <= 135 && b <= 175 = 15
62− | r <= 0 && g <= 135 && b <= 215 = Color240 16
58+ | r <= 0 && g <= 135 && b <= 215 = 16
63− | r <= 0 && g <= 135 && b <= 255 = Color240 17
59+ | r <= 0 && g <= 135 && b <= 255 = 17
64− | r <= 0 && g <= 175 && b <= 0 = Color240 18
60+ | r <= 0 && g <= 175 && b <= 0 = 18
65− | r <= 0 && g <= 175 && b <= 95 = Color240 19
61+ | r <= 0 && g <= 175 && b <= 95 = 19
66− | r <= 0 && g <= 175 && b <= 135 = Color240 20
62+ | r <= 0 && g <= 175 && b <= 135 = 20
67− | r <= 0 && g <= 175 && b <= 175 = Color240 21
63+ | r <= 0 && g <= 175 && b <= 175 = 21
68− | r <= 0 && g <= 175 && b <= 215 = Color240 22
64+ | r <= 0 && g <= 175 && b <= 215 = 22
69− | r <= 0 && g <= 175 && b <= 255 = Color240 23
65+ | r <= 0 && g <= 175 && b <= 255 = 23
70− | r <= 0 && g <= 215 && b <= 0 = Color240 24
66+ | r <= 0 && g <= 215 && b <= 0 = 24
71− | r <= 0 && g <= 215 && b <= 95 = Color240 25
67+ | r <= 0 && g <= 215 && b <= 95 = 25
72− | r <= 0 && g <= 215 && b <= 135 = Color240 26
68+ | r <= 0 && g <= 215 && b <= 135 = 26
73− | r <= 0 && g <= 215 && b <= 175 = Color240 27
69+ | r <= 0 && g <= 215 && b <= 175 = 27
74− | r <= 0 && g <= 215 && b <= 215 = Color240 28
70+ | r <= 0 && g <= 215 && b <= 215 = 28
75− | r <= 0 && g <= 215 && b <= 255 = Color240 29
71+ | r <= 0 && g <= 215 && b <= 255 = 29
76− | r <= 0 && g <= 255 && b <= 0 = Color240 30
72+ | r <= 0 && g <= 255 && b <= 0 = 30
77− | r <= 0 && g <= 255 && b <= 95 = Color240 31
73+ | r <= 0 && g <= 255 && b <= 95 = 31
78− | r <= 0 && g <= 255 && b <= 135 = Color240 32
74+ | r <= 0 && g <= 255 && b <= 135 = 32
79− | r <= 0 && g <= 255 && b <= 175 = Color240 33
75+ | r <= 0 && g <= 255 && b <= 175 = 33
80− | r <= 0 && g <= 255 && b <= 215 = Color240 34
76+ | r <= 0 && g <= 255 && b <= 215 = 34
81− | r <= 0 && g <= 255 && b <= 255 = Color240 35
77+ | r <= 0 && g <= 255 && b <= 255 = 35
82− | r <= 95 && g <= 0 && b <= 0 = Color240 36
78+ | r <= 95 && g <= 0 && b <= 0 = 36
83− | r <= 95 && g <= 0 && b <= 95 = Color240 37
79+ | r <= 95 && g <= 0 && b <= 95 = 37
84− | r <= 95 && g <= 0 && b <= 135 = Color240 38
80+ | r <= 95 && g <= 0 && b <= 135 = 38
85− | r <= 95 && g <= 0 && b <= 175 = Color240 39
81+ | r <= 95 && g <= 0 && b <= 175 = 39
86− | r <= 95 && g <= 0 && b <= 215 = Color240 40
82+ | r <= 95 && g <= 0 && b <= 215 = 40
87− | r <= 95 && g <= 0 && b <= 255 = Color240 41
83+ | r <= 95 && g <= 0 && b <= 255 = 41
88− | r <= 95 && g <= 95 && b <= 0 = Color240 42
84+ | r <= 95 && g <= 95 && b <= 0 = 42
89− | r <= 95 && g <= 95 && b <= 95 = Color240 43
85+ | r <= 95 && g <= 95 && b <= 95 = 43
90− | r <= 95 && g <= 95 && b <= 135 = Color240 44
86+ | r <= 95 && g <= 95 && b <= 135 = 44
91− | r <= 95 && g <= 95 && b <= 175 = Color240 45
87+ | r <= 95 && g <= 95 && b <= 175 = 45
92− | r <= 95 && g <= 95 && b <= 215 = Color240 46
88+ | r <= 95 && g <= 95 && b <= 215 = 46
93− | r <= 95 && g <= 95 && b <= 255 = Color240 47
89+ | r <= 95 && g <= 95 && b <= 255 = 47
94− | r <= 95 && g <= 135 && b <= 0 = Color240 48
90+ | r <= 95 && g <= 135 && b <= 0 = 48
95− | r <= 95 && g <= 135 && b <= 95 = Color240 49
91+ | r <= 95 && g <= 135 && b <= 95 = 49
96− | r <= 95 && g <= 135 && b <= 135 = Color240 50
92+ | r <= 95 && g <= 135 && b <= 135 = 50
97− | r <= 95 && g <= 135 && b <= 175 = Color240 51
93+ | r <= 95 && g <= 135 && b <= 175 = 51
98− | r <= 95 && g <= 135 && b <= 215 = Color240 52
94+ | r <= 95 && g <= 135 && b <= 215 = 52
99− | r <= 95 && g <= 135 && b <= 255 = Color240 53
95+ | r <= 95 && g <= 135 && b <= 255 = 53
100− | r <= 95 && g <= 175 && b <= 0 = Color240 54
96+ | r <= 95 && g <= 175 && b <= 0 = 54
101− | r <= 95 && g <= 175 && b <= 95 = Color240 55
97+ | r <= 95 && g <= 175 && b <= 95 = 55
102− | r <= 95 && g <= 175 && b <= 135 = Color240 56
98+ | r <= 95 && g <= 175 && b <= 135 = 56
103− | r <= 95 && g <= 175 && b <= 175 = Color240 57
99+ | r <= 95 && g <= 175 && b <= 175 = 57
104− | r <= 95 && g <= 175 && b <= 215 = Color240 58
100+ | r <= 95 && g <= 175 && b <= 215 = 58
105− | r <= 95 && g <= 175 && b <= 255 = Color240 59
101+ | r <= 95 && g <= 175 && b <= 255 = 59
106− | r <= 95 && g <= 215 && b <= 0 = Color240 60
102+ | r <= 95 && g <= 215 && b <= 0 = 60
107− | r <= 95 && g <= 215 && b <= 95 = Color240 61
103+ | r <= 95 && g <= 215 && b <= 95 = 61
108− | r <= 95 && g <= 215 && b <= 135 = Color240 62
104+ | r <= 95 && g <= 215 && b <= 135 = 62
109− | r <= 95 && g <= 215 && b <= 175 = Color240 63
105+ | r <= 95 && g <= 215 && b <= 175 = 63
110− | r <= 95 && g <= 215 && b <= 215 = Color240 64
106+ | r <= 95 && g <= 215 && b <= 215 = 64
111− | r <= 95 && g <= 215 && b <= 255 = Color240 65
107+ | r <= 95 && g <= 215 && b <= 255 = 65
112− | r <= 95 && g <= 255 && b <= 0 = Color240 66
108+ | r <= 95 && g <= 255 && b <= 0 = 66
113− | r <= 95 && g <= 255 && b <= 95 = Color240 67
109+ | r <= 95 && g <= 255 && b <= 95 = 67
114− | r <= 95 && g <= 255 && b <= 135 = Color240 68
110+ | r <= 95 && g <= 255 && b <= 135 = 68
115− | r <= 95 && g <= 255 && b <= 175 = Color240 69
111+ | r <= 95 && g <= 255 && b <= 175 = 69
116− | r <= 95 && g <= 255 && b <= 215 = Color240 70
112+ | r <= 95 && g <= 255 && b <= 215 = 70
117− | r <= 95 && g <= 255 && b <= 255 = Color240 71
113+ | r <= 95 && g <= 255 && b <= 255 = 71
118− | r <= 135 && g <= 0 && b <= 0 = Color240 72
114+ | r <= 135 && g <= 0 && b <= 0 = 72
119− | r <= 135 && g <= 0 && b <= 95 = Color240 73
115+ | r <= 135 && g <= 0 && b <= 95 = 73
120− | r <= 135 && g <= 0 && b <= 135 = Color240 74
116+ | r <= 135 && g <= 0 && b <= 135 = 74
121− | r <= 135 && g <= 0 && b <= 175 = Color240 75
117+ | r <= 135 && g <= 0 && b <= 175 = 75
122− | r <= 135 && g <= 0 && b <= 215 = Color240 76
118+ | r <= 135 && g <= 0 && b <= 215 = 76
123− | r <= 135 && g <= 0 && b <= 255 = Color240 77
119+ | r <= 135 && g <= 0 && b <= 255 = 77
124− | r <= 135 && g <= 95 && b <= 0 = Color240 78
120+ | r <= 135 && g <= 95 && b <= 0 = 78
125− | r <= 135 && g <= 95 && b <= 95 = Color240 79
121+ | r <= 135 && g <= 95 && b <= 95 = 79
126− | r <= 135 && g <= 95 && b <= 135 = Color240 80
122+ | r <= 135 && g <= 95 && b <= 135 = 80
127− | r <= 135 && g <= 95 && b <= 175 = Color240 81
123+ | r <= 135 && g <= 95 && b <= 175 = 81
128− | r <= 135 && g <= 95 && b <= 215 = Color240 82
124+ | r <= 135 && g <= 95 && b <= 215 = 82
129− | r <= 135 && g <= 95 && b <= 255 = Color240 83
125+ | r <= 135 && g <= 95 && b <= 255 = 83
130− | r <= 135 && g <= 135 && b <= 0 = Color240 84
126+ | r <= 135 && g <= 135 && b <= 0 = 84
131− | r <= 135 && g <= 135 && b <= 95 = Color240 85
127+ | r <= 135 && g <= 135 && b <= 95 = 85
132− | r <= 135 && g <= 135 && b <= 135 = Color240 86
128+ | r <= 135 && g <= 135 && b <= 135 = 86
133− | r <= 135 && g <= 135 && b <= 175 = Color240 87
129+ | r <= 135 && g <= 135 && b <= 175 = 87
134− | r <= 135 && g <= 135 && b <= 215 = Color240 88
130+ | r <= 135 && g <= 135 && b <= 215 = 88
135− | r <= 135 && g <= 135 && b <= 255 = Color240 89
131+ | r <= 135 && g <= 135 && b <= 255 = 89
136− | r <= 135 && g <= 175 && b <= 0 = Color240 90
132+ | r <= 135 && g <= 175 && b <= 0 = 90
137− | r <= 135 && g <= 175 && b <= 95 = Color240 91
133+ | r <= 135 && g <= 175 && b <= 95 = 91
138− | r <= 135 && g <= 175 && b <= 135 = Color240 92
134+ | r <= 135 && g <= 175 && b <= 135 = 92
139− | r <= 135 && g <= 175 && b <= 175 = Color240 93
135+ | r <= 135 && g <= 175 && b <= 175 = 93
140− | r <= 135 && g <= 175 && b <= 215 = Color240 94
136+ | r <= 135 && g <= 175 && b <= 215 = 94
141− | r <= 135 && g <= 175 && b <= 255 = Color240 95
137+ | r <= 135 && g <= 175 && b <= 255 = 95
142− | r <= 135 && g <= 215 && b <= 0 = Color240 96
138+ | r <= 135 && g <= 215 && b <= 0 = 96
143− | r <= 135 && g <= 215 && b <= 95 = Color240 97
139+ | r <= 135 && g <= 215 && b <= 95 = 97
144− | r <= 135 && g <= 215 && b <= 135 = Color240 98
140+ | r <= 135 && g <= 215 && b <= 135 = 98
145− | r <= 135 && g <= 215 && b <= 175 = Color240 99
141+ | r <= 135 && g <= 215 && b <= 175 = 99
146− | r <= 135 && g <= 215 && b <= 215 = Color240 100
142+ | r <= 135 && g <= 215 && b <= 215 = 100
147− | r <= 135 && g <= 215 && b <= 255 = Color240 101
143+ | r <= 135 && g <= 215 && b <= 255 = 101
148− | r <= 135 && g <= 255 && b <= 0 = Color240 102
144+ | r <= 135 && g <= 255 && b <= 0 = 102
149− | r <= 135 && g <= 255 && b <= 95 = Color240 103
145+ | r <= 135 && g <= 255 && b <= 95 = 103
150− | r <= 135 && g <= 255 && b <= 135 = Color240 104
146+ | r <= 135 && g <= 255 && b <= 135 = 104
151− | r <= 135 && g <= 255 && b <= 175 = Color240 105
147+ | r <= 135 && g <= 255 && b <= 175 = 105
152− | r <= 135 && g <= 255 && b <= 215 = Color240 106
148+ | r <= 135 && g <= 255 && b <= 215 = 106
153− | r <= 135 && g <= 255 && b <= 255 = Color240 107
149+ | r <= 135 && g <= 255 && b <= 255 = 107
154− | r <= 175 && g <= 0 && b <= 0 = Color240 108
150+ | r <= 175 && g <= 0 && b <= 0 = 108
155− | r <= 175 && g <= 0 && b <= 95 = Color240 109
151+ | r <= 175 && g <= 0 && b <= 95 = 109
156− | r <= 175 && g <= 0 && b <= 135 = Color240 110
152+ | r <= 175 && g <= 0 && b <= 135 = 110
157− | r <= 175 && g <= 0 && b <= 175 = Color240 111
153+ | r <= 175 && g <= 0 && b <= 175 = 111
158− | r <= 175 && g <= 0 && b <= 215 = Color240 112
154+ | r <= 175 && g <= 0 && b <= 215 = 112
159− | r <= 175 && g <= 0 && b <= 255 = Color240 113
155+ | r <= 175 && g <= 0 && b <= 255 = 113
160− | r <= 175 && g <= 95 && b <= 0 = Color240 114
156+ | r <= 175 && g <= 95 && b <= 0 = 114
161− | r <= 175 && g <= 95 && b <= 95 = Color240 115
157+ | r <= 175 && g <= 95 && b <= 95 = 115
162− | r <= 175 && g <= 95 && b <= 135 = Color240 116
158+ | r <= 175 && g <= 95 && b <= 135 = 116
163− | r <= 175 && g <= 95 && b <= 175 = Color240 117
159+ | r <= 175 && g <= 95 && b <= 175 = 117
164− | r <= 175 && g <= 95 && b <= 215 = Color240 118
160+ | r <= 175 && g <= 95 && b <= 215 = 118
165− | r <= 175 && g <= 95 && b <= 255 = Color240 119
161+ | r <= 175 && g <= 95 && b <= 255 = 119
166− | r <= 175 && g <= 135 && b <= 0 = Color240 120
162+ | r <= 175 && g <= 135 && b <= 0 = 120
167− | r <= 175 && g <= 135 && b <= 95 = Color240 121
163+ | r <= 175 && g <= 135 && b <= 95 = 121
168− | r <= 175 && g <= 135 && b <= 135 = Color240 122
164+ | r <= 175 && g <= 135 && b <= 135 = 122
169− | r <= 175 && g <= 135 && b <= 175 = Color240 123
165+ | r <= 175 && g <= 135 && b <= 175 = 123
170− | r <= 175 && g <= 135 && b <= 215 = Color240 124
166+ | r <= 175 && g <= 135 && b <= 215 = 124
171− | r <= 175 && g <= 135 && b <= 255 = Color240 125
167+ | r <= 175 && g <= 135 && b <= 255 = 125
172− | r <= 175 && g <= 175 && b <= 0 = Color240 126
168+ | r <= 175 && g <= 175 && b <= 0 = 126
173− | r <= 175 && g <= 175 && b <= 95 = Color240 127
169+ | r <= 175 && g <= 175 && b <= 95 = 127
174− | r <= 175 && g <= 175 && b <= 135 = Color240 128
170+ | r <= 175 && g <= 175 && b <= 135 = 128
175− | r <= 175 && g <= 175 && b <= 175 = Color240 129
171+ | r <= 175 && g <= 175 && b <= 175 = 129
176− | r <= 175 && g <= 175 && b <= 215 = Color240 130
172+ | r <= 175 && g <= 175 && b <= 215 = 130
177− | r <= 175 && g <= 175 && b <= 255 = Color240 131
173+ | r <= 175 && g <= 175 && b <= 255 = 131
178− | r <= 175 && g <= 215 && b <= 0 = Color240 132
174+ | r <= 175 && g <= 215 && b <= 0 = 132
179− | r <= 175 && g <= 215 && b <= 95 = Color240 133
175+ | r <= 175 && g <= 215 && b <= 95 = 133
180− | r <= 175 && g <= 215 && b <= 135 = Color240 134
176+ | r <= 175 && g <= 215 && b <= 135 = 134
181− | r <= 175 && g <= 215 && b <= 175 = Color240 135
177+ | r <= 175 && g <= 215 && b <= 175 = 135
182− | r <= 175 && g <= 215 && b <= 215 = Color240 136
178+ | r <= 175 && g <= 215 && b <= 215 = 136
183− | r <= 175 && g <= 215 && b <= 255 = Color240 137
179+ | r <= 175 && g <= 215 && b <= 255 = 137
184− | r <= 175 && g <= 255 && b <= 0 = Color240 138
180+ | r <= 175 && g <= 255 && b <= 0 = 138
185− | r <= 175 && g <= 255 && b <= 95 = Color240 139
181+ | r <= 175 && g <= 255 && b <= 95 = 139
186− | r <= 175 && g <= 255 && b <= 135 = Color240 140
182+ | r <= 175 && g <= 255 && b <= 135 = 140
187− | r <= 175 && g <= 255 && b <= 175 = Color240 141
183+ | r <= 175 && g <= 255 && b <= 175 = 141
188− | r <= 175 && g <= 255 && b <= 215 = Color240 142
184+ | r <= 175 && g <= 255 && b <= 215 = 142
189− | r <= 175 && g <= 255 && b <= 255 = Color240 143
185+ | r <= 175 && g <= 255 && b <= 255 = 143
190− | r <= 215 && g <= 0 && b <= 0 = Color240 144
186+ | r <= 215 && g <= 0 && b <= 0 = 144
191− | r <= 215 && g <= 0 && b <= 95 = Color240 145
187+ | r <= 215 && g <= 0 && b <= 95 = 145
192− | r <= 215 && g <= 0 && b <= 135 = Color240 146
188+ | r <= 215 && g <= 0 && b <= 135 = 146
193− | r <= 215 && g <= 0 && b <= 175 = Color240 147
189+ | r <= 215 && g <= 0 && b <= 175 = 147
194− | r <= 215 && g <= 0 && b <= 215 = Color240 148
190+ | r <= 215 && g <= 0 && b <= 215 = 148
195− | r <= 215 && g <= 0 && b <= 255 = Color240 149
191+ | r <= 215 && g <= 0 && b <= 255 = 149
196− | r <= 215 && g <= 95 && b <= 0 = Color240 150
192+ | r <= 215 && g <= 95 && b <= 0 = 150
197− | r <= 215 && g <= 95 && b <= 95 = Color240 151
193+ | r <= 215 && g <= 95 && b <= 95 = 151
198− | r <= 215 && g <= 95 && b <= 135 = Color240 152
194+ | r <= 215 && g <= 95 && b <= 135 = 152
199− | r <= 215 && g <= 95 && b <= 175 = Color240 153
195+ | r <= 215 && g <= 95 && b <= 175 = 153
200− | r <= 215 && g <= 95 && b <= 215 = Color240 154
196+ | r <= 215 && g <= 95 && b <= 215 = 154
201− | r <= 215 && g <= 95 && b <= 255 = Color240 155
197+ | r <= 215 && g <= 95 && b <= 255 = 155
202− | r <= 215 && g <= 135 && b <= 0 = Color240 156
198+ | r <= 215 && g <= 135 && b <= 0 = 156
203− | r <= 215 && g <= 135 && b <= 95 = Color240 157
199+ | r <= 215 && g <= 135 && b <= 95 = 157
204− | r <= 215 && g <= 135 && b <= 135 = Color240 158
200+ | r <= 215 && g <= 135 && b <= 135 = 158
205− | r <= 215 && g <= 135 && b <= 175 = Color240 159
201+ | r <= 215 && g <= 135 && b <= 175 = 159
206− | r <= 215 && g <= 135 && b <= 215 = Color240 160
202+ | r <= 215 && g <= 135 && b <= 215 = 160
207− | r <= 215 && g <= 135 && b <= 255 = Color240 161
203+ | r <= 215 && g <= 135 && b <= 255 = 161
208− | r <= 215 && g <= 175 && b <= 0 = Color240 162
204+ | r <= 215 && g <= 175 && b <= 0 = 162
209− | r <= 215 && g <= 175 && b <= 95 = Color240 163
205+ | r <= 215 && g <= 175 && b <= 95 = 163
210− | r <= 215 && g <= 175 && b <= 135 = Color240 164
206+ | r <= 215 && g <= 175 && b <= 135 = 164
211− | r <= 215 && g <= 175 && b <= 175 = Color240 165
207+ | r <= 215 && g <= 175 && b <= 175 = 165
212− | r <= 215 && g <= 175 && b <= 215 = Color240 166
208+ | r <= 215 && g <= 175 && b <= 215 = 166
213− | r <= 215 && g <= 175 && b <= 255 = Color240 167
209+ | r <= 215 && g <= 175 && b <= 255 = 167
214− | r <= 215 && g <= 215 && b <= 0 = Color240 168
210+ | r <= 215 && g <= 215 && b <= 0 = 168
215− | r <= 215 && g <= 215 && b <= 95 = Color240 169
211+ | r <= 215 && g <= 215 && b <= 95 = 169
216− | r <= 215 && g <= 215 && b <= 135 = Color240 170
212+ | r <= 215 && g <= 215 && b <= 135 = 170
217− | r <= 215 && g <= 215 && b <= 175 = Color240 171
213+ | r <= 215 && g <= 215 && b <= 175 = 171
218− | r <= 215 && g <= 215 && b <= 215 = Color240 172
214+ | r <= 215 && g <= 215 && b <= 215 = 172
219− | r <= 215 && g <= 215 && b <= 255 = Color240 173
215+ | r <= 215 && g <= 215 && b <= 255 = 173
220− | r <= 215 && g <= 255 && b <= 0 = Color240 174
216+ | r <= 215 && g <= 255 && b <= 0 = 174
221− | r <= 215 && g <= 255 && b <= 95 = Color240 175
217+ | r <= 215 && g <= 255 && b <= 95 = 175
222− | r <= 215 && g <= 255 && b <= 135 = Color240 176
218+ | r <= 215 && g <= 255 && b <= 135 = 176
223− | r <= 215 && g <= 255 && b <= 175 = Color240 177
219+ | r <= 215 && g <= 255 && b <= 175 = 177
224− | r <= 215 && g <= 255 && b <= 215 = Color240 178
220+ | r <= 215 && g <= 255 && b <= 215 = 178
225− | r <= 215 && g <= 255 && b <= 255 = Color240 179
221+ | r <= 215 && g <= 255 && b <= 255 = 179
226− | r <= 255 && g <= 0 && b <= 0 = Color240 180
222+ | r <= 255 && g <= 0 && b <= 0 = 180
227− | r <= 255 && g <= 0 && b <= 95 = Color240 181
223+ | r <= 255 && g <= 0 && b <= 95 = 181
228− | r <= 255 && g <= 0 && b <= 135 = Color240 182
224+ | r <= 255 && g <= 0 && b <= 135 = 182
229− | r <= 255 && g <= 0 && b <= 175 = Color240 183
225+ | r <= 255 && g <= 0 && b <= 175 = 183
230− | r <= 255 && g <= 0 && b <= 215 = Color240 184
226+ | r <= 255 && g <= 0 && b <= 215 = 184
231− | r <= 255 && g <= 0 && b <= 255 = Color240 185
227+ | r <= 255 && g <= 0 && b <= 255 = 185
232− | r <= 255 && g <= 95 && b <= 0 = Color240 186
228+ | r <= 255 && g <= 95 && b <= 0 = 186
233− | r <= 255 && g <= 95 && b <= 95 = Color240 187
229+ | r <= 255 && g <= 95 && b <= 95 = 187
234− | r <= 255 && g <= 95 && b <= 135 = Color240 188
230+ | r <= 255 && g <= 95 && b <= 135 = 188
235− | r <= 255 && g <= 95 && b <= 175 = Color240 189
231+ | r <= 255 && g <= 95 && b <= 175 = 189
236− | r <= 255 && g <= 95 && b <= 215 = Color240 190
232+ | r <= 255 && g <= 95 && b <= 215 = 190
237− | r <= 255 && g <= 95 && b <= 255 = Color240 191
233+ | r <= 255 && g <= 95 && b <= 255 = 191
238− | r <= 255 && g <= 135 && b <= 0 = Color240 192
234+ | r <= 255 && g <= 135 && b <= 0 = 192
239− | r <= 255 && g <= 135 && b <= 95 = Color240 193
235+ | r <= 255 && g <= 135 && b <= 95 = 193
240− | r <= 255 && g <= 135 && b <= 135 = Color240 194
236+ | r <= 255 && g <= 135 && b <= 135 = 194
241− | r <= 255 && g <= 135 && b <= 175 = Color240 195
237+ | r <= 255 && g <= 135 && b <= 175 = 195
242− | r <= 255 && g <= 135 && b <= 215 = Color240 196
238+ | r <= 255 && g <= 135 && b <= 215 = 196
243− | r <= 255 && g <= 135 && b <= 255 = Color240 197
239+ | r <= 255 && g <= 135 && b <= 255 = 197
244− | r <= 255 && g <= 175 && b <= 0 = Color240 198
240+ | r <= 255 && g <= 175 && b <= 0 = 198
245− | r <= 255 && g <= 175 && b <= 95 = Color240 199
241+ | r <= 255 && g <= 175 && b <= 95 = 199
246− | r <= 255 && g <= 175 && b <= 135 = Color240 200
242+ | r <= 255 && g <= 175 && b <= 135 = 200
247− | r <= 255 && g <= 175 && b <= 175 = Color240 201
243+ | r <= 255 && g <= 175 && b <= 175 = 201
248− | r <= 255 && g <= 175 && b <= 215 = Color240 202
244+ | r <= 255 && g <= 175 && b <= 215 = 202
249− | r <= 255 && g <= 175 && b <= 255 = Color240 203
245+ | r <= 255 && g <= 175 && b <= 255 = 203
250− | r <= 255 && g <= 215 && b <= 0 = Color240 204
246+ | r <= 255 && g <= 215 && b <= 0 = 204
251− | r <= 255 && g <= 215 && b <= 95 = Color240 205
247+ | r <= 255 && g <= 215 && b <= 95 = 205
252− | r <= 255 && g <= 215 && b <= 135 = Color240 206
248+ | r <= 255 && g <= 215 && b <= 135 = 206
253− | r <= 255 && g <= 215 && b <= 175 = Color240 207
249+ | r <= 255 && g <= 215 && b <= 175 = 207
254− | r <= 255 && g <= 215 && b <= 215 = Color240 208
250+ | r <= 255 && g <= 215 && b <= 215 = 208
255− | r <= 255 && g <= 215 && b <= 255 = Color240 209
251+ | r <= 255 && g <= 215 && b <= 255 = 209
256− | r <= 255 && g <= 255 && b <= 0 = Color240 210
252+ | r <= 255 && g <= 255 && b <= 0 = 210
257− | r <= 255 && g <= 255 && b <= 95 = Color240 211
253+ | r <= 255 && g <= 255 && b <= 95 = 211
258− | r <= 255 && g <= 255 && b <= 135 = Color240 212
254+ | r <= 255 && g <= 255 && b <= 135 = 212
259− | r <= 255 && g <= 255 && b <= 175 = Color240 213
255+ | r <= 255 && g <= 255 && b <= 175 = 213
260− | r <= 255 && g <= 255 && b <= 215 = Color240 214
256+ | r <= 255 && g <= 255 && b <= 215 = 214
261− | r <= 255 && g <= 255 && b <= 255 = Color240 215
257+ | r <= 255 && g <= 255 && b <= 255 = 215
262 | otherwise = error (printf "RGB color %d %d %d does not map to 240 palette."
258 | otherwise = error (printf "RGB color %d %d %d does not map to 240 palette."
263 (fromIntegral r :: Int)
259 (fromIntegral r :: Int)
264 (fromIntegral g :: Int)
260 (fromIntegral g :: Int)
vty.cabal+2−2
@@ -66,6 +66,7 @@ library
66
66
67 exposed-modules: Graphics.Vty
67 exposed-modules: Graphics.Vty
68 Graphics.Vty.Attributes
68 Graphics.Vty.Attributes
69+ Graphics.Vty.Attributes.Color
69 Graphics.Vty.Config
70 Graphics.Vty.Config
70 Graphics.Vty.Error
71 Graphics.Vty.Error
71 Graphics.Vty.Image
72 Graphics.Vty.Image
@@ -98,8 +99,7 @@ library
98 Graphics.Vty.Output.XTermColor
99 Graphics.Vty.Output.XTermColor
99 Graphics.Vty.Output.TerminfoBased
100 Graphics.Vty.Output.TerminfoBased
100
101
101− other-modules: Graphics.Vty.Attributes.Color
102+ other-modules: Graphics.Vty.Attributes.Color240
102− Graphics.Vty.Attributes.Color240
103 Graphics.Vty.Debug.Image
103 Graphics.Vty.Debug.Image
104 Graphics.Vty.Input.Terminfo.ANSIVT
104 Graphics.Vty.Input.Terminfo.ANSIVT
105
105