colours 0.5.52

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of colours might be problematic. Click here for more details.

Files changed (143) hide show
  1. checksums.yaml +7 -0
  2. data/LICENCE.md +22 -0
  3. data/README.md +889 -0
  4. data/bin/colours +7 -0
  5. data/bin/html_colour_to_hex_value +7 -0
  6. data/bin/html_colourize +7 -0
  7. data/bin/print_rainbow_line +7 -0
  8. data/bin/rainbow_colours +7 -0
  9. data/colours.gemspec +76 -0
  10. data/doc/COLOUR_CODES_CHART.md +28 -0
  11. data/doc/HOW_TO_PICK_YOUR_OWN_COLOURS.md +29 -0
  12. data/doc/README.gen +862 -0
  13. data/lib/colours.rb +5 -0
  14. data/lib/colours/256_colours/support_for_256_colours.rb +180 -0
  15. data/lib/colours/autoalias_e.rb +10 -0
  16. data/lib/colours/autogenerated/README.md +2 -0
  17. data/lib/colours/autogenerated/support_for_256_colours.rb +2235 -0
  18. data/lib/colours/autogenerated/support_for_html_colours.rb +1778 -0
  19. data/lib/colours/autogenerated/toplevel_basic_colour_methods.rb +6366 -0
  20. data/lib/colours/autoinclude.rb +14 -0
  21. data/lib/colours/base/base.rb +23 -0
  22. data/lib/colours/basic_colours/README.md +4 -0
  23. data/lib/colours/basic_colours/basic_colours.rb +279 -0
  24. data/lib/colours/colour_methods/README.md +11 -0
  25. data/lib/colours/colour_methods/default_colour.rb +66 -0
  26. data/lib/colours/colour_methods/sargument.rb +70 -0
  27. data/lib/colours/colour_methods/scomments.rb +105 -0
  28. data/lib/colours/colour_methods/sdir.rb +66 -0
  29. data/lib/colours/colour_methods/sfancy.rb +84 -0
  30. data/lib/colours/colour_methods/sfile.rb +71 -0
  31. data/lib/colours/colour_methods/simportant.rb +92 -0
  32. data/lib/colours/colour_methods/snormal.rb +66 -0
  33. data/lib/colours/colour_methods/ssymlink.rb +102 -0
  34. data/lib/colours/colour_methods/swarn.rb +76 -0
  35. data/lib/colours/colour_table/README.md +3 -0
  36. data/lib/colours/colour_table/colour_table.rb +275 -0
  37. data/lib/colours/colours_e_autoinclude.rb +9 -0
  38. data/lib/colours/commandline/README.md +2 -0
  39. data/lib/colours/commandline/commandline.rb +44 -0
  40. data/lib/colours/commandline/menu.rb +111 -0
  41. data/lib/colours/constants/colour_constants.rb +299 -0
  42. data/lib/colours/constants/file_constants.rb +72 -0
  43. data/lib/colours/constants/hash_simple_colours.rb +146 -0
  44. data/lib/colours/constants/misc.rb +59 -0
  45. data/lib/colours/constants/newline.rb +14 -0
  46. data/lib/colours/constants/registered_colour_methods.rb +53 -0
  47. data/lib/colours/e.rb +5 -0
  48. data/lib/colours/e/README.md +13 -0
  49. data/lib/colours/e/autoinclude.rb +11 -0
  50. data/lib/colours/e/e.rb +35 -0
  51. data/lib/colours/eparse/eparse.rb +77 -0
  52. data/lib/colours/everything/autoinclude.rb +11 -0
  53. data/lib/colours/html_colours/README.md +1 -0
  54. data/lib/colours/html_colours/add_html_colours_onto_the_toplevel_namespace.rb +22 -0
  55. data/lib/colours/html_colours/hash_html_colours.rb +63 -0
  56. data/lib/colours/html_colours/html_colourize.rb +48 -0
  57. data/lib/colours/html_colours/is_this_html_colour_included.rb +64 -0
  58. data/lib/colours/html_colours/misc.rb +186 -0
  59. data/lib/colours/html_colours/show_html_colours.rb +85 -0
  60. data/lib/colours/kde_colour_palette/kde_colour_palette.rb +128 -0
  61. data/lib/colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb +219 -0
  62. data/lib/colours/module.rb +11 -0
  63. data/lib/colours/project/project_base_directory.rb +22 -0
  64. data/lib/colours/rainbow_colours/README.md +2 -0
  65. data/lib/colours/rainbow_colours/check_for_trollop_being_available_or_exit.rb +26 -0
  66. data/lib/colours/rainbow_colours/constants.rb +30 -0
  67. data/lib/colours/rainbow_colours/do_parse_via_rainbow_colours.rb +164 -0
  68. data/lib/colours/rainbow_colours/paint_detected_mode.rb +20 -0
  69. data/lib/colours/rainbow_colours/print_rainbow_line.rb +68 -0
  70. data/lib/colours/rainbow_colours/println_ani.rb +32 -0
  71. data/lib/colours/rainbow_colours/println_plain.rb +36 -0
  72. data/lib/colours/rainbow_colours/rainbow.rb +38 -0
  73. data/lib/colours/rainbow_colours/report_errors.rb +32 -0
  74. data/lib/colours/rainbow_colours/returnln_plain.rb +63 -0
  75. data/lib/colours/rainbow_colours/set_mode.rb +24 -0
  76. data/lib/colours/requires/require_all_colour_methods.rb +5 -0
  77. data/lib/colours/requires/require_commandline.rb +7 -0
  78. data/lib/colours/requires/require_eparse.rb +11 -0
  79. data/lib/colours/requires/require_rgb.rb +5 -0
  80. data/lib/colours/requires/require_sdir.rb +5 -0
  81. data/lib/colours/requires/require_sfile.rb +5 -0
  82. data/lib/colours/requires/require_the_256_colours_module.rb +16 -0
  83. data/lib/colours/requires/require_the_basic_colours.rb +7 -0
  84. data/lib/colours/requires/require_the_colour_methods.rb +34 -0
  85. data/lib/colours/requires/require_the_colour_table.rb +7 -0
  86. data/lib/colours/requires/require_the_colours_project.rb +52 -0
  87. data/lib/colours/requires/require_the_constants.rb +11 -0
  88. data/lib/colours/requires/require_the_html_colours.rb +11 -0
  89. data/lib/colours/requires/require_the_kde_colour_palette.rb +7 -0
  90. data/lib/colours/requires/require_the_toplevel_methods.rb +42 -0
  91. data/lib/colours/revert/revert.rb +106 -0
  92. data/lib/colours/rgb/rgb.rb +547 -0
  93. data/lib/colours/testing/README.md +2 -0
  94. data/lib/colours/testing/testing.rb +157 -0
  95. data/lib/colours/toplevel_methods/bold.rb +35 -0
  96. data/lib/colours/toplevel_methods/bold_and_italic.rb +36 -0
  97. data/lib/colours/toplevel_methods/cat.rb +39 -0
  98. data/lib/colours/toplevel_methods/clear_screen.rb +18 -0
  99. data/lib/colours/toplevel_methods/cliner.rb +19 -0
  100. data/lib/colours/toplevel_methods/col.rb +56 -0
  101. data/lib/colours/toplevel_methods/e.rb +63 -0
  102. data/lib/colours/toplevel_methods/esystem.rb +19 -0
  103. data/lib/colours/toplevel_methods/fancy_parse.rb +79 -0
  104. data/lib/colours/toplevel_methods/html_colourize.rb +64 -0
  105. data/lib/colours/toplevel_methods/is_on_roebe.rb +16 -0
  106. data/lib/colours/toplevel_methods/italic.rb +104 -0
  107. data/lib/colours/toplevel_methods/make_colour.rb +29 -0
  108. data/lib/colours/toplevel_methods/methods_related_to_html_colours.rb +325 -0
  109. data/lib/colours/toplevel_methods/misc.rb +129 -0
  110. data/lib/colours/toplevel_methods/open_this_file.rb +26 -0
  111. data/lib/colours/toplevel_methods/prefer_this_colour_schemata.rb +80 -0
  112. data/lib/colours/toplevel_methods/random_html_colour.rb +44 -0
  113. data/lib/colours/toplevel_methods/random_value.rb +37 -0
  114. data/lib/colours/toplevel_methods/remove_escape_sequence.rb +108 -0
  115. data/lib/colours/toplevel_methods/set_last_colour_used.rb +32 -0
  116. data/lib/colours/toplevel_methods/show_basic_colour_palette.rb +36 -0
  117. data/lib/colours/toplevel_methods/underline.rb +114 -0
  118. data/lib/colours/toplevel_methods/use_colours.rb +290 -0
  119. data/lib/colours/utility_scripts/README.md +2 -0
  120. data/lib/colours/utility_scripts/autogenerate.rb +291 -0
  121. data/lib/colours/version/version.rb +25 -0
  122. data/lib/colours/yaml/256_colours.yml +277 -0
  123. data/lib/colours/yaml/basic_colours.yml +23 -0
  124. data/lib/colours/yaml/html_colours.yml +835 -0
  125. data/lib/colours/yaml/kde_colour_palette.yml +183 -0
  126. data/lib/colours/yaml/prefer_this_colour_schemata.yml +15 -0
  127. data/lib/colours/yaml/use_these_values_for_the_colour_methods.yml +13 -0
  128. data/test/test.html +18 -0
  129. data/test/testing_256_colours_support.rb +29 -0
  130. data/test/testing_col.rb +10 -0
  131. data/test/testing_colours.rb +95 -0
  132. data/test/testing_colours_e.rb +13 -0
  133. data/test/testing_eparse.rb +13 -0
  134. data/test/testing_kde_colour_palette.rb +30 -0
  135. data/test/testing_konsole_submodule.rb +226 -0
  136. data/test/testing_map_symbol_to_corresponding_colour.rb +14 -0
  137. data/test/testing_rgb_to_hex.rb +32 -0
  138. data/test/testing_the_basic_colours_of_the_colours_project.rb +58 -0
  139. data/test/testing_the_colour_methods.rb +36 -0
  140. data/test/testing_the_constants_of_the_colours_project.rb +9 -0
  141. data/test/testing_the_html_colours_of_the_colours_project.rb +37 -0
  142. data/test/testing_whether_colours_will_be_used.rb +7 -0
  143. metadata +225 -0
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/colours_e_autoinclude.rb'
6
+ # =========================================================================== #
7
+ require 'colours/autoinclude'
8
+ require 'colours/e/autoinclude'
9
+ require 'colours/module.rb'
@@ -0,0 +1,2 @@
1
+ This directory collects code that can be used for Colours.commandline()
2
+ input, including the menu() functionality of it.
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/commandline/commandline.rb'
6
+ # =========================================================================== #
7
+ require 'colours/commandline/menu.rb'
8
+ require 'colours/eparse/eparse.rb'
9
+
10
+ module Colours
11
+
12
+ alias e puts
13
+
14
+ # ========================================================================= #
15
+ # === Colours.set_commandline
16
+ # ========================================================================= #
17
+ def self.set_commandline(i = ARGV)
18
+ @commandline = [i].flatten.compact
19
+ end
20
+
21
+ # ========================================================================= #
22
+ # === Colours.commandline?
23
+ # ========================================================================= #
24
+ def self.commandline?
25
+ @commandline
26
+ end
27
+
28
+ # ========================================================================= #
29
+ # === Colours.show_help (help tag)
30
+ # ========================================================================= #
31
+ def self.show_help
32
+ e
33
+ e 'This menu supports the following commands:'
34
+ e
35
+ eparse ' file? # read in from the default test file'
36
+ eparse ' html_colours # show all html colours'
37
+ eparse ' open # open this file here in your editor'
38
+ eparse ' --base-dir? # show the project base directory '\
39
+ 'of the Colours namespace'
40
+ eparse ' --show-html-colours # show the available HTML colours'
41
+ e
42
+ end; self.instance_eval { alias help show_help } # === Colours.help
43
+
44
+ end
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/commandline/menu.rb'
6
+ # =========================================================================== #
7
+ require 'colours/html_colours/show_html_colours.rb'
8
+ require 'colours/toplevel_methods/show_basic_colour_palette.rb'
9
+
10
+ module Colours
11
+
12
+ # ========================================================================= #
13
+ # === Colours.menu (menu tag)
14
+ #
15
+ # To invoke this method, try:
16
+ #
17
+ # colours --show_html_colours
18
+ # colours file?
19
+ #
20
+ # ========================================================================= #
21
+ def self.menu(
22
+ i = @commandline
23
+ )
24
+ if i.is_a? Array
25
+ i.each {|entry| menu(entry) }
26
+ else
27
+ case i # case tag
28
+ # ===================================================================== #
29
+ # === colours --generate_shell_file_containing_the_html_colours
30
+ #
31
+ # This entry point will autogenerate the shell-file that contains
32
+ # the HTML colours (RGB colours).
33
+ # ===================================================================== #
34
+ when /^-?-?generate(-|_)?shell(-|_)?file(-|_)?containing(-|_)?the(-|_)?html(-|_)?colours$/i,
35
+ /^-?-?create(-|_)?shell(-|_)?file$/i # === colours --create-shell-file
36
+ generate_shell_file_containing_the_html_colours
37
+ # ===================================================================== #
38
+ # === colours --show-html_colours
39
+ # ===================================================================== #
40
+ when /^-?-?show(-|_)?html(-|_)?colours$/i,
41
+ /^-?-?show(-|_)?all(-|_)?html(-|_)?colours$/i,
42
+ /^-?-?show(-|_)?all(-|_)?colours$/i,
43
+ /^-?-?html(-|_)?colours$/,
44
+ 'html_colours','htmlcolours','hcolours',
45
+ 'scolours','all','ALL','1','ALL_COLOURS',
46
+ 'colours?',
47
+ 'all_colours',
48
+ 'COLOURS',
49
+ 'html',
50
+ '' # Show all colours here
51
+ Colours.show_html_colours
52
+ exit
53
+ # ===================================================================== #
54
+ # === colours --basics
55
+ # ===================================================================== #
56
+ when /^-?-?basics?$/i
57
+ Colours.show_basic_colour_palette
58
+ exit
59
+ # ===================================================================== #
60
+ # === colours --open
61
+ # ===================================================================== #
62
+ when 'OPEN',
63
+ /^-?-?open$/
64
+ open_this_file :then_exit
65
+ # ===================================================================== #
66
+ # === colours --file?
67
+ # ===================================================================== #
68
+ when /^-?-?file\??$/i,
69
+ 'file','file?'
70
+ cliner {
71
+ e 'We will next read in from the default file, from:'
72
+ e
73
+ e " #{sfile(TEST_FILE)}"
74
+ e
75
+ read_and_display_this_file
76
+ }
77
+ # ===================================================================== #
78
+ # === colours --project_base_directory?
79
+ # ===================================================================== #
80
+ when /^-?-?project(_|-)?base(_|-)?dir\??$/i,
81
+ /^-?-?project(_|-)?base(_|-)?directory\??$/i,
82
+ /^-?-?base(_|-)?dir\??$/i
83
+ e PROJECT_BASE_DIRECTORY
84
+ # ===================================================================== #
85
+ # === colours --show-colour-palette
86
+ # === colours --palette
87
+ #
88
+ # This entry point will show the basic colour palette.
89
+ # ===================================================================== #
90
+ when /^-?-?show(-|_)?colou?r(-|_)?palette$/i,
91
+ /^-?-?show(-|_)?palette$/i,
92
+ /^-?-?palette$/i
93
+ show_colour_palette
94
+ # ===================================================================== #
95
+ # === colours --help
96
+ # ===================================================================== #
97
+ when /^-?-?help$/i
98
+ show_help
99
+ end
100
+ end
101
+ end; self.instance_eval { alias check_against_menu menu } # === Colours.check_against_menu
102
+ # Add an alias to the above. ^^^
103
+
104
+ # ========================================================================= #
105
+ # === menu (menu tag)
106
+ # ========================================================================= #
107
+ def menu(i = nil)
108
+ Colours.menu(i) # Delegate towards the class method above here.
109
+ end
110
+
111
+ end
@@ -0,0 +1,299 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal = true
4
+ # =========================================================================== #
5
+ # This file primarily stores constants, including AnsiColours-related
6
+ # escape sequences. Additionally it will also store methods can refer
7
+ # or make use of these constants, such as Colours.teal(), and so forth.
8
+ #
9
+ # The different escape sequences can be combined into a single escape
10
+ # sequence by separating them via semicolons. For example, to create
11
+ # a section of text that is bold text with a yellow foreground and
12
+ # blue background, the escape sequence would be:
13
+ #
14
+ # ^[[1;33;44m
15
+ #
16
+ # Keep in mind that in bash the ESC code can be either of the following:
17
+ #
18
+ # \e
19
+ # \033 (octal)
20
+ # \x1B (hexadecimal)
21
+ #
22
+ # BOLD colour constants will have a "1" as part of their escape sequence.
23
+ # Note that the bold colours are sometimes also called the "bright colours".
24
+ # =========================================================================== #
25
+ # To see which colours are supported/supportable, for each terminal,
26
+ # have a look at this link:
27
+ #
28
+ # https://misc.flogisoft.com/bash/tip_colors_and_formatting#terminals_compatibility
29
+ #
30
+ # This wikipedia link is also somewhat useful for ANSI escape sequences
31
+ # in general:
32
+ #
33
+ # http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
34
+ #
35
+ # =========================================================================== #
36
+ # This file is tested in the file
37
+ # colours/test/testing_the_basic_colours_of_the_colours_project.rb
38
+ # =========================================================================== #
39
+ # The following table shows the colour-codes for the terminal:
40
+ #
41
+ # Black 0;30 Dark Gray 1;30
42
+ # Red 0;31 Light Red 1;31
43
+ # Green 0;32 Light Green 1;32
44
+ # Yellow 0;33 Brown 1;33
45
+ # Blue 0;34 Light Blue 1;34
46
+ # Magenta 0;35 Light Magenta 1;35
47
+ # Cyan 0;36 Light Cyan 1;36
48
+ # Light Gray 0;37 White 1;37
49
+ #
50
+ # These are also stored in the Hash called HASH_SIMPLE_COLOURS.
51
+ #
52
+ # =========================================================================== #
53
+ # require 'colours/constants/colour_constants.rb'
54
+ # =========================================================================== #
55
+ require 'colours/constants/hash_simple_colours.rb'
56
+ require 'colours/constants/newline.rb'
57
+ require 'colours/revert/revert.rb'
58
+
59
+ module Colours
60
+
61
+ # ========================================================================= #
62
+ # === REDRAW_THE_PROMPT
63
+ #
64
+ # The following constant is necessary in order for the background colour
65
+ # to apply to the whole line and in order for the foreground colour to
66
+ # apply to the cursor.
67
+ # ========================================================================= #
68
+ REDRAW_THE_PROMPT = "\e[K"
69
+
70
+ # ========================================================================= #
71
+ # === Colours::BLACK_ON_WHITE_BACKGROUND
72
+ #
73
+ # Usage example:
74
+ # puts Colours::BLACK_ON_WHITE_BACKGROUND+'Hello world!'+Colours::RESET
75
+ # ========================================================================= #
76
+ BLACK_ON_WHITE_BACKGROUND = "#{ESC}0;30;47m"
77
+ BLACK_ON_WHITE_BG = BLACK_ON_WHITE_BACKGROUND # === BLACK_ON_WHITE_BG
78
+
79
+ # ========================================================================= #
80
+ # === COLOUR_YELLOW
81
+ # ========================================================================= #
82
+ COLOUR_YELLOW = "#{ESC}0;33m"
83
+ BROWN = COLOUR_YELLOW # === BROWN
84
+ YEL = COLOUR_YELLOW # === YEL
85
+ YELLOW = COLOUR_YELLOW # === YELLOW
86
+ BOLD_BROWN = COLOUR_YELLOW # === BOLD_BROWN
87
+
88
+ # ========================================================================= #
89
+ # === COLOUR_LIGHT_MAGENTA
90
+ #
91
+ # This is not the "normal" magenta, but the light variant; also
92
+ # called light purple.
93
+ # ========================================================================= #
94
+ COLOUR_LIGHT_MAGENTA = "#{ESC}1;35m"
95
+ LIGHT_PURPLE = COLOUR_LIGHT_MAGENTA # === LIGHT_PURPLE
96
+ COLOUR_LIGHT_PURPLE = COLOUR_LIGHT_MAGENTA # === COLOUR_LIGHT_PURPLE
97
+ PINK = COLOUR_LIGHT_MAGENTA # === PINK
98
+ COLOUR_PINK = COLOUR_LIGHT_MAGENTA # === COLOUR_PINK
99
+ BRIGHT_PINK = COLOUR_LIGHT_MAGENTA # === BRIGHT_PINK
100
+ BRIGHT_MAGENTA = COLOUR_LIGHT_MAGENTA # === BRIGHT_MAGENTA
101
+
102
+ # ========================================================================= #
103
+ # === COLOUR_LIGHT_RED
104
+ # ========================================================================= #
105
+ COLOUR_LIGHT_RED = "#{ESC}1;31m"
106
+ LIGHT_RED = COLOUR_LIGHT_RED # === LIGHT_RED
107
+ BOLD_RED = COLOUR_LIGHT_RED # === BOLD_RED
108
+ COLOUR_BOLD_RED = COLOUR_LIGHT_RED # === COLOUR_BOLD_RED
109
+ BRIGHT_RED = COLOUR_LIGHT_RED # === BRIGHT_RED
110
+ BOLDRED = COLOUR_LIGHT_RED # === BOLDRED
111
+ REDB = COLOUR_LIGHT_RED # === REDB
112
+ BRED = COLOUR_LIGHT_RED # === BRED
113
+
114
+ # ========================================================================= #
115
+ # == COLOUR_RED (red tag)
116
+ # ========================================================================= #
117
+ COLOUR_RED = "#{ESC}0;31m" # This is thin, darkred.
118
+ RED = COLOUR_RED # === RED
119
+ CRED = COLOUR_RED # === CRED
120
+
121
+ # ========================================================================= #
122
+ # === COLOUR_GREEN
123
+ # ========================================================================= #
124
+ COLOUR_GREEN = "#{ESC}0;32m" # This is lightgreen.
125
+ GREEN = COLOUR_GREEN # === GREEN
126
+ CGREEN = COLOUR_GREEN # === CGREEN
127
+ DARKGREEN = COLOUR_GREEN # === DARKGREEN
128
+
129
+ # ========================================================================= #
130
+ # === COLOUR_BLUE
131
+ # ========================================================================= #
132
+ COLOUR_BLUE = "#{ESC}0;34m"
133
+ BLUE = COLOUR_BLUE # === BLUE
134
+
135
+ # ========================================================================= #
136
+ # === COLOUR_LIGHT_GREEN
137
+ # ========================================================================= #
138
+ COLOUR_LIGHT_GREEN = "#{ESC}1;32m"
139
+ BOLD_GREEN = COLOUR_LIGHT_GREEN # === BOLD_GREEN
140
+ COLOUR_BOLD_GREEN = COLOUR_LIGHT_GREEN # === COLOUR_BOLD_GREEN
141
+ BRIGHT_GREEN = COLOUR_LIGHT_GREEN # === BRIGHT_GREEN
142
+ LIGHTGREEN = COLOUR_LIGHT_GREEN # === LIGHTGREEN
143
+ BGREEN = COLOUR_LIGHT_GREEN # === BGREEN
144
+
145
+ # ========================================================================= #
146
+ # === COLOUR_MAGENTA
147
+ # ========================================================================= #
148
+ COLOUR_MAGENTA = "#{ESC}0;35m"
149
+ PURPLE = COLOUR_MAGENTA # === PURPLE
150
+ COLOUR_PURPLE = COLOUR_MAGENTA # === COLOUR_PURPLE
151
+ MAGENTA = COLOUR_MAGENTA # === MAGENTA
152
+
153
+ # ========================================================================= #
154
+ # === COLOUR_LIGHT_BLUE
155
+ # ========================================================================= #
156
+ COLOUR_LIGHT_BLUE = "#{ESC}1;34m"
157
+ BOLD_BLUE = COLOUR_LIGHT_BLUE # === BOLD_BLUE
158
+ COLOUR_BOLD_BLUE = COLOUR_LIGHT_BLUE # === COLOUR_BOLD_BLUE
159
+ BRIGHT_BLUE = COLOUR_LIGHT_BLUE # === BRIGHT_BLUE
160
+ LIGHT_BLUE = COLOUR_LIGHT_BLUE # === LIGHT_BLUE
161
+ LIGHTBLUE = COLOUR_LIGHT_BLUE # === LIGHTBLUE
162
+ BBLUE = COLOUR_LIGHT_BLUE # === BBLUE
163
+ BOLDBLUE = COLOUR_LIGHT_BLUE # === BOLDBLUE
164
+
165
+ # ========================================================================= #
166
+ # === COLOUR_BROWN
167
+ # ========================================================================= #
168
+ COLOUR_BROWN = "#{ESC}1;33m"
169
+ BOLD_YELLOW = COLOUR_BROWN # === BOLD_YELLOW
170
+ GOLD = COLOUR_BROWN # === GOLD
171
+ BRIGHT_BROWN = COLOUR_BROWN # === BRIGHT_BROWN
172
+ BRIGHT_YELLOW = COLOUR_BROWN # === BRIGHT_YELLOW
173
+ BOLDYELLOW = COLOUR_BROWN # === BOLDYELLOW
174
+ BYEL = COLOUR_BROWN # === BYEL
175
+ BYELLOW = COLOUR_BROWN # === BYELLOW
176
+ COLOUR_BOLD_YELLOW = COLOUR_BROWN # === COLOUR_BOLD_YELLOW
177
+
178
+ # ========================================================================= #
179
+ # === COLOUR_LIGHT_CYAN
180
+ # ========================================================================= #
181
+ COLOUR_LIGHT_CYAN = "#{ESC}1;36m"
182
+ BOLD_CYAN = COLOUR_LIGHT_CYAN # === BOLD_CYAN
183
+ COLOUR_BOLD_TEAL = COLOUR_LIGHT_CYAN # === COLOUR_BOLD_TEAL
184
+ BRIGHT_CYAN = COLOUR_LIGHT_CYAN # === BRIGHT_CYAN
185
+ BRIGHT_TEAL = COLOUR_LIGHT_CYAN # === BRIGHT_TEAL
186
+ CYANB = COLOUR_LIGHT_CYAN # === CYANB
187
+ BOLD_TEAL = COLOUR_LIGHT_CYAN # === BOLD_TEAL
188
+
189
+ # ========================================================================= #
190
+ # === COLOUR_CYAN
191
+ #
192
+ # This is also called TEAL, sort of.
193
+ # ========================================================================= #
194
+ COLOUR_CYAN = "#{ESC}0;36m"
195
+ TEAL = COLOUR_CYAN # === TEAL
196
+ CYAN = COLOUR_CYAN # === CYAN
197
+ COLOUR_TEAL = COLOUR_CYAN # === COLOUR_TEAL
198
+
199
+ # ========================================================================= #
200
+ # === COLOUR_BLACK
201
+ # ========================================================================= #
202
+ COLOUR_BLACK = "#{ESC}0;30m"
203
+ COLOUR_GRAY = COLOUR_BLACK # === COLOUR_GRAY
204
+ BLACK = COLOUR_BLACK # === BLACK
205
+
206
+ # ========================================================================= #
207
+ # === REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS
208
+ #
209
+ # This regex can be used to get rid of (some) AnsiEscape characters.
210
+ # ========================================================================= #
211
+ REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS =
212
+ /\033\[.*?m/
213
+ REMOVE_ANSI_ESCAPE_CHARACTERS = REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS # === REMOVE_ANSI_ESCAPE_CHARACTERS
214
+
215
+ # ========================================================================= #
216
+ # === COLOUR_LIGHT_GRAY
217
+ # ========================================================================= #
218
+ COLOUR_LIGHT_GRAY = "#{ESC}0;37m"
219
+ WHITE = COLOUR_LIGHT_GRAY # === WHITE
220
+ COLOUR_LIGHT_GREY = COLOUR_LIGHT_GRAY # === COLOUR_LIGHT_GREY
221
+
222
+ # ========================================================================= #
223
+ # === COLOUR_WHITE
224
+ # ========================================================================= #
225
+ COLOUR_WHITE = "#{ESC}1;37m"
226
+ BOLD_WHITE = COLOUR_WHITE # === BOLD_WHITE
227
+ BRIGHT_WHITE = COLOUR_WHITE # === BRIGHT_WHITE
228
+ BWHITE = COLOUR_WHITE # === BWHITE
229
+ COLOUR_BOLD_WHITE = COLOUR_WHITE # === COLOUR_BOLD_WHITE
230
+
231
+ # ========================================================================= #
232
+ # === COLOUR_DARK_GRAY
233
+ #
234
+ # This is also called "black bold".
235
+ # ========================================================================= #
236
+ COLOUR_DARK_GRAY = "#{ESC}1;30m"
237
+ GREY = COLOUR_DARK_GRAY # === GREY
238
+ GRAY = COLOUR_DARK_GRAY # === GRAY
239
+ CGREY = COLOUR_DARK_GRAY # === CGREY
240
+ BRIGHT_BLACK = COLOUR_DARK_GRAY # === BRIGHT_BLACK
241
+ BOLD_BLACK = COLOUR_DARK_GRAY # === BOLD_BLACK
242
+
243
+ # ========================================================================= #
244
+ # === ARRAY_REGISTERED_ANSI_COLOURS
245
+ # ========================================================================= #
246
+ ARRAY_REGISTERED_ANSI_COLOURS = [
247
+
248
+ COLOUR_BLACK,
249
+ COLOUR_RED,
250
+ COLOUR_GREEN,
251
+ COLOUR_YELLOW,
252
+ COLOUR_BLUE,
253
+ COLOUR_MAGENTA,
254
+ COLOUR_TEAL,
255
+ COLOUR_LIGHT_GREY,
256
+
257
+ COLOUR_BOLD_RED,
258
+ COLOUR_BOLD_GREEN,
259
+ COLOUR_BOLD_YELLOW,
260
+ COLOUR_BOLD_BLUE,
261
+ COLOUR_PINK,
262
+ COLOUR_BOLD_TEAL,
263
+ COLOUR_BOLD_WHITE,
264
+
265
+ COLOUR_RESET
266
+
267
+ ]
268
+
269
+ end
270
+
271
+ if __FILE__ == $PROGRAM_NAME
272
+ alias e puts
273
+ include Colours
274
+ e CYAN+'Hi there.'+RESET
275
+ e BWHITE+'Hi there.'+BBLUE+' Yo there.'+RESET
276
+ e WHITE+'Hi there.'+BBLUE+' Yo there.'+RESET
277
+ e BLACK_ON_WHITE_BACKGROUND+'Hello world!'+RESET
278
+ e BRIGHT_RED+'Hi there.'+BBLUE+' Yo there.'+RESET
279
+ e BRIGHT_BLUE+'Hi there.'+BWHITE+' Yo there.'+RESET
280
+ e
281
+ e 'And testing individual colours for the characters next:'
282
+ e
283
+ e BLACK+' A '+
284
+ RED+' B '+
285
+ GREEN+' C '+
286
+ BROWN+' D '+
287
+ BLUE+' E '+
288
+ MAGENTA+' F '+
289
+ TEAL+' G '+
290
+ WHITE+' H '+
291
+ RESET
292
+ e
293
+ e 'Same as above but with the bright colours instead:'
294
+ e
295
+ e BRIGHT_BLACK+' A '+BRIGHT_RED+' B '+BRIGHT_GREEN+' C '+
296
+ BRIGHT_BROWN+' D '+BRIGHT_BLUE+' E '+BRIGHT_MAGENTA+
297
+ ' F '+BRIGHT_TEAL+' G '+BRIGHT_WHITE+' H '+RESET
298
+ e
299
+ end