colours 0.5.55

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 (144) hide show
  1. checksums.yaml +7 -0
  2. data/LICENCE.md +22 -0
  3. data/README.md +890 -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 +862 -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/README.md +13 -0
  48. data/lib/colours/e/autoinclude.rb +11 -0
  49. data/lib/colours/e/e.rb +35 -0
  50. data/lib/colours/e.rb +5 -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 +112 -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/lib/colours.rb +5 -0
  129. data/test/test.html +18 -0
  130. data/test/testing_256_colours_support.rb +29 -0
  131. data/test/testing_col.rb +10 -0
  132. data/test/testing_colours.rb +95 -0
  133. data/test/testing_colours_e.rb +13 -0
  134. data/test/testing_eparse.rb +13 -0
  135. data/test/testing_kde_colour_palette.rb +30 -0
  136. data/test/testing_konsole_submodule.rb +226 -0
  137. data/test/testing_map_symbol_to_corresponding_colour.rb +14 -0
  138. data/test/testing_rgb_to_hex.rb +32 -0
  139. data/test/testing_the_basic_colours_of_the_colours_project.rb +58 -0
  140. data/test/testing_the_colour_methods.rb +36 -0
  141. data/test/testing_the_constants_of_the_colours_project.rb +9 -0
  142. data/test/testing_the_html_colours_of_the_colours_project.rb +37 -0
  143. data/test/testing_whether_colours_will_be_used.rb +7 -0
  144. metadata +226 -0
@@ -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
@@ -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
+ require 'colours/project/project_base_directory.rb'
9
+
10
+ module Colours
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