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,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,279 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/basic_colours/basic_colours.rb'
6
+ # =========================================================================== #
7
+ require 'colours/constants/colour_constants.rb'
8
+ require 'colours/constants/hash_simple_colours.rb'
9
+
10
+ module Colours
11
+
12
+ module BasicColours # === Colours::BasicColours
13
+
14
+ # ========================================================================= #
15
+ # === NAMESPACE
16
+ # ========================================================================= #
17
+ NAMESPACE = const_get(inspect)
18
+
19
+ # ========================================================================= #
20
+ # === Colours.red
21
+ # ========================================================================= #
22
+ def self.red(i)
23
+ "#{COLOUR_RED}#{i}#{REVERT}"
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === Colours.light_magenta
28
+ # ========================================================================= #
29
+ def self.light_magenta(i)
30
+ "#{COLOUR_LIGHT_MAGENTA}#{i}#{REVERT}"
31
+ end; self.instance_eval { alias lightmagenta light_magenta } # === Colours.lightmagenta
32
+ self.instance_eval { alias light_purple light_magenta } # === Colours.light_purple
33
+
34
+ # ========================================================================= #
35
+ # === Colours.yellow
36
+ # ========================================================================= #
37
+ def self.yellow(i)
38
+ "#{COLOUR_YELLOW}#{i}#{REVERT}"
39
+ end; self.instance_eval { alias yel yellow } # === Colours.yel
40
+ self.instance_eval { alias brown yellow } # === Colours.brown
41
+
42
+ # ========================================================================= #
43
+ # === Colours.light_red
44
+ # ========================================================================= #
45
+ def self.light_red(i)
46
+ "#{COLOUR_LIGHT_RED}#{i}#{REVERT}"
47
+ end; self.instance_eval { alias lightred light_red } # === Colours.lightred
48
+ self.instance_eval { alias bold_red light_red } # === Colours.bold_red
49
+
50
+ # ========================================================================= #
51
+ # === Colours.blue
52
+ # ========================================================================= #
53
+ def self.blue(i)
54
+ "#{COLOUR_BLUE}#{i}#{REVERT}"
55
+ end
56
+
57
+ # ========================================================================= #
58
+ # === Colours.green
59
+ # ========================================================================= #
60
+ def self.green(i)
61
+ "#{COLOUR_GREEN}#{i}#{REVERT}"
62
+ end
63
+
64
+ # ========================================================================= #
65
+ # === Colours.magenta
66
+ # ========================================================================= #
67
+ def self.magenta(i)
68
+ "#{COLOUR_MAGENTA}#{i}#{REVERT}"
69
+ end; self.instance_eval { alias purple magenta } # === Colours.purple
70
+
71
+ # ========================================================================= #
72
+ # === Colours.light_blue
73
+ # ========================================================================= #
74
+ def self.light_blue(i)
75
+ "#{COLOUR_LIGHT_BLUE}#{i}#{REVERT}"
76
+ end; self.instance_eval { alias lightblue light_blue } # === Colours.lightblue
77
+ self.instance_eval { alias bold_blue light_blue } # === Colours.bold_blue
78
+
79
+ # ========================================================================= #
80
+ # === Colours.brown
81
+ # ========================================================================= #
82
+ def self.brown(i)
83
+ "#{COLOUR_BROWN}#{i}#{REVERT}"
84
+ end; self.instance_eval { alias bold_yellow brown } # === Colours.bold_yellow
85
+ self.instance_eval { alias yellow brown } # === Colours.yellow
86
+
87
+ # ========================================================================= #
88
+ # === Colours.light_cyan
89
+ # ========================================================================= #
90
+ def self.light_cyan(i)
91
+ "#{COLOUR_LIGHT_CYAN}#{i}#{REVERT}"
92
+ end; self.instance_eval { alias lightcyan light_cyan } # === Colours.lightcyan
93
+
94
+ # ========================================================================= #
95
+ # === Colours.cyan
96
+ # ========================================================================= #
97
+ def self.cyan(i)
98
+ "#{COLOUR_CYAN}#{i}#{REVERT}"
99
+ end; self.instance_eval { alias teal cyan } # === Colours.teal
100
+
101
+ # ========================================================================= #
102
+ # === Colours.black
103
+ # ========================================================================= #
104
+ def self.black(i)
105
+ "#{COLOUR_BLACK}#{i}#{REVERT}"
106
+ end
107
+
108
+ # ========================================================================= #
109
+ # === Colours.light_gray
110
+ # ========================================================================= #
111
+ def self.light_gray(i)
112
+ "#{COLOUR_LIGHT_GRAY}#{i}#{REVERT}"
113
+ end; self.instance_eval { alias lightgray light_gray } # === Colours.lightgray
114
+ self.instance_eval { alias light_grey light_gray } # === Colours.light_grey
115
+ self.instance_eval { alias lightgrey light_gray } # === Colours.lightgrey
116
+
117
+ # ========================================================================= #
118
+ # === Colours.dark_gray
119
+ # ========================================================================= #
120
+ def self.dark_gray(i)
121
+ "#{COLOUR_DARK_GRAY}#{i}#{REVERT}"
122
+ end; self.instance_eval { alias darkgray dark_gray } # === Colours.darkgray
123
+ self.instance_eval { alias dark_grey dark_gray } # === Colours.dark_grey
124
+ self.instance_eval { alias darkgrey dark_gray } # === Colours.darkgrey
125
+
126
+ # ========================================================================= #
127
+ # === Colours.grey
128
+ # ========================================================================= #
129
+ def self.grey(i)
130
+ "#{COLOUR_GRAY}#{i}#{REVERT}"
131
+ end; self.instance_eval { alias gray grey } # === Colours.gray
132
+
133
+ # ========================================================================= #
134
+ # === grey
135
+ # ========================================================================= #
136
+ def grey(i)
137
+ NAMESPACE.grey(i)
138
+ end; alias gray grey # === gray
139
+
140
+ # ========================================================================= #
141
+ # === yellow
142
+ # ========================================================================= #
143
+ def yellow(i = '')
144
+ NAMESPACE.yellow(i)
145
+ end; alias brown yellow # === brown
146
+ alias yel yellow # === yel
147
+ alias bold_brown yellow # === bold_brown
148
+
149
+ # ========================================================================= #
150
+ # === bold_yellow
151
+ # ========================================================================= #
152
+ def bold_yellow(i = '')
153
+ NAMESPACE.bold_yellow(i)
154
+ end; alias yelb bold_yellow # === yelb
155
+
156
+ # ========================================================================= #
157
+ # === bold_white
158
+ # ========================================================================= #
159
+ def bold_white(i)
160
+ NAMESPACE.bold_white(i)
161
+ end; alias whiteb bold_white # === whiteb
162
+
163
+ # ========================================================================= #
164
+ # === bold_red
165
+ # ========================================================================= #
166
+ def bold_red(i = '')
167
+ NAMESPACE.bold_red(i)
168
+ end; alias lightred bold_red # === lightred
169
+ alias redb bold_red # === redb
170
+
171
+ # ========================================================================= #
172
+ # === light_blue
173
+ # ========================================================================= #
174
+ def light_blue(i)
175
+ NAMESPACE.light_blue(i)
176
+ end; alias lightblue light_blue # === lightblue
177
+ alias bold_blue light_blue # === bold_blue
178
+
179
+ # ========================================================================= #
180
+ # === Colours.define_colour_methods_that_can_be_included
181
+ #
182
+ # Dynamic definitions of some methods, such as teal() or red()
183
+ # or white() or bold_white() or lightblue(). These will be
184
+ # defined at include-time, meaning that they will only be
185
+ # available if you do "include Colours".
186
+ #
187
+ # Should come up very early in the definition, as other methods
188
+ # may depend on it.
189
+ #
190
+ # To test this, try:
191
+ #
192
+ # Colours.bold_yellow('hey joe')
193
+ #
194
+ # ========================================================================= #
195
+ def self.define_colour_methods_that_can_be_included
196
+ all_colours = ::Colours.really_all_colours
197
+ # ======================================================================= #
198
+ # The above refers to an Array that looks like this:
199
+ #
200
+ # [ :black, :red, :green, :yellow, :blue, :magenta, :teal,
201
+ # :white, :bright_black, :bright_red, :bright_green,
202
+ # :bright_yellow, :bright_blue, :bright_magenta,
203
+ # :bright_cyan, :bright_white]
204
+ #
205
+ # ======================================================================= #
206
+ all_colours.each {|entry|
207
+ unless defined? entry.to_sym # Must prevent re-definitions here.
208
+ define_method(entry.to_sym) {|i = ''| # Allow input.
209
+ i = i.to_s
210
+ _ = ''.dup
211
+ _ << "#{map_colour_to_constant(__method__)}"
212
+ _ << "#{i}#{rev}" unless i.empty?
213
+ return _
214
+ }
215
+ end
216
+ }
217
+ end
218
+
219
+ define_colour_methods_that_can_be_included # Invoke it at once.
220
+
221
+ # ========================================================================= #
222
+ # === Colours::BasicColours.white
223
+ # ========================================================================= #
224
+ def self.white(i = '')
225
+ "#{COLOUR_WHITE}#{i}#{REVERT}"
226
+ end; self.instance_eval { alias bold_white white } # === Colours::BasicColours.bold_white
227
+
228
+ # ========================================================================= #
229
+ # === Colours.light_green
230
+ # ========================================================================= #
231
+ def self.light_green(i)
232
+ "#{COLOUR_LIGHT_GREEN}#{i}#{REVERT}"
233
+ end; self.instance_eval { alias lightgreen light_green } # === Colours::BasicColours.lightgreen
234
+ self.instance_eval { alias bold_green light_green } # === Colours::BasicColours.bold_green
235
+
236
+ # ========================================================================= #
237
+ # === bold_green
238
+ # ========================================================================= #
239
+ def bold_green(i)
240
+ ::NAMESPACE.bold_green(i)
241
+ end; alias greenb bold_green # === greenb
242
+
243
+ end; end
244
+
245
+ if __FILE__ == $PROGRAM_NAME
246
+ alias e puts
247
+ x = Colours::BasicColours
248
+ # ========================================================================= #
249
+ # Bold variants:
250
+ # ========================================================================= #
251
+ test_this_string = ' Hello world!'
252
+ e
253
+ e x.bold_blue(test_this_string)
254
+ e x.bold_green(test_this_string)
255
+ e x.bold_red(test_this_string)
256
+ e x.bold_yellow(test_this_string)
257
+ e x.bold_white(test_this_string)
258
+ # ========================================================================= #
259
+ # Non-bold variants:
260
+ # ========================================================================= #
261
+ e
262
+ e 'Next, the non-bold variants:'
263
+ e
264
+ e x.yellow(test_this_string)
265
+ e x.green(test_this_string)
266
+ e x.teal(test_this_string)
267
+ e
268
+ e 'Next, we will create a class with Colours included:'
269
+ e
270
+ e ' class Foo; include Colours; def test; e bold_yellow("hi there"); end; end'
271
+ e
272
+ class Foo
273
+ include Colours::BasicColours
274
+ def test
275
+ e bold_yellow("hi there")
276
+ end
277
+ end
278
+ Foo.new.test
279
+ end # rb basic_colours.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
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/colour_methods/scomments.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
+ require 'colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb'
13
+
14
+ module Colours
15
+
16
+ # ========================================================================= #
17
+ # === Colours.scomments
18
+ #
19
+ # Invocation example:
20
+ # Colours.scomments('Hello world!')
21
+ # ========================================================================= #
22
+ def self.scomments(
23
+ i = '',
24
+ make_newline = false
25
+ )
26
+ if @use_colours
27
+ if @use_html_colours
28
+ i = SupportForHTMLColours.send(@colour_table[__method__.to_sym], i)
29
+ elsif @use_256_colours
30
+ use_this_colour = map_this_symbol_to_that_256_colour(@colour_table[__method__.to_sym])
31
+ i = SupportFor256Colours.send(use_this_colour, i)
32
+ else
33
+ i = "#{corresponding_colour?(@colour_table[__method__.to_sym])}"\
34
+ "#{i}"\
35
+ "#{rev}"
36
+ end
37
+ end
38
+ i
39
+ end; self.instance_eval { alias comment scomments } # === Colours.comment
40
+
41
+ # ========================================================================= #
42
+ # === scomments
43
+ # ========================================================================= #
44
+ def scomments(i = '')
45
+ ::Colours.scomments(i)
46
+ end; alias scomment scomments # === scomment
47
+
48
+ # ========================================================================= #
49
+ # === Colours.ecomment
50
+ #
51
+ # This method here was added on Nov 2013.
52
+ #
53
+ # In April 2014, the ability to split at any arbitrary character was
54
+ # added, which can be controlled via the second argument given to
55
+ # that method.
56
+ # ========================================================================= #
57
+ def self.ecomment(
58
+ i,
59
+ optional_split_at_this_character = '#' # <- Specify which character to split at.
60
+ )
61
+ _ = i.to_s
62
+ if optional_split_at_this_character.is_a? Hash
63
+ if optional_split_at_this_character.has_key? :token
64
+ optional_split_at_this_character = optional_split_at_this_character.delete :token
65
+ end
66
+ end
67
+ optional_split_at_this_character = optional_split_at_this_character.to_s
68
+ # ======================================================================= #
69
+ # === If we can find a token to split at
70
+ # ======================================================================= #
71
+ if _.include? optional_split_at_this_character
72
+ use_this_regex = /#(.+)/ # See: http://rubular.com/r/oRUg7lw4oE
73
+ colour_for_comments = map_colour_to_constant(scomments?)
74
+ _ = _.dup if _.frozen?
75
+ _.gsub!(use_this_regex,
76
+ colour_for_comments+optional_split_at_this_character.to_s+'\\1'+rev)
77
+ end
78
+ e _
79
+ end
80
+
81
+ # ========================================================================= #
82
+ # === Colours.scomments?
83
+ # ========================================================================= #
84
+ def self.scomments?
85
+ colour_table?[:scomments]
86
+ end
87
+
88
+ # ========================================================================= #
89
+ # === ecomment
90
+ #
91
+ # Just a wrapper over the Colours.ecomment() functionality.
92
+ # ========================================================================= #
93
+ def ecomment(
94
+ i,
95
+ optional_split_at_this_character = '#'
96
+ )
97
+ Colours.ecomment(i, optional_split_at_this_character)
98
+ end
99
+
100
+ end
101
+
102
+ if __FILE__ == $PROGRAM_NAME
103
+ puts Colours.scomments('Hello world!')
104
+ Colours.ecomment('Hello world! # this is the associated comment')
105
+ end
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/colour_methods/sdir.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.sdir
17
+ #
18
+ # Invocation example:
19
+ #
20
+ # puts Colours.sdir('Hello world!')
21
+ #
22
+ # ========================================================================= #
23
+ def self.sdir(
24
+ i = '',
25
+ make_newline = false
26
+ )
27
+ if make_newline
28
+ i = "#{i}#{N}"
29
+ end
30
+ if @use_colours
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 edir(
49
+ i = '',
50
+ make_newline = false
51
+ )
52
+ e Colours.sdir(i, make_newline)
53
+ end
54
+
55
+ # ========================================================================= #
56
+ # === sdir
57
+ # ========================================================================= #
58
+ def sdir(i = '')
59
+ Colours.sdir(i)
60
+ end
61
+
62
+ end
63
+
64
+ if __FILE__ == $PROGRAM_NAME
65
+ puts Colours.sdir('Hello world!')
66
+ end #