1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 package aurora
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 func Colorize(arg interface{}, color Color) Value {
52 if val, ok := arg.(value); ok {
53 val.color = color
54 return val
55 }
56 return value{arg, color, 0}
57 }
58
59
60
61 func Reset(arg interface{}) Value {
62 if val, ok := arg.(Value); ok {
63 return val.Reset()
64 }
65 return value{value: arg}
66 }
67
68
69
70
71
72
73 func Bold(arg interface{}) Value {
74 if val, ok := arg.(Value); ok {
75 return val.Bold()
76 }
77 return value{value: arg, color: BoldFm}
78 }
79
80
81
82 func Faint(arg interface{}) Value {
83 if val, ok := arg.(Value); ok {
84 return val.Faint()
85 }
86 return value{value: arg, color: FaintFm}
87 }
88
89
90
91 func DoublyUnderline(arg interface{}) Value {
92 if val, ok := arg.(Value); ok {
93 return val.DoublyUnderline()
94 }
95 return value{value: arg, color: DoublyUnderlineFm}
96 }
97
98
99 func Fraktur(arg interface{}) Value {
100 if val, ok := arg.(Value); ok {
101 return val.Fraktur()
102 }
103 return value{value: arg, color: FrakturFm}
104 }
105
106
107
108 func Italic(arg interface{}) Value {
109 if val, ok := arg.(Value); ok {
110 return val.Italic()
111 }
112 return value{value: arg, color: ItalicFm}
113 }
114
115
116 func Underline(arg interface{}) Value {
117 if val, ok := arg.(Value); ok {
118 return val.Underline()
119 }
120 return value{value: arg, color: UnderlineFm}
121 }
122
123
124
125 func SlowBlink(arg interface{}) Value {
126 if val, ok := arg.(Value); ok {
127 return val.SlowBlink()
128 }
129 return value{value: arg, color: SlowBlinkFm}
130 }
131
132
133
134 func RapidBlink(arg interface{}) Value {
135 if val, ok := arg.(Value); ok {
136 return val.RapidBlink()
137 }
138 return value{value: arg, color: RapidBlinkFm}
139 }
140
141
142 func Blink(arg interface{}) Value {
143 return SlowBlink(arg)
144 }
145
146
147
148 func Reverse(arg interface{}) Value {
149 if val, ok := arg.(Value); ok {
150 return val.Reverse()
151 }
152 return value{value: arg, color: ReverseFm}
153 }
154
155
156 func Inverse(arg interface{}) Value {
157 return Reverse(arg)
158 }
159
160
161
162 func Conceal(arg interface{}) Value {
163 if val, ok := arg.(Value); ok {
164 return val.Conceal()
165 }
166 return value{value: arg, color: ConcealFm}
167 }
168
169
170 func Hidden(arg interface{}) Value {
171 return Conceal(arg)
172 }
173
174
175
176 func CrossedOut(arg interface{}) Value {
177 if val, ok := arg.(Value); ok {
178 return val.CrossedOut()
179 }
180 return value{value: arg, color: CrossedOutFm}
181 }
182
183
184 func StrikeThrough(arg interface{}) Value {
185 return CrossedOut(arg)
186 }
187
188
189 func Framed(arg interface{}) Value {
190 if val, ok := arg.(Value); ok {
191 return val.Framed()
192 }
193 return value{value: arg, color: FramedFm}
194 }
195
196
197 func Encircled(arg interface{}) Value {
198 if val, ok := arg.(Value); ok {
199 return val.Encircled()
200 }
201 return value{value: arg, color: EncircledFm}
202 }
203
204
205 func Overlined(arg interface{}) Value {
206 if val, ok := arg.(Value); ok {
207 return val.Overlined()
208 }
209 return value{value: arg, color: OverlinedFm}
210 }
211
212
213
214
215
216
217
218 func Black(arg interface{}) Value {
219 if val, ok := arg.(Value); ok {
220 return val.Black()
221 }
222 return value{value: arg, color: BlackFg}
223 }
224
225
226 func Red(arg interface{}) Value {
227 if val, ok := arg.(Value); ok {
228 return val.Red()
229 }
230 return value{value: arg, color: RedFg}
231 }
232
233
234 func Green(arg interface{}) Value {
235 if val, ok := arg.(Value); ok {
236 return val.Green()
237 }
238 return value{value: arg, color: GreenFg}
239 }
240
241
242 func Yellow(arg interface{}) Value {
243 if val, ok := arg.(Value); ok {
244 return val.Yellow()
245 }
246 return value{value: arg, color: YellowFg}
247 }
248
249
250
251
252 func Brown(arg interface{}) Value {
253 return Yellow(arg)
254 }
255
256
257 func Blue(arg interface{}) Value {
258 if val, ok := arg.(Value); ok {
259 return val.Blue()
260 }
261 return value{value: arg, color: BlueFg}
262 }
263
264
265 func Magenta(arg interface{}) Value {
266 if val, ok := arg.(Value); ok {
267 return val.Magenta()
268 }
269 return value{value: arg, color: MagentaFg}
270 }
271
272
273 func Cyan(arg interface{}) Value {
274 if val, ok := arg.(Value); ok {
275 return val.Cyan()
276 }
277 return value{value: arg, color: CyanFg}
278 }
279
280
281 func White(arg interface{}) Value {
282 if val, ok := arg.(Value); ok {
283 return val.White()
284 }
285 return value{value: arg, color: WhiteFg}
286 }
287
288
289
290
291
292
293 func BrightBlack(arg interface{}) Value {
294 if val, ok := arg.(Value); ok {
295 return val.BrightBlack()
296 }
297 return value{value: arg, color: BrightFg | BlackFg}
298 }
299
300
301 func BrightRed(arg interface{}) Value {
302 if val, ok := arg.(Value); ok {
303 return val.BrightRed()
304 }
305 return value{value: arg, color: BrightFg | RedFg}
306 }
307
308
309 func BrightGreen(arg interface{}) Value {
310 if val, ok := arg.(Value); ok {
311 return val.BrightGreen()
312 }
313 return value{value: arg, color: BrightFg | GreenFg}
314 }
315
316
317 func BrightYellow(arg interface{}) Value {
318 if val, ok := arg.(Value); ok {
319 return val.BrightYellow()
320 }
321 return value{value: arg, color: BrightFg | YellowFg}
322 }
323
324
325 func BrightBlue(arg interface{}) Value {
326 if val, ok := arg.(Value); ok {
327 return val.BrightBlue()
328 }
329 return value{value: arg, color: BrightFg | BlueFg}
330 }
331
332
333 func BrightMagenta(arg interface{}) Value {
334 if val, ok := arg.(Value); ok {
335 return val.BrightMagenta()
336 }
337 return value{value: arg, color: BrightFg | MagentaFg}
338 }
339
340
341 func BrightCyan(arg interface{}) Value {
342 if val, ok := arg.(Value); ok {
343 return val.BrightCyan()
344 }
345 return value{value: arg, color: BrightFg | CyanFg}
346 }
347
348
349 func BrightWhite(arg interface{}) Value {
350 if val, ok := arg.(Value); ok {
351 return val.BrightWhite()
352 }
353 return value{value: arg, color: BrightFg | WhiteFg}
354 }
355
356
357
358
359
360
361
362
363
364
365
366
367
368 func Index(n uint8, arg interface{}) Value {
369 if val, ok := arg.(Value); ok {
370 return val.Index(n)
371 }
372 return value{value: arg, color: (Color(n) << shiftFg) | flagFg}
373 }
374
375
376 func Gray(n uint8, arg interface{}) Value {
377 if val, ok := arg.(Value); ok {
378 return val.Gray(n)
379 }
380 if n > 23 {
381 n = 23
382 }
383 return value{value: arg, color: (Color(232+n) << shiftFg) | flagFg}
384 }
385
386
387
388
389
390
391
392 func BgBlack(arg interface{}) Value {
393 if val, ok := arg.(Value); ok {
394 return val.BgBlack()
395 }
396 return value{value: arg, color: BlackBg}
397 }
398
399
400 func BgRed(arg interface{}) Value {
401 if val, ok := arg.(Value); ok {
402 return val.BgRed()
403 }
404 return value{value: arg, color: RedBg}
405 }
406
407
408 func BgGreen(arg interface{}) Value {
409 if val, ok := arg.(Value); ok {
410 return val.BgGreen()
411 }
412 return value{value: arg, color: GreenBg}
413 }
414
415
416 func BgYellow(arg interface{}) Value {
417 if val, ok := arg.(Value); ok {
418 return val.BgYellow()
419 }
420 return value{value: arg, color: YellowBg}
421 }
422
423
424
425
426 func BgBrown(arg interface{}) Value {
427 return BgYellow(arg)
428 }
429
430
431 func BgBlue(arg interface{}) Value {
432 if val, ok := arg.(Value); ok {
433 return val.BgBlue()
434 }
435 return value{value: arg, color: BlueBg}
436 }
437
438
439 func BgMagenta(arg interface{}) Value {
440 if val, ok := arg.(Value); ok {
441 return val.BgMagenta()
442 }
443 return value{value: arg, color: MagentaBg}
444 }
445
446
447 func BgCyan(arg interface{}) Value {
448 if val, ok := arg.(Value); ok {
449 return val.BgCyan()
450 }
451 return value{value: arg, color: CyanBg}
452 }
453
454
455 func BgWhite(arg interface{}) Value {
456 if val, ok := arg.(Value); ok {
457 return val.BgWhite()
458 }
459 return value{value: arg, color: WhiteBg}
460 }
461
462
463
464
465
466
467 func BgBrightBlack(arg interface{}) Value {
468 if val, ok := arg.(Value); ok {
469 return val.BgBrightBlack()
470 }
471 return value{value: arg, color: BrightBg | BlackBg}
472 }
473
474
475 func BgBrightRed(arg interface{}) Value {
476 if val, ok := arg.(Value); ok {
477 return val.BgBrightRed()
478 }
479 return value{value: arg, color: BrightBg | RedBg}
480 }
481
482
483 func BgBrightGreen(arg interface{}) Value {
484 if val, ok := arg.(Value); ok {
485 return val.BgBrightGreen()
486 }
487 return value{value: arg, color: BrightBg | GreenBg}
488 }
489
490
491 func BgBrightYellow(arg interface{}) Value {
492 if val, ok := arg.(Value); ok {
493 return val.BgBrightYellow()
494 }
495 return value{value: arg, color: BrightBg | YellowBg}
496 }
497
498
499 func BgBrightBlue(arg interface{}) Value {
500 if val, ok := arg.(Value); ok {
501 return val.BgBrightBlue()
502 }
503 return value{value: arg, color: BrightBg | BlueBg}
504 }
505
506
507 func BgBrightMagenta(arg interface{}) Value {
508 if val, ok := arg.(Value); ok {
509 return val.BgBrightMagenta()
510 }
511 return value{value: arg, color: BrightBg | MagentaBg}
512 }
513
514
515 func BgBrightCyan(arg interface{}) Value {
516 if val, ok := arg.(Value); ok {
517 return val.BgBrightCyan()
518 }
519 return value{value: arg, color: BrightBg | CyanBg}
520 }
521
522
523 func BgBrightWhite(arg interface{}) Value {
524 if val, ok := arg.(Value); ok {
525 return val.BgBrightWhite()
526 }
527 return value{value: arg, color: BrightBg | WhiteBg}
528 }
529
530
531
532
533
534
535
536
537
538
539
540
541
542 func BgIndex(n uint8, arg interface{}) Value {
543 if val, ok := arg.(Value); ok {
544 return val.BgIndex(n)
545 }
546 return value{value: arg, color: (Color(n) << shiftBg) | flagBg}
547 }
548
549
550 func BgGray(n uint8, arg interface{}) Value {
551 if val, ok := arg.(Value); ok {
552 return val.BgGray(n)
553 }
554 if n > 23 {
555 n = 23
556 }
557 return value{value: arg, color: (Color(n+232) << shiftBg) | flagBg}
558 }
559
View as plain text