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,14 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file will auto-include the Colours module.
6
+ #
7
+ # The HtmlColours namespace is also automatically included, onto the
8
+ # Colours namespace.
9
+ # =========================================================================== #
10
+ # require 'colours/autoinclude.rb'
11
+ # =========================================================================== #
12
+ require 'colours/requires/require_the_colours_project.rb'
13
+
14
+ include Colours
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This is a "dummy" class from which you can quickly subclass if you
6
+ # need methods such as royalblue() to work in your class.
7
+ # =========================================================================== #
8
+ # require 'colours/base/base.rb'
9
+ # class Foobar < Colours::Base
10
+ # =========================================================================== #
11
+ require 'colours/autogenerated/toplevel_basic_colour_methods.rb'
12
+
13
+ module Colours
14
+
15
+ class Base # === Colours::Base
16
+
17
+ include Colours::AllColourMethods
18
+
19
+ end; end
20
+
21
+ if __FILE__ == $PROGRAM_NAME
22
+ puts Colours::Base.new.royalblue('hi there')
23
+ end
@@ -0,0 +1,4 @@
1
+ Code in this directory will be for "basic" colour support in terminals.
2
+
3
+ This primarily refers to plain ANSI escape codes, such as 0;33m for
4
+ the colour yellow.
@@ -0,0 +1,334 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Note that the primary ANSI colours are:
6
+ #
7
+ # black, red, green, yellow, blue, magenta, cyan, white
8
+ #
9
+ # =========================================================================== #
10
+ # require 'colours/basic_colours/basic_colours.rb'
11
+ # include ::Colours::BasicColours
12
+ # =========================================================================== #
13
+ require 'colours/constants/colour_constants.rb'
14
+ require 'colours/constants/hash_simple_colours.rb'
15
+
16
+ module Colours
17
+
18
+ module BasicColours # === Colours::BasicColours
19
+
20
+ # ========================================================================= #
21
+ # === NAMESPACE
22
+ # ========================================================================= #
23
+ NAMESPACE = const_get(inspect)
24
+
25
+ # ========================================================================= #
26
+ # === Colours.cyan
27
+ # ========================================================================= #
28
+ def self.cyan(i = '')
29
+ "#{COLOUR_CYAN}#{i}#{REVERT}"
30
+ end; self.instance_eval { alias teal cyan } # === Colours.teal
31
+
32
+ # ========================================================================= #
33
+ # === cyan
34
+ # ========================================================================= #
35
+ def cyan(i = '')
36
+ NAMESPACE.cyan(i)
37
+ end
38
+
39
+ # ========================================================================= #
40
+ # === Colours.grey
41
+ # ========================================================================= #
42
+ def self.grey(i = '')
43
+ "#{COLOUR_GRAY}#{i}#{REVERT}"
44
+ end; self.instance_eval { alias gray grey } # === Colours.gray
45
+
46
+ # ========================================================================= #
47
+ # === grey
48
+ # ========================================================================= #
49
+ def grey(i = '')
50
+ NAMESPACE.grey(i)
51
+ end; alias gray grey # === gray
52
+
53
+ # ========================================================================= #
54
+ # === Colours::BasicColours.white
55
+ # ========================================================================= #
56
+ def self.white(i = '')
57
+ "#{COLOUR_WHITE}#{i}#{REVERT}"
58
+ end; self.instance_eval { alias bold_white white } # === Colours::BasicColours.bold_white
59
+
60
+ # ========================================================================= #
61
+ # === bold_white
62
+ # ========================================================================= #
63
+ def bold_white(i = '')
64
+ NAMESPACE.bold_white(i)
65
+ end; alias whiteb bold_white # === whiteb
66
+
67
+ # ========================================================================= #
68
+ # === Colours.light_red
69
+ # ========================================================================= #
70
+ def self.light_red(i = '')
71
+ "#{COLOUR_LIGHT_RED}#{i}#{REVERT}"
72
+ end; self.instance_eval { alias lightred light_red } # === Colours.lightred
73
+ self.instance_eval { alias bold_red light_red } # === Colours.bold_red
74
+
75
+ # ========================================================================= #
76
+ # === bold_red
77
+ # ========================================================================= #
78
+ def bold_red(i = '')
79
+ NAMESPACE.bold_red(i)
80
+ end; alias lightred bold_red # === lightred
81
+ alias redb bold_red # === redb
82
+
83
+ # ========================================================================= #
84
+ # === Colours.light_blue
85
+ # ========================================================================= #
86
+ def self.light_blue(i = '')
87
+ "#{COLOUR_LIGHT_BLUE}#{i}#{REVERT}"
88
+ end; self.instance_eval { alias lightblue light_blue } # === Colours.lightblue
89
+ self.instance_eval { alias bold_blue light_blue } # === Colours.bold_blue
90
+
91
+ # ========================================================================= #
92
+ # === light_blue
93
+ # ========================================================================= #
94
+ def light_blue(i = '')
95
+ NAMESPACE.light_blue(i)
96
+ end; alias lightblue light_blue # === lightblue
97
+ alias bold_blue light_blue # === bold_blue
98
+
99
+ # ========================================================================= #
100
+ # === Colours.magenta
101
+ # ========================================================================= #
102
+ def self.magenta(i = '')
103
+ "#{COLOUR_MAGENTA}#{i}#{REVERT}"
104
+ end; self.instance_eval { alias purple magenta } # === Colours.purple
105
+
106
+ # ========================================================================= #
107
+ # === magenta
108
+ # ========================================================================= #
109
+ def magenta(i = '')
110
+ NAMESPACE.magenta(i)
111
+ end; alias purple magenta # === purple
112
+
113
+ # ========================================================================= #
114
+ # === Colours.light_green
115
+ # ========================================================================= #
116
+ def self.light_green(i = '')
117
+ "#{COLOUR_LIGHT_GREEN}#{i}#{REVERT}"
118
+ end; self.instance_eval { alias lightgreen light_green } # === Colours::BasicColours.lightgreen
119
+ self.instance_eval { alias bold_green light_green } # === Colours::BasicColours.bold_green
120
+
121
+ # ========================================================================= #
122
+ # === bold_green
123
+ # ========================================================================= #
124
+ def bold_green(i = '')
125
+ ::NAMESPACE.bold_green(i)
126
+ end; alias greenb bold_green # === greenb
127
+
128
+ # ========================================================================= #
129
+ # === Colours.red
130
+ # ========================================================================= #
131
+ def self.red(i = '')
132
+ "#{COLOUR_RED}#{i}#{REVERT}"
133
+ end
134
+
135
+ # ========================================================================= #
136
+ # === red
137
+ # ========================================================================= #
138
+ def red(i = '')
139
+ NAMESPACE.red(i)
140
+ end
141
+
142
+ # ========================================================================= #
143
+ # === Colours.blue
144
+ # ========================================================================= #
145
+ def self.blue(i = '')
146
+ "#{COLOUR_BLUE}#{i}#{REVERT}"
147
+ end
148
+
149
+ # ========================================================================= #
150
+ # === blue
151
+ # ========================================================================= #
152
+ def blue(i = '')
153
+ NAMESPACE.blue(i)
154
+ end
155
+
156
+ # ========================================================================= #
157
+ # === light_green
158
+ # ========================================================================= #
159
+ def light_green(i = '')
160
+ NAMESPACE.light_green(i)
161
+ end
162
+
163
+ # ========================================================================= #
164
+ # === Colours.light_magenta
165
+ # ========================================================================= #
166
+ def self.light_magenta(i = '')
167
+ "#{COLOUR_LIGHT_MAGENTA}#{i}#{REVERT}"
168
+ end; self.instance_eval { alias lightmagenta light_magenta } # === Colours.lightmagenta
169
+ self.instance_eval { alias light_purple light_magenta } # === Colours.light_purple
170
+
171
+ # ========================================================================= #
172
+ # === light_magenta
173
+ # ========================================================================= #
174
+ def light_magenta(i = '')
175
+ NAMESPACE.light_magenta(i)
176
+ end
177
+
178
+ # ========================================================================= #
179
+ # === Colours.yellow
180
+ # ========================================================================= #
181
+ def self.yellow(i = '')
182
+ "#{COLOUR_YELLOW}#{i}#{REVERT}"
183
+ end; self.instance_eval { alias yel yellow } # === Colours.yel
184
+ self.instance_eval { alias brown yellow } # === Colours.brown
185
+
186
+ # ========================================================================= #
187
+ # === yellow
188
+ # ========================================================================= #
189
+ def yellow(i = '')
190
+ NAMESPACE.yellow(i)
191
+ end; alias brown yellow # === brown
192
+ alias yel yellow # === yel
193
+ alias bold_brown yellow # === bold_brown
194
+
195
+ # ========================================================================= #
196
+ # === light_red
197
+ # ========================================================================= #
198
+ def light_red(i = '')
199
+ NAMESPACE.light_red(i)
200
+ end
201
+
202
+ # ========================================================================= #
203
+ # === Colours.green
204
+ # ========================================================================= #
205
+ def self.green(i = '')
206
+ "#{COLOUR_GREEN}#{i}#{REVERT}"
207
+ end
208
+
209
+ # ========================================================================= #
210
+ # === Colours.brown
211
+ # ========================================================================= #
212
+ def self.brown(i = '')
213
+ "#{COLOUR_BROWN}#{i}#{REVERT}"
214
+ end; self.instance_eval { alias bold_yellow brown } # === Colours.bold_yellow
215
+ self.instance_eval { alias yellow brown } # === Colours.yellow
216
+
217
+ # ========================================================================= #
218
+ # === Colours.light_cyan
219
+ # ========================================================================= #
220
+ def self.light_cyan(i = '')
221
+ "#{COLOUR_LIGHT_CYAN}#{i}#{REVERT}"
222
+ end; self.instance_eval { alias lightcyan light_cyan } # === Colours.lightcyan
223
+
224
+ # ========================================================================= #
225
+ # === Colours.black
226
+ # ========================================================================= #
227
+ def self.black(i = '')
228
+ "#{COLOUR_BLACK}#{i}#{REVERT}"
229
+ end
230
+
231
+ # ========================================================================= #
232
+ # === Colours.light_gray
233
+ # ========================================================================= #
234
+ def self.light_gray(i = '')
235
+ "#{COLOUR_LIGHT_GRAY}#{i}#{REVERT}"
236
+ end; self.instance_eval { alias lightgray light_gray } # === Colours.lightgray
237
+ self.instance_eval { alias light_grey light_gray } # === Colours.light_grey
238
+ self.instance_eval { alias lightgrey light_gray } # === Colours.lightgrey
239
+
240
+ # ========================================================================= #
241
+ # === Colours.dark_gray
242
+ # ========================================================================= #
243
+ def self.dark_gray(i = '')
244
+ "#{COLOUR_DARK_GRAY}#{i}#{REVERT}"
245
+ end; self.instance_eval { alias darkgray dark_gray } # === Colours.darkgray
246
+ self.instance_eval { alias dark_grey dark_gray } # === Colours.dark_grey
247
+ self.instance_eval { alias darkgrey dark_gray } # === Colours.darkgrey
248
+
249
+ # ========================================================================= #
250
+ # === bold_yellow
251
+ # ========================================================================= #
252
+ def bold_yellow(i = '')
253
+ NAMESPACE.bold_yellow(i)
254
+ end; alias yelb bold_yellow # === yelb
255
+
256
+ # ========================================================================= #
257
+ # === Colours.define_colour_methods_that_can_be_included
258
+ #
259
+ # Dynamic definitions of some methods, such as teal() or red()
260
+ # or white() or bold_white() or lightblue(). These will be
261
+ # defined at include-time, meaning that they will only be
262
+ # available if you do "include Colours".
263
+ #
264
+ # Should come up very early in the definition, as other methods
265
+ # may depend on it.
266
+ #
267
+ # To test this, try:
268
+ #
269
+ # Colours.bold_yellow('hey joe')
270
+ #
271
+ # ========================================================================= #
272
+ def self.define_colour_methods_that_can_be_included
273
+ all_colours = ::Colours.really_all_colours
274
+ # ======================================================================= #
275
+ # The above refers to an Array that looks like this:
276
+ #
277
+ # [ :black, :red, :green, :yellow, :blue, :magenta, :teal,
278
+ # :white, :bright_black, :bright_red, :bright_green,
279
+ # :bright_yellow, :bright_blue, :bright_magenta,
280
+ # :bright_cyan, :bright_white]
281
+ #
282
+ # ======================================================================= #
283
+ all_colours.each {|entry|
284
+ unless defined? entry.to_sym # Must prevent re-definitions here.
285
+ define_method(entry.to_sym) {|i = ''| # Allow input.
286
+ i = i.to_s
287
+ _ = ''.dup
288
+ _ << "#{map_colour_to_constant(__method__)}"
289
+ _ << "#{i}#{rev}" unless i.empty?
290
+ return _
291
+ }
292
+ end
293
+ }
294
+ end
295
+
296
+ define_colour_methods_that_can_be_included # Invoke it at once.
297
+
298
+ end; end
299
+
300
+ if __FILE__ == $PROGRAM_NAME
301
+ alias e puts
302
+ x = Colours::BasicColours
303
+ # ========================================================================= #
304
+ # Bold variants:
305
+ # ========================================================================= #
306
+ test_this_string = ' Hello world!'
307
+ e
308
+ e x.bold_blue(test_this_string)
309
+ e x.bold_green(test_this_string)
310
+ e x.bold_red(test_this_string)
311
+ e x.bold_yellow(test_this_string)
312
+ e x.bold_white(test_this_string)
313
+ # ========================================================================= #
314
+ # Non-bold variants:
315
+ # ========================================================================= #
316
+ e
317
+ e 'Next, the non-bold variants:'
318
+ e
319
+ e x.yellow(test_this_string)
320
+ e x.green(test_this_string)
321
+ e x.teal(test_this_string)
322
+ e
323
+ e 'Next, we will create a class with Colours included:'
324
+ e
325
+ e ' class Foo; include Colours; def test; e bold_yellow("hi there"); end; end'
326
+ e
327
+ class Foo
328
+ include Colours::BasicColours
329
+ def test
330
+ e bold_yellow("hi there")
331
+ end
332
+ end
333
+ Foo.new.test
334
+ end # rb basic_colours.rb
@@ -0,0 +1,125 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Colours::Colours
6
+ # =========================================================================== #
7
+ # require 'colours/class/class.rb'
8
+ # =========================================================================== #
9
+ require 'colours/base/base.rb'
10
+
11
+ module Colours
12
+
13
+ class Colours < ::Colours::Base # < Base # === Foo::Class
14
+
15
+ require 'colours/basic_colours/basic_colours.rb'
16
+
17
+ # ========================================================================= #
18
+ # === initialize
19
+ # ========================================================================= #
20
+ def initialize(i = ARGV)
21
+ i = i.join(' ').strip if i.is_a? Array
22
+ @string = i
23
+ end
24
+
25
+ # ========================================================================= #
26
+ # === red
27
+ # ========================================================================= #
28
+ def red
29
+ return ::Colours::BasicColours.red(@string)
30
+ end
31
+
32
+ # ========================================================================= #
33
+ # === blue
34
+ # ========================================================================= #
35
+ def blue
36
+ return ::Colours::BasicColours.blue(@string)
37
+ end
38
+
39
+ # ========================================================================= #
40
+ # === light_magenta
41
+ # ========================================================================= #
42
+ def light_magenta
43
+ return ::Colours::BasicColours.light_magenta(@string)
44
+ end
45
+
46
+ # ========================================================================= #
47
+ # === yellow
48
+ # ========================================================================= #
49
+ def yellow
50
+ return ::Colours::BasicColours.yellow(@string)
51
+ end
52
+
53
+ # ========================================================================= #
54
+ # === light_red
55
+ # ========================================================================= #
56
+ def light_red
57
+ return ::Colours::BasicColours.light_red(@string)
58
+ end
59
+
60
+ # ========================================================================= #
61
+ # === magenta
62
+ # ========================================================================= #
63
+ def magenta
64
+ return ::Colours::BasicColours.magenta(@string)
65
+ end; alias purple magenta # === purple
66
+
67
+ # ========================================================================= #
68
+ # === light_green
69
+ # ========================================================================= #
70
+ def light_green
71
+ return ::Colours::BasicColours.light_green(@string)
72
+ end
73
+
74
+ # ========================================================================= #
75
+ # === white
76
+ # ========================================================================= #
77
+ def white
78
+ return ::Colours::BasicColours.white(@string)
79
+ end
80
+
81
+ # ========================================================================= #
82
+ # === light_blue
83
+ # ========================================================================= #
84
+ def light_blue
85
+ return ::Colours::BasicColours.light_blue(@string)
86
+ end
87
+
88
+ # ========================================================================= #
89
+ # === grey
90
+ # ========================================================================= #
91
+ def grey
92
+ return ::Colours::BasicColours.grey(@string)
93
+ end
94
+
95
+ # ========================================================================= #
96
+ # === cyan
97
+ # ========================================================================= #
98
+ def cyan
99
+ return ::Colours::BasicColours.cyan(@string)
100
+ end
101
+
102
+ end; end
103
+
104
+ # =========================================================================== #
105
+ # === Colours()
106
+ # =========================================================================== #
107
+ def Colours(i = '')
108
+ _ = ::Colours::Colours.new(i)
109
+ return _
110
+ end
111
+
112
+ if __FILE__ == $PROGRAM_NAME
113
+ _ = 'Hey there'
114
+ puts Colours(_).red
115
+ puts Colours(_).blue
116
+ puts Colours(_).light_magenta
117
+ puts Colours(_).yellow
118
+ puts Colours(_).purple
119
+ puts Colours(_).white
120
+ puts Colours(_).light_red
121
+ puts Colours(_).light_green
122
+ puts Colours(_).light_blue
123
+ puts Colours(_).grey
124
+ puts Colours(_).cyan
125
+ end # class.rb
@@ -0,0 +1,11 @@
1
+ This directory will hold the representations for sdir(), sfancy(),
2
+ sfile() and so forth. These methods are the default "colour methods",
3
+ string methods that can be used on the "Colours" namespace directly,
4
+ such as:
5
+
6
+ Colours.sfancy()
7
+ Colours.simportant()
8
+ Colours.sdir()
9
+ Colours.swarn()
10
+
11
+ and so forth.
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/colour_methods/default_colour.rb'
6
+ # =========================================================================== #
7
+ require 'colours/revert/revert.rb'
8
+ require 'colours/colour_table/colour_table.rb'
9
+ require 'colours/toplevel_methods/use_colours.rb'
10
+ require 'colours/toplevel_methods/prefer_this_colour_schemata.rb'
11
+ require 'colours/autogenerated/support_for_html_colours.rb'
12
+
13
+ module Colours
14
+
15
+ # ========================================================================= #
16
+ # === Colours.default_colour
17
+ #
18
+ # Invocation example:
19
+ #
20
+ # puts Colours.default_colour('Hello world!')
21
+ #
22
+ # ========================================================================= #
23
+ def self.default_colour(
24
+ i = '',
25
+ make_newline = false
26
+ )
27
+ if @use_colours
28
+ if make_newline
29
+ i = "#{i}#{N}"
30
+ end
31
+ if @use_html_colours
32
+ i = SupportForHTMLColours.send(@colour_table[__method__.to_sym], i)
33
+ elsif @use_256_colours
34
+ use_this_colour = map_this_symbol_to_that_256_colour(@colour_table[__method__.to_sym])
35
+ i = SupportFor256Colours.send(use_this_colour, i)
36
+ else
37
+ i = "#{corresponding_colour?(@colour_table[__method__.to_sym])}"\
38
+ "#{i}"\
39
+ "#{rev}"
40
+ end
41
+ end
42
+ i
43
+ end
44
+
45
+ # ========================================================================= #
46
+ # === edir
47
+ # ========================================================================= #
48
+ def edefault_colour(
49
+ i = '',
50
+ make_newline = false
51
+ )
52
+ e Colours.default_colour(i, make_newline)
53
+ end
54
+
55
+ # ========================================================================= #
56
+ # === default_colour
57
+ # ========================================================================= #
58
+ def default_colour(i = '')
59
+ Colours.default_colour(i)
60
+ end
61
+
62
+ end
63
+
64
+ if __FILE__ == $PROGRAM_NAME
65
+ puts Colours.default_colour('Hello world!')
66
+ end #
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/colour_methods/sargument.rb'
6
+ # =========================================================================== #
7
+ require 'colours/revert/revert.rb'
8
+ require 'colours/colour_table/colour_table.rb'
9
+ require 'colours/toplevel_methods/use_colours.rb'
10
+ require 'colours/toplevel_methods/prefer_this_colour_schemata.rb'
11
+ require 'colours/autogenerated/support_for_html_colours.rb'
12
+
13
+ module Colours
14
+
15
+ # ========================================================================= #
16
+ # === Colours.sargument
17
+ #
18
+ # Invocation example:
19
+ # Colours.sargument('Hello world!')
20
+ # ========================================================================= #
21
+ def self.sargument(
22
+ i = '',
23
+ make_newline = false
24
+ )
25
+ if make_newline
26
+ i = "#{i}#{N}"
27
+ end
28
+ if @use_colours
29
+ if @use_html_colours
30
+ i = SupportForHTMLColours.send(@colour_table[__method__.to_sym], i)
31
+ elsif @use_256_colours
32
+ use_this_colour = map_this_symbol_to_that_256_colour(@colour_table[__method__.to_sym])
33
+ i = SupportFor256Colours.send(use_this_colour, i)
34
+ else
35
+ i = "#{corresponding_colour?(@colour_table[__method__.to_sym])}"\
36
+ "#{i}"\
37
+ "#{rev}"
38
+ end
39
+ end
40
+ i
41
+ end; self.instance_eval { alias argument sargument } # === Colours.argument
42
+ self.instance_eval { alias sarg sargument } # === Colours.sarg
43
+
44
+ # ========================================================================= #
45
+ # === sargument
46
+ # ========================================================================= #
47
+ def sargument(
48
+ i = '',
49
+ make_newline = false
50
+ )
51
+ Colours.sargument(i, make_newline)
52
+ end; alias sarg sargument # === sarg
53
+
54
+ # ========================================================================= #
55
+ # === eargument
56
+ #
57
+ # The various simple colourize methods.
58
+ # ========================================================================= #
59
+ def eargument(
60
+ i = '',
61
+ make_newline = false
62
+ )
63
+ e Colours.sargument(i, make_newline)
64
+ end
65
+
66
+ end
67
+
68
+ if __FILE__ == $PROGRAM_NAME
69
+ puts Colours.sargument('Hello world!')
70
+ end