command_kit 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +18 -3
- data/.rubocop.yml +141 -0
- data/ChangeLog.md +165 -0
- data/Gemfile +3 -0
- data/README.md +186 -118
- data/Rakefile +3 -2
- data/command_kit.gemspec +4 -4
- data/examples/command.rb +1 -1
- data/gemspec.yml +7 -0
- data/lib/command_kit/arguments/argument.rb +2 -2
- data/lib/command_kit/arguments.rb +36 -7
- data/lib/command_kit/colors.rb +702 -53
- data/lib/command_kit/command.rb +2 -3
- data/lib/command_kit/commands/auto_load.rb +8 -1
- data/lib/command_kit/commands/help.rb +3 -2
- data/lib/command_kit/commands/subcommand.rb +1 -1
- data/lib/command_kit/commands.rb +24 -9
- data/lib/command_kit/env/path.rb +1 -1
- data/lib/command_kit/file_utils.rb +46 -0
- data/lib/command_kit/help/man.rb +17 -33
- data/lib/command_kit/inflector.rb +47 -17
- data/lib/command_kit/interactive.rb +9 -0
- data/lib/command_kit/main.rb +7 -9
- data/lib/command_kit/man.rb +44 -0
- data/lib/command_kit/open_app.rb +69 -0
- data/lib/command_kit/options/option.rb +41 -27
- data/lib/command_kit/options/option_value.rb +3 -2
- data/lib/command_kit/options/parser.rb +17 -22
- data/lib/command_kit/options.rb +102 -14
- data/lib/command_kit/os/linux.rb +157 -0
- data/lib/command_kit/os.rb +159 -11
- data/lib/command_kit/package_manager.rb +200 -0
- data/lib/command_kit/pager.rb +46 -4
- data/lib/command_kit/printing/indent.rb +4 -4
- data/lib/command_kit/printing.rb +14 -3
- data/lib/command_kit/program_name.rb +9 -0
- data/lib/command_kit/sudo.rb +40 -0
- data/lib/command_kit/terminal.rb +5 -0
- data/lib/command_kit/version.rb +1 -1
- data/spec/arguments/argument_spec.rb +1 -1
- data/spec/arguments_spec.rb +84 -1
- data/spec/colors_spec.rb +357 -70
- data/spec/command_spec.rb +77 -6
- data/spec/commands/auto_load_spec.rb +33 -2
- data/spec/commands_spec.rb +101 -29
- data/spec/env/path_spec.rb +6 -0
- data/spec/exception_handler_spec.rb +1 -1
- data/spec/file_utils_spec.rb +59 -0
- data/spec/fixtures/template.erb +5 -0
- data/spec/help/man_spec.rb +54 -57
- data/spec/inflector_spec.rb +70 -8
- data/spec/man_spec.rb +46 -0
- data/spec/open_app_spec.rb +85 -0
- data/spec/options/option_spec.rb +38 -2
- data/spec/options/option_value_spec.rb +55 -0
- data/spec/options/parser_spec.rb +0 -10
- data/spec/options_spec.rb +328 -0
- data/spec/os/linux_spec.rb +164 -0
- data/spec/os_spec.rb +200 -13
- data/spec/package_manager_spec.rb +806 -0
- data/spec/pager_spec.rb +71 -6
- data/spec/printing/indent_spec.rb +7 -5
- data/spec/printing_spec.rb +23 -1
- data/spec/program_name_spec.rb +8 -0
- data/spec/sudo_spec.rb +51 -0
- data/spec/terminal_spec.rb +30 -0
- data/spec/usage_spec.rb +1 -1
- metadata +23 -4
data/lib/command_kit/colors.rb
CHANGED
@@ -26,7 +26,7 @@ module CommandKit
|
|
26
26
|
#
|
27
27
|
# ## Alternatives
|
28
28
|
#
|
29
|
-
# * [ansi](
|
29
|
+
# * [ansi](https://rubyworks.github.io/ansi/)
|
30
30
|
# * [colorize](https://github.com/fazibear/colorize#readme)
|
31
31
|
#
|
32
32
|
# @see https://en.wikipedia.org/wiki/ANSI_escape_code
|
@@ -67,7 +67,7 @@ module CommandKit
|
|
67
67
|
# ANSI color code for blue
|
68
68
|
BLUE = "\e[34m"
|
69
69
|
|
70
|
-
# ANSI color code for
|
70
|
+
# ANSI color code for magenta
|
71
71
|
MAGENTA = "\e[35m"
|
72
72
|
|
73
73
|
# ANSI color code for cyan
|
@@ -76,11 +76,145 @@ module CommandKit
|
|
76
76
|
# ANSI color code for white
|
77
77
|
WHITE = "\e[37m"
|
78
78
|
|
79
|
+
# ANSI color code for black
|
80
|
+
#
|
81
|
+
# @since 0.3.0
|
82
|
+
BRIGHT_BLACK = "\e[90m"
|
83
|
+
|
84
|
+
# ANSI color code for red
|
85
|
+
#
|
86
|
+
# @since 0.3.0
|
87
|
+
BRIGHT_RED = "\e[91m"
|
88
|
+
|
89
|
+
# ANSI color code for green
|
90
|
+
#
|
91
|
+
# @since 0.3.0
|
92
|
+
BRIGHT_GREEN = "\e[92m"
|
93
|
+
|
94
|
+
# ANSI color code for yellow
|
95
|
+
#
|
96
|
+
# @since 0.3.0
|
97
|
+
BRIGHT_YELLOW = "\e[93m"
|
98
|
+
|
99
|
+
# ANSI color code for blue
|
100
|
+
#
|
101
|
+
# @since 0.3.0
|
102
|
+
BRIGHT_BLUE = "\e[94m"
|
103
|
+
|
104
|
+
# ANSI color code for magenta
|
105
|
+
#
|
106
|
+
# @since 0.3.0
|
107
|
+
BRIGHT_MAGENTA = "\e[95m"
|
108
|
+
|
109
|
+
# ANSI color code for cyan
|
110
|
+
#
|
111
|
+
# @since 0.3.0
|
112
|
+
BRIGHT_CYAN = "\e[96m"
|
113
|
+
|
114
|
+
# ANSI color code for white
|
115
|
+
#
|
116
|
+
# @since 0.3.0
|
117
|
+
BRIGHT_WHITE = "\e[97m"
|
118
|
+
|
79
119
|
# ANSI color for the default foreground color
|
80
|
-
|
120
|
+
#
|
121
|
+
# @since 0.3.0
|
122
|
+
RESET_FG = "\e[39m"
|
123
|
+
|
124
|
+
# @see RESET_FG
|
125
|
+
RESET_COLOR = RESET_FG
|
126
|
+
|
127
|
+
# ANSI color code for background color black
|
128
|
+
#
|
129
|
+
# @since 0.2.0
|
130
|
+
ON_BLACK = "\e[40m"
|
131
|
+
|
132
|
+
# ANSI color code for background color red
|
133
|
+
#
|
134
|
+
# @since 0.2.0
|
135
|
+
ON_RED = "\e[41m"
|
136
|
+
|
137
|
+
# ANSI color code for background color green
|
138
|
+
#
|
139
|
+
# @since 0.2.0
|
140
|
+
ON_GREEN = "\e[42m"
|
141
|
+
|
142
|
+
# ANSI color code for background color yellow
|
143
|
+
#
|
144
|
+
# @since 0.2.0
|
145
|
+
ON_YELLOW = "\e[43m"
|
146
|
+
|
147
|
+
# ANSI color code for background color blue
|
148
|
+
#
|
149
|
+
# @since 0.2.0
|
150
|
+
ON_BLUE = "\e[44m"
|
151
|
+
|
152
|
+
# ANSI color code for background color magenta
|
153
|
+
#
|
154
|
+
# @since 0.2.0
|
155
|
+
ON_MAGENTA = "\e[45m"
|
156
|
+
|
157
|
+
# ANSI color code for background color cyan
|
158
|
+
#
|
159
|
+
# @since 0.2.0
|
160
|
+
ON_CYAN = "\e[46m"
|
161
|
+
|
162
|
+
# ANSI color code for background color white
|
163
|
+
#
|
164
|
+
# @since 0.2.0
|
165
|
+
ON_WHITE = "\e[47m"
|
166
|
+
|
167
|
+
# ANSI color code for background color bright black
|
168
|
+
#
|
169
|
+
# @since 0.3.0
|
170
|
+
ON_BRIGHT_BLACK = "\e[100m"
|
171
|
+
|
172
|
+
# ANSI color code for background color bright red
|
173
|
+
#
|
174
|
+
# @since 0.3.0
|
175
|
+
ON_BRIGHT_RED = "\e[101m"
|
176
|
+
|
177
|
+
# ANSI color code for background color bright green
|
178
|
+
#
|
179
|
+
# @since 0.3.0
|
180
|
+
ON_BRIGHT_GREEN = "\e[102m"
|
181
|
+
|
182
|
+
# ANSI color code for background color bright yellow
|
183
|
+
#
|
184
|
+
# @since 0.3.0
|
185
|
+
ON_BRIGHT_YELLOW = "\e[103m"
|
186
|
+
|
187
|
+
# ANSI color code for background color bright blue
|
188
|
+
#
|
189
|
+
# @since 0.3.0
|
190
|
+
ON_BRIGHT_BLUE = "\e[104m"
|
191
|
+
|
192
|
+
# ANSI color code for background color bright magenta
|
193
|
+
#
|
194
|
+
# @since 0.3.0
|
195
|
+
ON_BRIGHT_MAGENTA = "\e[105m"
|
196
|
+
|
197
|
+
# ANSI color code for background color bright cyan
|
198
|
+
#
|
199
|
+
# @since 0.3.0
|
200
|
+
ON_BRIGHT_CYAN = "\e[106m"
|
201
|
+
|
202
|
+
# ANSI color code for background color bright white
|
203
|
+
#
|
204
|
+
# @since 0.3.0
|
205
|
+
ON_BRIGHT_WHITE = "\e[107m"
|
206
|
+
|
207
|
+
# ANSI color for the default background color
|
208
|
+
#
|
209
|
+
# @since 0.2.0
|
210
|
+
RESET_BG = "\e[49m"
|
81
211
|
|
82
212
|
module_function
|
83
213
|
|
214
|
+
#
|
215
|
+
# @group Styling Methods
|
216
|
+
#
|
217
|
+
|
84
218
|
#
|
85
219
|
# Resets text formatting.
|
86
220
|
#
|
@@ -122,6 +256,10 @@ module CommandKit
|
|
122
256
|
end
|
123
257
|
end
|
124
258
|
|
259
|
+
#
|
260
|
+
# @group Foreground Color Methods
|
261
|
+
#
|
262
|
+
|
125
263
|
#
|
126
264
|
# Sets the text color to black.
|
127
265
|
#
|
@@ -136,7 +274,7 @@ module CommandKit
|
|
136
274
|
# @api public
|
137
275
|
#
|
138
276
|
def black(string=nil)
|
139
|
-
if string then "#{BLACK}#{string}#{
|
277
|
+
if string then "#{BLACK}#{string}#{RESET_FG}"
|
140
278
|
else BLACK
|
141
279
|
end
|
142
280
|
end
|
@@ -155,7 +293,7 @@ module CommandKit
|
|
155
293
|
# @api public
|
156
294
|
#
|
157
295
|
def red(string=nil)
|
158
|
-
if string then "#{RED}#{string}#{
|
296
|
+
if string then "#{RED}#{string}#{RESET_FG}"
|
159
297
|
else RED
|
160
298
|
end
|
161
299
|
end
|
@@ -174,7 +312,7 @@ module CommandKit
|
|
174
312
|
# @api public
|
175
313
|
#
|
176
314
|
def green(string=nil)
|
177
|
-
if string then "#{GREEN}#{string}#{
|
315
|
+
if string then "#{GREEN}#{string}#{RESET_FG}"
|
178
316
|
else GREEN
|
179
317
|
end
|
180
318
|
end
|
@@ -193,7 +331,7 @@ module CommandKit
|
|
193
331
|
# @api public
|
194
332
|
#
|
195
333
|
def yellow(string=nil)
|
196
|
-
if string then "#{YELLOW}#{string}#{
|
334
|
+
if string then "#{YELLOW}#{string}#{RESET_FG}"
|
197
335
|
else YELLOW
|
198
336
|
end
|
199
337
|
end
|
@@ -212,7 +350,7 @@ module CommandKit
|
|
212
350
|
# @api public
|
213
351
|
#
|
214
352
|
def blue(string=nil)
|
215
|
-
if string then "#{BLUE}#{string}#{
|
353
|
+
if string then "#{BLUE}#{string}#{RESET_FG}"
|
216
354
|
else BLUE
|
217
355
|
end
|
218
356
|
end
|
@@ -231,7 +369,7 @@ module CommandKit
|
|
231
369
|
# @api public
|
232
370
|
#
|
233
371
|
def magenta(string=nil)
|
234
|
-
if string then "#{MAGENTA}#{string}#{
|
372
|
+
if string then "#{MAGENTA}#{string}#{RESET_FG}"
|
235
373
|
else MAGENTA
|
236
374
|
end
|
237
375
|
end
|
@@ -250,7 +388,7 @@ module CommandKit
|
|
250
388
|
# @api public
|
251
389
|
#
|
252
390
|
def cyan(string=nil)
|
253
|
-
if string then "#{CYAN}#{string}#{
|
391
|
+
if string then "#{CYAN}#{string}#{RESET_FG}"
|
254
392
|
else CYAN
|
255
393
|
end
|
256
394
|
end
|
@@ -269,75 +407,586 @@ module CommandKit
|
|
269
407
|
# @api public
|
270
408
|
#
|
271
409
|
def white(string=nil)
|
272
|
-
if string then "#{WHITE}#{string}#{
|
410
|
+
if string then "#{WHITE}#{string}#{RESET_FG}"
|
273
411
|
else WHITE
|
274
412
|
end
|
275
413
|
end
|
276
|
-
end
|
277
414
|
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
415
|
+
#
|
416
|
+
# Sets the text color to bright black (gray).
|
417
|
+
#
|
418
|
+
# @param [String, nil] string
|
419
|
+
# An optional string.
|
420
|
+
#
|
421
|
+
# @return [String, BRIGHT_BLACK]
|
422
|
+
# The colorized string or just {BRIGHT_BLACK} if no arguments were
|
423
|
+
# given.
|
424
|
+
#
|
425
|
+
# @see BRIGHT_BLACK
|
426
|
+
#
|
427
|
+
# @api public
|
428
|
+
#
|
429
|
+
# @since 0.3.0
|
430
|
+
#
|
431
|
+
def bright_black(string=nil)
|
432
|
+
if string then "#{BRIGHT_BLACK}#{string}#{RESET_FG}"
|
433
|
+
else BRIGHT_BLACK
|
434
|
+
end
|
435
|
+
end
|
296
436
|
|
297
|
-
|
437
|
+
#
|
438
|
+
# Sets the text color to gray.
|
439
|
+
#
|
440
|
+
# @api public
|
441
|
+
#
|
442
|
+
# @see #bright_black
|
443
|
+
#
|
444
|
+
# @since 0.3.0
|
445
|
+
#
|
446
|
+
def gray(string=nil)
|
447
|
+
bright_black(string)
|
448
|
+
end
|
298
449
|
|
299
|
-
|
300
|
-
|
450
|
+
#
|
451
|
+
# Sets the text color to bright red.
|
452
|
+
#
|
453
|
+
# @param [String, nil] string
|
454
|
+
# An optional string.
|
455
|
+
#
|
456
|
+
# @return [String, BRIGHT_RED]
|
457
|
+
# The colorized string or just {BRIGHT_RED} if no arguments were given.
|
458
|
+
#
|
459
|
+
# @see BRIGHT_RED
|
460
|
+
#
|
461
|
+
# @api public
|
462
|
+
#
|
463
|
+
# @since 0.3.0
|
464
|
+
#
|
465
|
+
def bright_red(string=nil)
|
466
|
+
if string then "#{BRIGHT_RED}#{string}#{RESET_FG}"
|
467
|
+
else BRIGHT_RED
|
468
|
+
end
|
301
469
|
end
|
302
470
|
|
303
|
-
|
304
|
-
|
471
|
+
#
|
472
|
+
# Sets the text color to bright green.
|
473
|
+
#
|
474
|
+
# @param [String, nil] string
|
475
|
+
# An optional string.
|
476
|
+
#
|
477
|
+
# @return [String, BRIGHT_GREEN]
|
478
|
+
# The colorized string or just {BRIGHT_GREEN} if no arguments were
|
479
|
+
# given.
|
480
|
+
#
|
481
|
+
# @see BRIGHT_GREEN
|
482
|
+
#
|
483
|
+
# @api public
|
484
|
+
#
|
485
|
+
# @since 0.3.0
|
486
|
+
#
|
487
|
+
def bright_green(string=nil)
|
488
|
+
if string then "#{BRIGHT_GREEN}#{string}#{RESET_FG}"
|
489
|
+
else BRIGHT_GREEN
|
490
|
+
end
|
305
491
|
end
|
306
492
|
|
307
|
-
|
308
|
-
|
493
|
+
#
|
494
|
+
# Sets the text color to bright yellow.
|
495
|
+
#
|
496
|
+
# @param [String, nil] string
|
497
|
+
# An optional string.
|
498
|
+
#
|
499
|
+
# @return [String, BRIGHT_YELLOW]
|
500
|
+
# The colorized string or just {BRIGHT_YELLOW} if no arguments were
|
501
|
+
# given.
|
502
|
+
#
|
503
|
+
# @see BRIGHT_YELLOW
|
504
|
+
#
|
505
|
+
# @api public
|
506
|
+
#
|
507
|
+
# @since 0.3.0
|
508
|
+
#
|
509
|
+
def bright_yellow(string=nil)
|
510
|
+
if string then "#{BRIGHT_YELLOW}#{string}#{RESET_FG}"
|
511
|
+
else BRIGHT_YELLOW
|
512
|
+
end
|
309
513
|
end
|
310
514
|
|
311
|
-
|
312
|
-
|
515
|
+
#
|
516
|
+
# Sets the text color to bright blue.
|
517
|
+
#
|
518
|
+
# @param [String, nil] string
|
519
|
+
# An optional string.
|
520
|
+
#
|
521
|
+
# @return [String, BRIGHT_BLUE]
|
522
|
+
# The colorized string or just {BRIGHT_BLUE} if no arguments were given.
|
523
|
+
#
|
524
|
+
# @see BRIGHT_BLUE
|
525
|
+
#
|
526
|
+
# @api public
|
527
|
+
#
|
528
|
+
# @since 0.3.0
|
529
|
+
#
|
530
|
+
def bright_blue(string=nil)
|
531
|
+
if string then "#{BRIGHT_BLUE}#{string}#{RESET_FG}"
|
532
|
+
else BRIGHT_BLUE
|
533
|
+
end
|
313
534
|
end
|
314
535
|
|
315
|
-
|
316
|
-
|
536
|
+
#
|
537
|
+
# Sets the text color to bright magenta.
|
538
|
+
#
|
539
|
+
# @param [String, nil] string
|
540
|
+
# An optional string.
|
541
|
+
#
|
542
|
+
# @return [String, BRIGHT_MAGENTA]
|
543
|
+
# The colorized string or just {BRIGHT_MAGENTA} if no arguments were
|
544
|
+
# given.
|
545
|
+
#
|
546
|
+
# @see BRIGHT_MAGENTA
|
547
|
+
#
|
548
|
+
# @api public
|
549
|
+
#
|
550
|
+
# @since 0.3.0
|
551
|
+
#
|
552
|
+
def bright_magenta(string=nil)
|
553
|
+
if string then "#{BRIGHT_MAGENTA}#{string}#{RESET_FG}"
|
554
|
+
else BRIGHT_MAGENTA
|
555
|
+
end
|
317
556
|
end
|
318
557
|
|
319
|
-
|
320
|
-
|
558
|
+
#
|
559
|
+
# Sets the text color to bright cyan.
|
560
|
+
#
|
561
|
+
# @param [String, nil] string
|
562
|
+
# An optional string.
|
563
|
+
#
|
564
|
+
# @return [String, BRIGHT_CYAN]
|
565
|
+
# The colorized string or just {BRIGHT_CYAN} if no arguments were given.
|
566
|
+
#
|
567
|
+
# @see BRIGHT_CYAN
|
568
|
+
#
|
569
|
+
# @api public
|
570
|
+
#
|
571
|
+
# @since 0.3.0
|
572
|
+
#
|
573
|
+
def bright_cyan(string=nil)
|
574
|
+
if string then "#{BRIGHT_CYAN}#{string}#{RESET_FG}"
|
575
|
+
else BRIGHT_CYAN
|
576
|
+
end
|
321
577
|
end
|
322
578
|
|
323
|
-
|
324
|
-
|
579
|
+
#
|
580
|
+
# Sets the text color to bright white.
|
581
|
+
#
|
582
|
+
# @param [String, nil] string
|
583
|
+
# An optional string.
|
584
|
+
#
|
585
|
+
# @return [String, BRIGHT_WHITE]
|
586
|
+
# The colorized string or just {BRIGHT_WHITE} if no arguments were
|
587
|
+
# given.
|
588
|
+
#
|
589
|
+
# @see BRIGHT_WHITE
|
590
|
+
#
|
591
|
+
# @api public
|
592
|
+
#
|
593
|
+
# @since 0.3.0
|
594
|
+
#
|
595
|
+
def bright_white(string=nil)
|
596
|
+
if string then "#{BRIGHT_WHITE}#{string}#{RESET_FG}"
|
597
|
+
else BRIGHT_WHITE
|
598
|
+
end
|
325
599
|
end
|
326
600
|
|
327
|
-
|
328
|
-
|
601
|
+
#
|
602
|
+
# @group Background Color Methods
|
603
|
+
#
|
604
|
+
|
605
|
+
#
|
606
|
+
# Sets the background color to black.
|
607
|
+
#
|
608
|
+
# @param [String, nil] string
|
609
|
+
# An optional string.
|
610
|
+
#
|
611
|
+
# @return [String, ON_BLACK]
|
612
|
+
# The colorized string or just {ON_BLACK} if no arguments were given.
|
613
|
+
#
|
614
|
+
# @see ON_BLACK
|
615
|
+
#
|
616
|
+
# @api public
|
617
|
+
#
|
618
|
+
# @since 0.2.0
|
619
|
+
#
|
620
|
+
def on_black(string=nil)
|
621
|
+
if string then "#{ON_BLACK}#{string}#{RESET_BG}"
|
622
|
+
else ON_BLACK
|
623
|
+
end
|
329
624
|
end
|
330
625
|
|
331
|
-
|
332
|
-
|
626
|
+
#
|
627
|
+
# Sets the background color to red.
|
628
|
+
#
|
629
|
+
# @param [String, nil] string
|
630
|
+
# An optional string.
|
631
|
+
#
|
632
|
+
# @return [String, ON_RED]
|
633
|
+
# The colorized string or just {ON_RED} if no arguments were given.
|
634
|
+
#
|
635
|
+
# @see ON_RED
|
636
|
+
#
|
637
|
+
# @api public
|
638
|
+
#
|
639
|
+
# @since 0.2.0
|
640
|
+
#
|
641
|
+
def on_red(string=nil)
|
642
|
+
if string then "#{ON_RED}#{string}#{RESET_BG}"
|
643
|
+
else ON_RED
|
644
|
+
end
|
333
645
|
end
|
334
646
|
|
335
|
-
|
336
|
-
|
647
|
+
#
|
648
|
+
# Sets the background color to green.
|
649
|
+
#
|
650
|
+
# @param [String, nil] string
|
651
|
+
# An optional string.
|
652
|
+
#
|
653
|
+
# @return [String, ON_GREEN]
|
654
|
+
# The colorized string or just {ON_GREEN} if no arguments were given.
|
655
|
+
#
|
656
|
+
# @see ON_GREEN
|
657
|
+
#
|
658
|
+
# @api public
|
659
|
+
#
|
660
|
+
# @since 0.2.0
|
661
|
+
#
|
662
|
+
def on_green(string=nil)
|
663
|
+
if string then "#{ON_GREEN}#{string}#{RESET_BG}"
|
664
|
+
else ON_GREEN
|
665
|
+
end
|
337
666
|
end
|
338
667
|
|
339
|
-
|
340
|
-
|
668
|
+
#
|
669
|
+
# Sets the background color to yellow.
|
670
|
+
#
|
671
|
+
# @param [String, nil] string
|
672
|
+
# An optional string.
|
673
|
+
#
|
674
|
+
# @return [String, ON_YELLOW]
|
675
|
+
# The colorized string or just {ON_YELLOW} if no arguments were given.
|
676
|
+
#
|
677
|
+
# @see ON_YELLOW
|
678
|
+
#
|
679
|
+
# @api public
|
680
|
+
#
|
681
|
+
# @since 0.2.0
|
682
|
+
#
|
683
|
+
def on_yellow(string=nil)
|
684
|
+
if string then "#{ON_YELLOW}#{string}#{RESET_BG}"
|
685
|
+
else ON_YELLOW
|
686
|
+
end
|
687
|
+
end
|
688
|
+
|
689
|
+
#
|
690
|
+
# Sets the background color to blue.
|
691
|
+
#
|
692
|
+
# @param [String, nil] string
|
693
|
+
# An optional string.
|
694
|
+
#
|
695
|
+
# @return [String, ON_BLUE]
|
696
|
+
# The colorized string or just {ON_BLUE} if no arguments were given.
|
697
|
+
#
|
698
|
+
# @see ON_BLUE
|
699
|
+
#
|
700
|
+
# @api public
|
701
|
+
#
|
702
|
+
# @since 0.2.0
|
703
|
+
#
|
704
|
+
def on_blue(string=nil)
|
705
|
+
if string then "#{ON_BLUE}#{string}#{RESET_BG}"
|
706
|
+
else ON_BLUE
|
707
|
+
end
|
708
|
+
end
|
709
|
+
|
710
|
+
#
|
711
|
+
# Sets the background color to magenta.
|
712
|
+
#
|
713
|
+
# @param [String, nil] string
|
714
|
+
# An optional string.
|
715
|
+
#
|
716
|
+
# @return [String, ON_MAGENTA]
|
717
|
+
# The colorized string or just {ON_MAGENTA} if no arguments were given.
|
718
|
+
#
|
719
|
+
# @see ON_MAGENTA
|
720
|
+
#
|
721
|
+
# @api public
|
722
|
+
#
|
723
|
+
# @since 0.2.0
|
724
|
+
#
|
725
|
+
def on_magenta(string=nil)
|
726
|
+
if string then "#{ON_MAGENTA}#{string}#{RESET_BG}"
|
727
|
+
else ON_MAGENTA
|
728
|
+
end
|
729
|
+
end
|
730
|
+
|
731
|
+
#
|
732
|
+
# Sets the background color to cyan.
|
733
|
+
#
|
734
|
+
# @param [String, nil] string
|
735
|
+
# An optional string.
|
736
|
+
#
|
737
|
+
# @return [String, ON_CYAN]
|
738
|
+
# The colorized string or just {ON_CYAN} if no arguments were given.
|
739
|
+
#
|
740
|
+
# @see ON_CYAN
|
741
|
+
#
|
742
|
+
# @api public
|
743
|
+
#
|
744
|
+
# @since 0.2.0
|
745
|
+
#
|
746
|
+
def on_cyan(string=nil)
|
747
|
+
if string then "#{ON_CYAN}#{string}#{RESET_BG}"
|
748
|
+
else ON_CYAN
|
749
|
+
end
|
750
|
+
end
|
751
|
+
|
752
|
+
#
|
753
|
+
# Sets the background color to white.
|
754
|
+
#
|
755
|
+
# @param [String, nil] string
|
756
|
+
# An optional string.
|
757
|
+
#
|
758
|
+
# @return [String, ON_WHITE]
|
759
|
+
# The colorized string or just {ON_WHITE} if no arguments were given.
|
760
|
+
#
|
761
|
+
# @see ON_WHITE
|
762
|
+
#
|
763
|
+
# @api public
|
764
|
+
#
|
765
|
+
# @since 0.2.0
|
766
|
+
#
|
767
|
+
def on_white(string=nil)
|
768
|
+
if string then "#{ON_WHITE}#{string}#{RESET_BG}"
|
769
|
+
else ON_WHITE
|
770
|
+
end
|
771
|
+
end
|
772
|
+
|
773
|
+
#
|
774
|
+
# Sets the background color to bright black.
|
775
|
+
#
|
776
|
+
# @param [String, nil] string
|
777
|
+
# An optional string.
|
778
|
+
#
|
779
|
+
# @return [String, ON_BRIGHT_BLACK]
|
780
|
+
# The colorized string or just {ON_BRIGHT_BLACK} if no arguments were
|
781
|
+
# given.
|
782
|
+
#
|
783
|
+
# @see ON_BRIGHT_BLACK
|
784
|
+
#
|
785
|
+
# @api public
|
786
|
+
#
|
787
|
+
# @since 0.3.0
|
788
|
+
#
|
789
|
+
def on_bright_black(string=nil)
|
790
|
+
if string then "#{ON_BRIGHT_BLACK}#{string}#{RESET_BG}"
|
791
|
+
else ON_BRIGHT_BLACK
|
792
|
+
end
|
793
|
+
end
|
794
|
+
|
795
|
+
#
|
796
|
+
# @see #on_bright_black
|
797
|
+
#
|
798
|
+
# @api public
|
799
|
+
#
|
800
|
+
# @since 0.3.0
|
801
|
+
#
|
802
|
+
def on_gray(string=nil)
|
803
|
+
on_bright_black(string)
|
804
|
+
end
|
805
|
+
|
806
|
+
#
|
807
|
+
# Sets the background color to bright red.
|
808
|
+
#
|
809
|
+
# @param [String, nil] string
|
810
|
+
# An optional string.
|
811
|
+
#
|
812
|
+
# @return [String, ON_BRIGHT_RED]
|
813
|
+
# The colorized string or just {ON_BRIGHT_RED} if no arguments were
|
814
|
+
# given.
|
815
|
+
#
|
816
|
+
# @see ON_BRIGHT_RED
|
817
|
+
#
|
818
|
+
# @api public
|
819
|
+
#
|
820
|
+
# @since 0.3.0
|
821
|
+
#
|
822
|
+
def on_bright_red(string=nil)
|
823
|
+
if string then "#{ON_BRIGHT_RED}#{string}#{RESET_BG}"
|
824
|
+
else ON_BRIGHT_RED
|
825
|
+
end
|
826
|
+
end
|
827
|
+
|
828
|
+
#
|
829
|
+
# Sets the background color to bright green.
|
830
|
+
#
|
831
|
+
# @param [String, nil] string
|
832
|
+
# An optional string.
|
833
|
+
#
|
834
|
+
# @return [String, ON_BRIGHT_GREEN]
|
835
|
+
# The colorized string or just {ON_BRIGHT_GREEN} if no arguments were
|
836
|
+
# given.
|
837
|
+
#
|
838
|
+
# @see ON_BRIGHT_GREEN
|
839
|
+
#
|
840
|
+
# @api public
|
841
|
+
#
|
842
|
+
# @since 0.3.0
|
843
|
+
#
|
844
|
+
def on_bright_green(string=nil)
|
845
|
+
if string then "#{ON_BRIGHT_GREEN}#{string}#{RESET_BG}"
|
846
|
+
else ON_BRIGHT_GREEN
|
847
|
+
end
|
848
|
+
end
|
849
|
+
|
850
|
+
#
|
851
|
+
# Sets the background color to bright yellow.
|
852
|
+
#
|
853
|
+
# @param [String, nil] string
|
854
|
+
# An optional string.
|
855
|
+
#
|
856
|
+
# @return [String, ON_BRIGHT_YELLOW]
|
857
|
+
# The colorized string or just {ON_BRIGHT_YELLOW} if no arguments were
|
858
|
+
# given.
|
859
|
+
#
|
860
|
+
# @see ON_BRIGHT_YELLOW
|
861
|
+
#
|
862
|
+
# @api public
|
863
|
+
#
|
864
|
+
# @since 0.3.0
|
865
|
+
#
|
866
|
+
def on_bright_yellow(string=nil)
|
867
|
+
if string then "#{ON_BRIGHT_YELLOW}#{string}#{RESET_BG}"
|
868
|
+
else ON_BRIGHT_YELLOW
|
869
|
+
end
|
870
|
+
end
|
871
|
+
|
872
|
+
#
|
873
|
+
# Sets the background color to bright blue.
|
874
|
+
#
|
875
|
+
# @param [String, nil] string
|
876
|
+
# An optional string.
|
877
|
+
#
|
878
|
+
# @return [String, ON_BRIGHT_BLUE]
|
879
|
+
# The colorized string or just {ON_BRIGHT_BLUE} if no arguments were
|
880
|
+
# given.
|
881
|
+
#
|
882
|
+
# @see ON_BRIGHT_BLUE
|
883
|
+
#
|
884
|
+
# @api public
|
885
|
+
#
|
886
|
+
# @since 0.3.0
|
887
|
+
#
|
888
|
+
def on_bright_blue(string=nil)
|
889
|
+
if string then "#{ON_BRIGHT_BLUE}#{string}#{RESET_BG}"
|
890
|
+
else ON_BRIGHT_BLUE
|
891
|
+
end
|
892
|
+
end
|
893
|
+
|
894
|
+
#
|
895
|
+
# Sets the background color to bright magenta.
|
896
|
+
#
|
897
|
+
# @param [String, nil] string
|
898
|
+
# An optional string.
|
899
|
+
#
|
900
|
+
# @return [String, ON_BRIGHT_MAGENTA]
|
901
|
+
# The colorized string or just {ON_BRIGHT_MAGENTA} if no arguments were
|
902
|
+
# given.
|
903
|
+
#
|
904
|
+
# @see ON_BRIGHT_MAGENTA
|
905
|
+
#
|
906
|
+
# @api public
|
907
|
+
#
|
908
|
+
# @since 0.3.0
|
909
|
+
#
|
910
|
+
def on_bright_magenta(string=nil)
|
911
|
+
if string then "#{ON_BRIGHT_MAGENTA}#{string}#{RESET_BG}"
|
912
|
+
else ON_BRIGHT_MAGENTA
|
913
|
+
end
|
914
|
+
end
|
915
|
+
|
916
|
+
#
|
917
|
+
# Sets the background color to bright cyan.
|
918
|
+
#
|
919
|
+
# @param [String, nil] string
|
920
|
+
# An optional string.
|
921
|
+
#
|
922
|
+
# @return [String, ON_BRIGHT_CYAN]
|
923
|
+
# The colorized string or just {ON_BRIGHT_CYAN} if no arguments were
|
924
|
+
# given.
|
925
|
+
#
|
926
|
+
# @see ON_BRIGHT_CYAN
|
927
|
+
#
|
928
|
+
# @api public
|
929
|
+
#
|
930
|
+
# @since 0.3.0
|
931
|
+
#
|
932
|
+
def on_bright_cyan(string=nil)
|
933
|
+
if string then "#{ON_BRIGHT_CYAN}#{string}#{RESET_BG}"
|
934
|
+
else ON_BRIGHT_CYAN
|
935
|
+
end
|
936
|
+
end
|
937
|
+
|
938
|
+
#
|
939
|
+
# Sets the background color to bright white.
|
940
|
+
#
|
941
|
+
# @param [String, nil] string
|
942
|
+
# An optional string.
|
943
|
+
#
|
944
|
+
# @return [String, ON_BRIGHT_WHITE]
|
945
|
+
# The colorized string or just {ON_BRIGHT_WHITE} if no arguments were
|
946
|
+
# given.
|
947
|
+
#
|
948
|
+
# @see ON_BRIGHT_WHITE
|
949
|
+
#
|
950
|
+
# @api public
|
951
|
+
#
|
952
|
+
# @since 0.3.0
|
953
|
+
#
|
954
|
+
def on_bright_white(string=nil)
|
955
|
+
if string then "#{ON_BRIGHT_WHITE}#{string}#{RESET_BG}"
|
956
|
+
else ON_BRIGHT_WHITE
|
957
|
+
end
|
958
|
+
end
|
959
|
+
end
|
960
|
+
|
961
|
+
#
|
962
|
+
# Dummy module with the same interface as {ANSI}, but for when ANSI is not
|
963
|
+
# supported.
|
964
|
+
#
|
965
|
+
module PlainText
|
966
|
+
ANSI.constants(false).each do |name|
|
967
|
+
const_set(name,'')
|
968
|
+
end
|
969
|
+
|
970
|
+
module_function
|
971
|
+
|
972
|
+
def reset
|
973
|
+
RESET
|
974
|
+
end
|
975
|
+
|
976
|
+
def clear
|
977
|
+
reset
|
978
|
+
end
|
979
|
+
|
980
|
+
[
|
981
|
+
:bold,
|
982
|
+
:black, :red, :green, :yellow, :blue, :magenta, :cyan, :white,
|
983
|
+
:bright_black, :gray, :bright_red, :bright_green, :bright_yellow, :bright_blue, :bright_magenta, :bright_cyan, :bright_white,
|
984
|
+
:on_black, :on_red, :on_green, :on_yellow, :on_blue, :on_magenta, :on_cyan, :on_white,
|
985
|
+
:on_bright_black, :on_gray, :on_bright_red, :on_bright_green, :on_bright_yellow, :on_bright_blue, :on_bright_magenta, :on_bright_cyan, :on_bright_white
|
986
|
+
].each do |name|
|
987
|
+
define_method(name) do |string=nil|
|
988
|
+
string || ''
|
989
|
+
end
|
341
990
|
end
|
342
991
|
end
|
343
992
|
|