colours 0.6.12

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 (147) hide show
  1. checksums.yaml +7 -0
  2. data/LICENCE.md +22 -0
  3. data/README.md +970 -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/bin/remove_ansii_escape_sequences +7 -0
  10. data/colours.gemspec +76 -0
  11. data/doc/COLOUR_CODES_CHART.md +28 -0
  12. data/doc/HOW_TO_PICK_YOUR_OWN_COLOURS.md +29 -0
  13. data/doc/README.gen +927 -0
  14. data/doc/todo/todo.md +25 -0
  15. data/lib/colours/256_colours/support_for_256_colours.rb +190 -0
  16. data/lib/colours/autoalias_e.rb +10 -0
  17. data/lib/colours/autogenerated/README.md +2 -0
  18. data/lib/colours/autogenerated/support_for_256_colours.rb +2235 -0
  19. data/lib/colours/autogenerated/support_for_html_colours.rb +1778 -0
  20. data/lib/colours/autogenerated/toplevel_basic_colour_methods.rb +6367 -0
  21. data/lib/colours/autoinclude.rb +14 -0
  22. data/lib/colours/base/base.rb +23 -0
  23. data/lib/colours/basic_colours/README.md +4 -0
  24. data/lib/colours/basic_colours/basic_colours.rb +334 -0
  25. data/lib/colours/class/class.rb +125 -0
  26. data/lib/colours/colour_methods/README.md +11 -0
  27. data/lib/colours/colour_methods/default_colour.rb +66 -0
  28. data/lib/colours/colour_methods/sargument.rb +70 -0
  29. data/lib/colours/colour_methods/scomments.rb +105 -0
  30. data/lib/colours/colour_methods/sdir.rb +66 -0
  31. data/lib/colours/colour_methods/sfancy.rb +84 -0
  32. data/lib/colours/colour_methods/sfile.rb +71 -0
  33. data/lib/colours/colour_methods/simportant.rb +92 -0
  34. data/lib/colours/colour_methods/snormal.rb +66 -0
  35. data/lib/colours/colour_methods/ssymlink.rb +102 -0
  36. data/lib/colours/colour_methods/swarn.rb +76 -0
  37. data/lib/colours/colour_table/README.md +3 -0
  38. data/lib/colours/colour_table/colour_table.rb +275 -0
  39. data/lib/colours/colours_e_autoinclude.rb +9 -0
  40. data/lib/colours/commandline/README.md +2 -0
  41. data/lib/colours/commandline/commandline.rb +44 -0
  42. data/lib/colours/commandline/menu.rb +111 -0
  43. data/lib/colours/constants/colour_constants.rb +301 -0
  44. data/lib/colours/constants/file_constants.rb +72 -0
  45. data/lib/colours/constants/hash_simple_colours.rb +146 -0
  46. data/lib/colours/constants/misc.rb +59 -0
  47. data/lib/colours/constants/newline.rb +14 -0
  48. data/lib/colours/constants/registered_colour_methods.rb +53 -0
  49. data/lib/colours/e/README.md +13 -0
  50. data/lib/colours/e/autoinclude.rb +11 -0
  51. data/lib/colours/e/e.rb +35 -0
  52. data/lib/colours/e.rb +5 -0
  53. data/lib/colours/eparse/eparse.rb +77 -0
  54. data/lib/colours/everything/autoinclude.rb +11 -0
  55. data/lib/colours/html_colours/README.md +1 -0
  56. data/lib/colours/html_colours/add_html_colours_onto_the_toplevel_namespace.rb +22 -0
  57. data/lib/colours/html_colours/hash_html_colours.rb +63 -0
  58. data/lib/colours/html_colours/html_colourize.rb +48 -0
  59. data/lib/colours/html_colours/is_this_html_colour_included.rb +64 -0
  60. data/lib/colours/html_colours/misc.rb +186 -0
  61. data/lib/colours/html_colours/show_html_colours.rb +85 -0
  62. data/lib/colours/kde_colour_palette/kde_colour_palette.rb +128 -0
  63. data/lib/colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb +219 -0
  64. data/lib/colours/module.rb +11 -0
  65. data/lib/colours/project/project_base_directory.rb +22 -0
  66. data/lib/colours/rainbow_colours/README.md +2 -0
  67. data/lib/colours/rainbow_colours/check_for_trollop_being_available_or_exit.rb +26 -0
  68. data/lib/colours/rainbow_colours/constants.rb +30 -0
  69. data/lib/colours/rainbow_colours/do_parse_via_rainbow_colours.rb +164 -0
  70. data/lib/colours/rainbow_colours/paint_detected_mode.rb +20 -0
  71. data/lib/colours/rainbow_colours/print_rainbow_line.rb +68 -0
  72. data/lib/colours/rainbow_colours/println_ani.rb +32 -0
  73. data/lib/colours/rainbow_colours/println_plain.rb +36 -0
  74. data/lib/colours/rainbow_colours/rainbow.rb +38 -0
  75. data/lib/colours/rainbow_colours/report_errors.rb +32 -0
  76. data/lib/colours/rainbow_colours/returnln_plain.rb +63 -0
  77. data/lib/colours/rainbow_colours/set_mode.rb +24 -0
  78. data/lib/colours/requires/require_all_colour_methods.rb +5 -0
  79. data/lib/colours/requires/require_commandline.rb +7 -0
  80. data/lib/colours/requires/require_eparse.rb +11 -0
  81. data/lib/colours/requires/require_rgb.rb +5 -0
  82. data/lib/colours/requires/require_sdir.rb +5 -0
  83. data/lib/colours/requires/require_sfile.rb +5 -0
  84. data/lib/colours/requires/require_the_256_colours_module.rb +16 -0
  85. data/lib/colours/requires/require_the_basic_colours.rb +7 -0
  86. data/lib/colours/requires/require_the_colour_methods.rb +34 -0
  87. data/lib/colours/requires/require_the_colour_table.rb +7 -0
  88. data/lib/colours/requires/require_the_colours_project.rb +52 -0
  89. data/lib/colours/requires/require_the_constants.rb +11 -0
  90. data/lib/colours/requires/require_the_html_colours.rb +11 -0
  91. data/lib/colours/requires/require_the_kde_colour_palette.rb +7 -0
  92. data/lib/colours/requires/require_the_toplevel_methods.rb +42 -0
  93. data/lib/colours/requires/require_yaml.rb +9 -0
  94. data/lib/colours/revert/revert.rb +106 -0
  95. data/lib/colours/rgb/rgb.rb +547 -0
  96. data/lib/colours/testing/README.md +2 -0
  97. data/lib/colours/testing/testing.rb +157 -0
  98. data/lib/colours/toplevel_methods/bold.rb +35 -0
  99. data/lib/colours/toplevel_methods/bold_and_italic.rb +36 -0
  100. data/lib/colours/toplevel_methods/cat.rb +39 -0
  101. data/lib/colours/toplevel_methods/clear_screen.rb +18 -0
  102. data/lib/colours/toplevel_methods/cliner.rb +19 -0
  103. data/lib/colours/toplevel_methods/col.rb +56 -0
  104. data/lib/colours/toplevel_methods/e.rb +63 -0
  105. data/lib/colours/toplevel_methods/esystem.rb +19 -0
  106. data/lib/colours/toplevel_methods/fancy_parse.rb +83 -0
  107. data/lib/colours/toplevel_methods/html_colourize.rb +64 -0
  108. data/lib/colours/toplevel_methods/is_on_roebe.rb +16 -0
  109. data/lib/colours/toplevel_methods/italic.rb +110 -0
  110. data/lib/colours/toplevel_methods/make_colour.rb +29 -0
  111. data/lib/colours/toplevel_methods/methods_related_to_html_colours.rb +350 -0
  112. data/lib/colours/toplevel_methods/misc.rb +156 -0
  113. data/lib/colours/toplevel_methods/open_this_file.rb +26 -0
  114. data/lib/colours/toplevel_methods/prefer_this_colour_schemata.rb +85 -0
  115. data/lib/colours/toplevel_methods/random_html_colour.rb +48 -0
  116. data/lib/colours/toplevel_methods/random_value.rb +37 -0
  117. data/lib/colours/toplevel_methods/remove_escape_sequence.rb +112 -0
  118. data/lib/colours/toplevel_methods/set_last_colour_used.rb +32 -0
  119. data/lib/colours/toplevel_methods/show_basic_colour_palette.rb +36 -0
  120. data/lib/colours/toplevel_methods/underline.rb +129 -0
  121. data/lib/colours/toplevel_methods/use_colours.rb +290 -0
  122. data/lib/colours/utility_scripts/README.md +2 -0
  123. data/lib/colours/utility_scripts/autogenerate.rb +291 -0
  124. data/lib/colours/version/version.rb +25 -0
  125. data/lib/colours/yaml/256_colours.yml +277 -0
  126. data/lib/colours/yaml/basic_colours.yml +23 -0
  127. data/lib/colours/yaml/html_colours.yml +835 -0
  128. data/lib/colours/yaml/kde_colour_palette.yml +183 -0
  129. data/lib/colours/yaml/prefer_this_colour_schemata.yml +15 -0
  130. data/lib/colours/yaml/use_these_values_for_the_colour_methods.yml +15 -0
  131. data/lib/colours.rb +5 -0
  132. data/test/test.html +18 -0
  133. data/test/testing_256_colours_support.rb +29 -0
  134. data/test/testing_col.rb +10 -0
  135. data/test/testing_colours.rb +95 -0
  136. data/test/testing_colours_e.rb +13 -0
  137. data/test/testing_eparse.rb +13 -0
  138. data/test/testing_kde_colour_palette.rb +30 -0
  139. data/test/testing_konsole_submodule.rb +226 -0
  140. data/test/testing_map_symbol_to_corresponding_colour.rb +14 -0
  141. data/test/testing_rgb_to_hex.rb +32 -0
  142. data/test/testing_the_basic_colours_of_the_colours_project.rb +58 -0
  143. data/test/testing_the_colour_methods.rb +36 -0
  144. data/test/testing_the_constants_of_the_colours_project.rb +9 -0
  145. data/test/testing_the_html_colours_of_the_colours_project.rb +37 -0
  146. data/test/testing_whether_colours_will_be_used.rb +7 -0
  147. metadata +229 -0
@@ -0,0 +1,301 @@
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
+ module Colours
56
+
57
+ require 'colours/constants/hash_simple_colours.rb'
58
+ require 'colours/constants/newline.rb'
59
+ require 'colours/revert/revert.rb'
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
+ #
75
+ # puts Colours::BLACK_ON_WHITE_BACKGROUND+'Hello world!'+Colours::RESET
76
+ #
77
+ # ========================================================================= #
78
+ BLACK_ON_WHITE_BACKGROUND = "#{ESC}0;30;47m"
79
+ BLACK_ON_WHITE_BG = BLACK_ON_WHITE_BACKGROUND # === BLACK_ON_WHITE_BG
80
+
81
+ # ========================================================================= #
82
+ # === COLOUR_YELLOW
83
+ # ========================================================================= #
84
+ COLOUR_YELLOW = "#{ESC}0;33m"
85
+ BROWN = COLOUR_YELLOW # === BROWN
86
+ YEL = COLOUR_YELLOW # === YEL
87
+ YELLOW = COLOUR_YELLOW # === YELLOW
88
+ BOLD_BROWN = COLOUR_YELLOW # === BOLD_BROWN
89
+
90
+ # ========================================================================= #
91
+ # === COLOUR_LIGHT_MAGENTA
92
+ #
93
+ # This is not the "normal" magenta, but the light variant; also
94
+ # called light purple.
95
+ # ========================================================================= #
96
+ COLOUR_LIGHT_MAGENTA = "#{ESC}1;35m"
97
+ LIGHT_PURPLE = COLOUR_LIGHT_MAGENTA # === LIGHT_PURPLE
98
+ COLOUR_LIGHT_PURPLE = COLOUR_LIGHT_MAGENTA # === COLOUR_LIGHT_PURPLE
99
+ PINK = COLOUR_LIGHT_MAGENTA # === PINK
100
+ COLOUR_PINK = COLOUR_LIGHT_MAGENTA # === COLOUR_PINK
101
+ BRIGHT_PINK = COLOUR_LIGHT_MAGENTA # === BRIGHT_PINK
102
+ BRIGHT_MAGENTA = COLOUR_LIGHT_MAGENTA # === BRIGHT_MAGENTA
103
+
104
+ # ========================================================================= #
105
+ # === COLOUR_LIGHT_RED
106
+ # ========================================================================= #
107
+ COLOUR_LIGHT_RED = "#{ESC}1;31m"
108
+ LIGHT_RED = COLOUR_LIGHT_RED # === LIGHT_RED
109
+ BOLD_RED = COLOUR_LIGHT_RED # === BOLD_RED
110
+ COLOUR_BOLD_RED = COLOUR_LIGHT_RED # === COLOUR_BOLD_RED
111
+ BRIGHT_RED = COLOUR_LIGHT_RED # === BRIGHT_RED
112
+ BOLDRED = COLOUR_LIGHT_RED # === BOLDRED
113
+ REDB = COLOUR_LIGHT_RED # === REDB
114
+ BRED = COLOUR_LIGHT_RED # === BRED
115
+
116
+ # ========================================================================= #
117
+ # == COLOUR_RED (red tag)
118
+ # ========================================================================= #
119
+ COLOUR_RED = "#{ESC}0;31m" # This is thin, darkred.
120
+ RED = COLOUR_RED # === RED
121
+ CRED = COLOUR_RED # === CRED
122
+
123
+ # ========================================================================= #
124
+ # === COLOUR_GREEN
125
+ # ========================================================================= #
126
+ COLOUR_GREEN = "#{ESC}0;32m" # This is lightgreen.
127
+ GREEN = COLOUR_GREEN # === GREEN
128
+ CGREEN = COLOUR_GREEN # === CGREEN
129
+ DARKGREEN = COLOUR_GREEN # === DARKGREEN
130
+
131
+ # ========================================================================= #
132
+ # === COLOUR_BLUE
133
+ # ========================================================================= #
134
+ COLOUR_BLUE = "#{ESC}0;34m"
135
+ BLUE = COLOUR_BLUE # === BLUE
136
+
137
+ # ========================================================================= #
138
+ # === COLOUR_LIGHT_GREEN
139
+ # ========================================================================= #
140
+ COLOUR_LIGHT_GREEN = "#{ESC}1;32m"
141
+ BOLD_GREEN = COLOUR_LIGHT_GREEN # === BOLD_GREEN
142
+ COLOUR_BOLD_GREEN = COLOUR_LIGHT_GREEN # === COLOUR_BOLD_GREEN
143
+ BRIGHT_GREEN = COLOUR_LIGHT_GREEN # === BRIGHT_GREEN
144
+ LIGHTGREEN = COLOUR_LIGHT_GREEN # === LIGHTGREEN
145
+ BGREEN = COLOUR_LIGHT_GREEN # === BGREEN
146
+
147
+ # ========================================================================= #
148
+ # === COLOUR_MAGENTA
149
+ # ========================================================================= #
150
+ COLOUR_MAGENTA = "#{ESC}0;35m"
151
+ PURPLE = COLOUR_MAGENTA # === PURPLE
152
+ COLOUR_PURPLE = COLOUR_MAGENTA # === COLOUR_PURPLE
153
+ MAGENTA = COLOUR_MAGENTA # === MAGENTA
154
+
155
+ # ========================================================================= #
156
+ # === COLOUR_LIGHT_BLUE
157
+ # ========================================================================= #
158
+ COLOUR_LIGHT_BLUE = "#{ESC}1;34m"
159
+ BOLD_BLUE = COLOUR_LIGHT_BLUE # === BOLD_BLUE
160
+ COLOUR_BOLD_BLUE = COLOUR_LIGHT_BLUE # === COLOUR_BOLD_BLUE
161
+ BRIGHT_BLUE = COLOUR_LIGHT_BLUE # === BRIGHT_BLUE
162
+ LIGHT_BLUE = COLOUR_LIGHT_BLUE # === LIGHT_BLUE
163
+ LIGHTBLUE = COLOUR_LIGHT_BLUE # === LIGHTBLUE
164
+ BBLUE = COLOUR_LIGHT_BLUE # === BBLUE
165
+ BOLDBLUE = COLOUR_LIGHT_BLUE # === BOLDBLUE
166
+
167
+ # ========================================================================= #
168
+ # === COLOUR_BROWN
169
+ # ========================================================================= #
170
+ COLOUR_BROWN = "#{ESC}1;33m"
171
+ BOLD_YELLOW = COLOUR_BROWN # === BOLD_YELLOW
172
+ GOLD = COLOUR_BROWN # === GOLD
173
+ BRIGHT_BROWN = COLOUR_BROWN # === BRIGHT_BROWN
174
+ BRIGHT_YELLOW = COLOUR_BROWN # === BRIGHT_YELLOW
175
+ BOLDYELLOW = COLOUR_BROWN # === BOLDYELLOW
176
+ BYEL = COLOUR_BROWN # === BYEL
177
+ BYELLOW = COLOUR_BROWN # === BYELLOW
178
+ COLOUR_BOLD_YELLOW = COLOUR_BROWN # === COLOUR_BOLD_YELLOW
179
+
180
+ # ========================================================================= #
181
+ # === COLOUR_LIGHT_CYAN
182
+ # ========================================================================= #
183
+ COLOUR_LIGHT_CYAN = "#{ESC}1;36m"
184
+ BOLD_CYAN = COLOUR_LIGHT_CYAN # === BOLD_CYAN
185
+ COLOUR_BOLD_TEAL = COLOUR_LIGHT_CYAN # === COLOUR_BOLD_TEAL
186
+ BRIGHT_CYAN = COLOUR_LIGHT_CYAN # === BRIGHT_CYAN
187
+ BRIGHT_TEAL = COLOUR_LIGHT_CYAN # === BRIGHT_TEAL
188
+ CYANB = COLOUR_LIGHT_CYAN # === CYANB
189
+ BOLD_TEAL = COLOUR_LIGHT_CYAN # === BOLD_TEAL
190
+
191
+ # ========================================================================= #
192
+ # === COLOUR_CYAN
193
+ #
194
+ # This is also called TEAL, sort of.
195
+ # ========================================================================= #
196
+ COLOUR_CYAN = "#{ESC}0;36m"
197
+ TEAL = COLOUR_CYAN # === TEAL
198
+ CYAN = COLOUR_CYAN # === CYAN
199
+ COLOUR_TEAL = COLOUR_CYAN # === COLOUR_TEAL
200
+
201
+ # ========================================================================= #
202
+ # === COLOUR_BLACK
203
+ # ========================================================================= #
204
+ COLOUR_BLACK = "#{ESC}0;30m"
205
+ COLOUR_GRAY = COLOUR_BLACK # === COLOUR_GRAY
206
+ BLACK = COLOUR_BLACK # === BLACK
207
+
208
+ # ========================================================================= #
209
+ # === REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS
210
+ #
211
+ # This regex can be used to get rid of (some) AnsiEscape characters.
212
+ # ========================================================================= #
213
+ REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS =
214
+ /\033\[.*?m/
215
+ REMOVE_ANSI_ESCAPE_CHARACTERS = REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS # === REMOVE_ANSI_ESCAPE_CHARACTERS
216
+
217
+ # ========================================================================= #
218
+ # === COLOUR_LIGHT_GRAY
219
+ # ========================================================================= #
220
+ COLOUR_LIGHT_GRAY = "#{ESC}0;37m"
221
+ WHITE = COLOUR_LIGHT_GRAY # === WHITE
222
+ COLOUR_LIGHT_GREY = COLOUR_LIGHT_GRAY # === COLOUR_LIGHT_GREY
223
+
224
+ # ========================================================================= #
225
+ # === COLOUR_WHITE
226
+ # ========================================================================= #
227
+ COLOUR_WHITE = "#{ESC}1;37m"
228
+ BOLD_WHITE = COLOUR_WHITE # === BOLD_WHITE
229
+ BRIGHT_WHITE = COLOUR_WHITE # === BRIGHT_WHITE
230
+ BWHITE = COLOUR_WHITE # === BWHITE
231
+ COLOUR_BOLD_WHITE = COLOUR_WHITE # === COLOUR_BOLD_WHITE
232
+
233
+ # ========================================================================= #
234
+ # === COLOUR_DARK_GRAY
235
+ #
236
+ # This is also called "black bold".
237
+ # ========================================================================= #
238
+ COLOUR_DARK_GRAY = "#{ESC}1;30m"
239
+ GREY = COLOUR_DARK_GRAY # === GREY
240
+ GRAY = COLOUR_DARK_GRAY # === GRAY
241
+ CGREY = COLOUR_DARK_GRAY # === CGREY
242
+ BRIGHT_BLACK = COLOUR_DARK_GRAY # === BRIGHT_BLACK
243
+ BOLD_BLACK = COLOUR_DARK_GRAY # === BOLD_BLACK
244
+
245
+ # ========================================================================= #
246
+ # === ARRAY_REGISTERED_ANSI_COLOURS
247
+ # ========================================================================= #
248
+ ARRAY_REGISTERED_ANSI_COLOURS = [
249
+
250
+ COLOUR_BLACK,
251
+ COLOUR_RED,
252
+ COLOUR_GREEN,
253
+ COLOUR_YELLOW,
254
+ COLOUR_BLUE,
255
+ COLOUR_MAGENTA,
256
+ COLOUR_TEAL,
257
+ COLOUR_LIGHT_GREY,
258
+
259
+ COLOUR_BOLD_RED,
260
+ COLOUR_BOLD_GREEN,
261
+ COLOUR_BOLD_YELLOW,
262
+ COLOUR_BOLD_BLUE,
263
+ COLOUR_PINK,
264
+ COLOUR_BOLD_TEAL,
265
+ COLOUR_BOLD_WHITE,
266
+
267
+ COLOUR_RESET
268
+
269
+ ]
270
+
271
+ end
272
+
273
+ if __FILE__ == $PROGRAM_NAME
274
+ alias e puts
275
+ include Colours
276
+ e CYAN+'Hi there.'+RESET
277
+ e BWHITE+'Hi there.'+BBLUE+' Yo there.'+RESET
278
+ e WHITE+'Hi there.'+BBLUE+' Yo there.'+RESET
279
+ e BLACK_ON_WHITE_BACKGROUND+'Hello world!'+RESET
280
+ e BRIGHT_RED+'Hi there.'+BBLUE+' Yo there.'+RESET
281
+ e BRIGHT_BLUE+'Hi there.'+BWHITE+' Yo there.'+RESET
282
+ e
283
+ e 'And testing individual colours for the characters next:'
284
+ e
285
+ e BLACK+' A '+
286
+ RED+' B '+
287
+ GREEN+' C '+
288
+ BROWN+' D '+
289
+ BLUE+' E '+
290
+ MAGENTA+' F '+
291
+ TEAL+' G '+
292
+ WHITE+' H '+
293
+ RESET
294
+ e
295
+ e 'Same as above but with the bright colours instead:'
296
+ e
297
+ e BRIGHT_BLACK+' A '+BRIGHT_RED+' B '+BRIGHT_GREEN+' C '+
298
+ BRIGHT_BROWN+' D '+BRIGHT_BLUE+' E '+BRIGHT_MAGENTA+
299
+ ' F '+BRIGHT_TEAL+' G '+BRIGHT_WHITE+' H '+RESET
300
+ e
301
+ end
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/constants/file_constants.rb'
6
+ # Colours.file_html_colours_to_rgb?
7
+ # =========================================================================== #
8
+ module Colours
9
+
10
+ require 'colours/project/project_base_directory.rb'
11
+
12
+ # ========================================================================= #
13
+ # === Colours::FILE_HTML_COLOURS
14
+ # ========================================================================= #
15
+ FILE_HTML_COLOURS =
16
+ "#{PROJECT_BASE_DIRECTORY}yaml/html_colours.yml"
17
+
18
+ # ========================================================================= #
19
+ # === Colours::FILE_KDE_COLOUR_PALETTE
20
+ # ========================================================================= #
21
+ FILE_KDE_COLOUR_PALETTE =
22
+ "#{PROJECT_BASE_DIRECTORY}yaml/kde_colour_palette.yml"
23
+
24
+ # ========================================================================= #
25
+ # === Colours::FILE_256_COLOURS
26
+ # ========================================================================= #
27
+ FILE_256_COLOURS =
28
+ "#{PROJECT_BASE_DIRECTORY}yaml/256_colours.yml"
29
+
30
+ # ========================================================================= #
31
+ # === Colours::FILE_BASIC_COLOURS
32
+ # ========================================================================= #
33
+ FILE_BASIC_COLOURS =
34
+ "#{PROJECT_BASE_DIRECTORY}yaml/basic_colours.yml"
35
+
36
+ # ========================================================================= #
37
+ # === Colours::FILE_USE_THESE_VALUES_FOR_THE_COLOUR_METHODS
38
+ # ========================================================================= #
39
+ FILE_USE_THESE_VALUES_FOR_THE_COLOUR_METHODS =
40
+ "#{PROJECT_BASE_DIRECTORY}yaml/use_these_values_for_the_colour_methods.yml"
41
+
42
+ # ========================================================================= #
43
+ # === Colours::FILE_PREFER_THIS_COLOUR_SCHEMATA
44
+ # ========================================================================= #
45
+ FILE_PREFER_THIS_COLOUR_SCHEMATA =
46
+ "#{PROJECT_BASE_DIRECTORY}yaml/prefer_this_colour_schemata.yml"
47
+
48
+ # ========================================================================= #
49
+ # === Colours.file_html_colours_to_rgb?
50
+ #
51
+ # Easier toplevel-getter method to determine where the file for
52
+ # the html-colours-to-rgb conversion resides.
53
+ # ========================================================================= #
54
+ def self.file_html_colours_to_rgb?
55
+ "#{PROJECT_BASE_DIRECTORY}yaml/html_colours.yml"
56
+ end
57
+
58
+ # ========================================================================= #
59
+ # === Colours.available_file_constants
60
+ # ========================================================================= #
61
+ def self.available_file_constants
62
+ [
63
+ FILE_HTML_COLOURS,
64
+ FILE_KDE_COLOUR_PALETTE
65
+ ]
66
+ end
67
+
68
+ end
69
+
70
+ if __FILE__ == $PROGRAM_NAME
71
+ pp Colours.available_file_constants
72
+ end
@@ -0,0 +1,146 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal = true
4
+ # =========================================================================== #
5
+ # require 'colours/constants/hash_simple_colours.rb'
6
+ # =========================================================================== #
7
+ module Colours
8
+
9
+ # ========================================================================= #
10
+ # === Colours::HASH_SIMPLE_COLOURS
11
+ #
12
+ # This hash will only store one name for the corresponding colour code.
13
+ # ========================================================================= #
14
+ HASH_SIMPLE_COLOURS = {
15
+ black: '0;30',
16
+ red: '0;31',
17
+ green: '0;32',
18
+ yellow: '0;33',
19
+ blue: '0;34',
20
+ magenta: '0;35',
21
+ cyan: '0;36',
22
+ light_gray: '0;37',
23
+ # ======================================================================= #
24
+ # Next, the secondary-colours:
25
+ # ======================================================================= #
26
+ dark_gray: '1;30',
27
+ light_red: '1;31',
28
+ light_green: '1;32',
29
+ brown: '1;33',
30
+ light_blue: '1;34',
31
+ light_magenta: '1;35',
32
+ light_cyan: '1;36',
33
+ white: '1;37'
34
+ }
35
+
36
+ # ========================================================================= #
37
+ # === Colours::MAIN_COLOURS
38
+ #
39
+ # The main colours come next.
40
+ #
41
+ # Eight main colours are currently defined, according to:
42
+ #
43
+ # http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
44
+ #
45
+ # The range is:
46
+ #
47
+ # Intensity: 0 1 2 3 4 5 6 7
48
+ # Normal: Black Red Green Yellow Blue Magenta Cyan White
49
+ #
50
+ # Yellow, in my opinion, looks more like brown.
51
+ # ========================================================================= #
52
+ MAIN_COLOURS = %i(
53
+ black red green yellow blue magenta teal white
54
+ ) # ^^^ An Array of Symbols.
55
+
56
+ # ========================================================================= #
57
+ # === Colours.available_main_colours?
58
+ #
59
+ # Feedback which main colours are available.
60
+ # ========================================================================= #
61
+ def self.available_main_colours?
62
+ MAIN_COLOURS
63
+ end; self.instance_eval { alias available_basic_colours? available_main_colours? } # === Colours.available_basic_colours?
64
+
65
+ # ========================================================================= #
66
+ # === main_colours
67
+ #
68
+ # This will return an Array with the symbols such as
69
+ # :black, :red etc..
70
+ # ========================================================================= #
71
+ def main_colours
72
+ ::Colours.available_main_colours?
73
+ end
74
+
75
+ # ========================================================================= #
76
+ # === Colours::SECONDARY_COLOURS
77
+ #
78
+ # The secondary Colours.
79
+ #
80
+ # Colours which are not part of the MAIN_COLOURS Array.
81
+ #
82
+ # The secondary colours are:
83
+ #
84
+ # Bright Black
85
+ # Bright Red
86
+ # Bright Green
87
+ # Bright Yellow
88
+ # Bright Blue
89
+ # Bright Magenta
90
+ # Bright Cyan
91
+ # Bright White
92
+ #
93
+ # ========================================================================= #
94
+ SECONDARY_COLOURS = [
95
+ :bright_black,
96
+ :bright_red,
97
+ :bright_green,
98
+ :bright_yellow,
99
+ :bright_blue,
100
+ :bright_magenta,
101
+ :bright_cyan,
102
+ :bright_white
103
+ ]
104
+
105
+ # ========================================================================= #
106
+ # === ALL_COLOURS
107
+ #
108
+ # Simply combine the two Arrays, MAIN_COLOURS and SECONDARY_COLOURS,
109
+ # into one aggregate Array.
110
+ # ========================================================================= #
111
+ ALL_COLOURS = MAIN_COLOURS +
112
+ SECONDARY_COLOURS
113
+
114
+ # ========================================================================= #
115
+ # === Colours.really_all_colours
116
+ #
117
+ # This method will return an Array that may look like this:
118
+ #
119
+ # [:black, :red, :green, :yellow, :blue, :magenta, :teal,
120
+ # :white, :bright_black, :bright_red, :bright_green,
121
+ # :bright_yellow, :bright_blue, :bright_magenta,
122
+ # :bright_cyan, :bright_white]
123
+ #
124
+ # ========================================================================= #
125
+ def self.really_all_colours
126
+ ALL_COLOURS # This is the conjoint Array.
127
+ end; self.instance_eval { alias all_available_colours really_all_colours } # === Colours.all_available_colours
128
+
129
+ # ========================================================================= #
130
+ # === Colours.is_a_valid_colour?
131
+ #
132
+ # This method allows you to check if a given input-string is a
133
+ # valid colour.
134
+ #
135
+ # A "valid" colour is one that the colours project supports.
136
+ #
137
+ # For example, the string "lightblue" is a valid colour.
138
+ #
139
+ # Usage example:
140
+ # Colours.is_a_valid_colour? 'lightblue'
141
+ # ========================================================================= #
142
+ def self.is_a_valid_colour?(i)
143
+ ALL_COLOURS.include? i.to_sym
144
+ end
145
+
146
+ end
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal = true
4
+ # =========================================================================== #
5
+ # require 'colours/constants/misc.rb'
6
+ # =========================================================================== #
7
+ module Colours
8
+
9
+ # ========================================================================= #
10
+ # === HOME_DIRECTORY_OF_USER_X
11
+ # ========================================================================= #
12
+ HOME_DIRECTORY_OF_USER_X = '/home/x/'
13
+
14
+ # ========================================================================= #
15
+ # === Colours::DEFAULT_TEXT
16
+ # ========================================================================= #
17
+ DEFAULT_TEXT = 'Hello World!'
18
+
19
+ # ========================================================================= #
20
+ # === Colours::IS_A_TEST
21
+ # ========================================================================= #
22
+ IS_A_TEST = ' This is just a simple colour test.'
23
+
24
+ # ========================================================================= #
25
+ # === Colours::TEST_FILE
26
+ # ========================================================================= #
27
+ TEST_FILE =
28
+ "#{HOME_DIRECTORY_OF_USER_X}DATA/PROGRAMMING_LANGUAGES/RUBY/src/colours/test/testing_konsole_submodule.rb"
29
+
30
+ # ========================================================================= #
31
+ # === LEFT
32
+ #
33
+ # Leading on the left side, for RGB value setting. This is the beginning
34
+ # of a special instruction. Note that "\e[38" should be equal to "\x1b",
35
+ # but IRB reports that this is not the case so.
36
+ #
37
+ # Examples on the www show usage such as this:
38
+ #
39
+ # printf "\x1b[${bg};2;${red};${green};${blue}m\n"
40
+ # printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"
41
+ #
42
+ # ========================================================================= #
43
+ LEFT = "\e[38;2;".dup
44
+
45
+ # ========================================================================= #
46
+ # === Colours.left?
47
+ # ========================================================================= #
48
+ def self.left?
49
+ LEFT
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === left?
54
+ # ========================================================================= #
55
+ def left?
56
+ Colours.left?
57
+ end
58
+
59
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/constants/newline.rb'
6
+ # =========================================================================== #
7
+ module Colours
8
+
9
+ # ========================================================================= #
10
+ # === N
11
+ # ========================================================================= #
12
+ N = "\n"
13
+
14
+ end
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/constants/registered_colour_methods.rb'
6
+ # =========================================================================== #
7
+ module Colours
8
+
9
+ # ========================================================================= #
10
+ # === Colours::REGISTERED_COLOUR_METHODS
11
+ #
12
+ # These methods constitute the registered colour methods.
13
+ #
14
+ # These have a corresponding method, such as snormal() or sdir() or
15
+ # sfile().
16
+ #
17
+ # snormal() stands for the "normal" colour, aka the "default
18
+ # colour".
19
+ # ========================================================================= #
20
+ REGISTERED_COLOUR_METHODS = %i(
21
+ snormal
22
+ sargument
23
+ scomments
24
+ ssymlink
25
+ sdir
26
+ sfile
27
+ sfancy
28
+ simportant
29
+ swarn
30
+ )
31
+
32
+ # ========================================================================= #
33
+ # === REGISTERED_COLOUR_METHODS_ALIASES
34
+ #
35
+ # This Array should hold all aliases to the main colour-methods,
36
+ # such as simportant() or sargument().
37
+ # ========================================================================= #
38
+ REGISTERED_COLOUR_METHODS_ALIASES = %i(
39
+ argument
40
+ ssym
41
+ simp
42
+ sarg
43
+ normal
44
+ comments
45
+ symlink
46
+ dir
47
+ file
48
+ fancy
49
+ important
50
+ warn
51
+ )
52
+
53
+ end
@@ -0,0 +1,13 @@
1
+ The directory here exists for the submodule called E.
2
+
3
+ The reason for this strange name is that I used to do
4
+ this a lot in ruby:
5
+
6
+ alias e puts
7
+
8
+ So in other words, I would be using "e" rather than
9
+ puts, in order to do output.
10
+
11
+ I also used to have this in another project called AliasE,
12
+ but eventually I decided that I should put this right
13
+ into the Colours project.
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This .rb file will just autoinclude Colours::E into the main namespace.
6
+ # =========================================================================== #
7
+ # require 'colours/e/autoinclude.rb'
8
+ # =========================================================================== #
9
+ require 'colours/e/e.rb'
10
+
11
+ include Colours::E