colours 0.8.12 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +331 -200
  3. data/bin/colours +2 -2
  4. data/bin/show_basic_colour_palette +7 -0
  5. data/colours.gemspec +1 -2
  6. data/doc/README.gen +294 -178
  7. data/doc/how_to_pick_your_own_colours/how_to_pick_your_own_colours.md +33 -0
  8. data/lib/colours/autoalias_e.rb +4 -1
  9. data/lib/colours/autogenerated/256_colours_instance_methods.rb +1429 -0
  10. data/lib/colours/autogenerated/256_colours_methods.rb +1429 -0
  11. data/lib/colours/autogenerated/html_colours_instance_methods.rb +1191 -0
  12. data/lib/colours/autogenerated/html_colours_methods.rb +1191 -0
  13. data/lib/colours/base/base.rb +61 -13
  14. data/lib/colours/class/colours.rb +8 -6
  15. data/lib/colours/{toplevel_methods/use_colours.rb → colour/colour.rb} +4 -125
  16. data/lib/colours/commandline/README.md +2 -1
  17. data/lib/colours/commandline/commandline.rb +177 -34
  18. data/lib/colours/constants/constants.rb +752 -6
  19. data/lib/colours/e/README.md +6 -6
  20. data/lib/colours/eparse/eparse.rb +2 -1
  21. data/lib/colours/essentials/README.md +5 -0
  22. data/lib/colours/{basic_colours/basic_colours.rb → essentials/essentials.rb} +87 -85
  23. data/lib/colours/html_colours/README.md +2 -1
  24. data/lib/colours/html_colours/hash_html_colours.rb +168 -0
  25. data/lib/colours/html_colours/html_colours.rb +226 -244
  26. data/lib/colours/html_colours/push_the_html_colours_methods_onto_the_toplevel_namespace.rb +30 -0
  27. data/lib/colours/html_colours/random_html_colour.rb +67 -0
  28. data/lib/colours/{requires/require_the_basic_colours.rb → html_colours.rb} +4 -2
  29. data/lib/colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb +12 -10
  30. data/lib/colours/module_256_colours/module_256_colours.rb +465 -0
  31. data/lib/colours/project/project.rb +3 -1
  32. data/lib/colours/rainbow_colours/check_for_trollop_being_available_or_exit.rb +4 -0
  33. data/lib/colours/rainbow_colours/constants.rb +3 -3
  34. data/lib/colours/rainbow_colours/do_parse_via_rainbow_colours.rb +9 -10
  35. data/lib/colours/rainbow_colours/print_rainbow_line.rb +4 -4
  36. data/lib/colours/rainbow_colours/println_ani.rb +7 -7
  37. data/lib/colours/rainbow_colours/println_plain.rb +2 -2
  38. data/lib/colours/rainbow_colours/rainbow.rb +31 -1
  39. data/lib/colours/rainbow_colours/report_errors.rb +7 -7
  40. data/lib/colours/rainbow_colours/returnln_plain.rb +3 -3
  41. data/lib/colours/replace_tokens_with_colour_code/replace_tokens_with_colour_code.rb +409 -0
  42. data/lib/colours/requires/require_autogenerated_colour_methods.rb +4 -1
  43. data/lib/colours/requires/{require_the_colour_table.rb → require_essentials.rb} +2 -2
  44. data/lib/colours/requires/require_save_file.rb +11 -0
  45. data/lib/colours/requires/require_the_256_colours_module.rb +1 -3
  46. data/lib/colours/requires/require_the_colour_methods.rb +1 -22
  47. data/lib/colours/requires/require_the_project.rb +31 -29
  48. data/lib/colours/requires/require_the_toplevel_methods.rb +2 -20
  49. data/lib/colours/rgb/rgb.rb +107 -89
  50. data/lib/colours/{colour_methods/colour_methods.rb → sfile_sdir_sfancy_swarn_simp_scomments_and_ssymlink/sfile_sdir_sfancy_swarn_simp_scomments_and_ssymlink.rb} +467 -405
  51. data/lib/colours/testing/testing.rb +1 -3
  52. data/lib/colours/toplevel_methods/e.rb +9 -13
  53. data/lib/colours/toplevel_methods/map_this_symbol_to_that_html_colour.rb +57 -0
  54. data/lib/colours/toplevel_methods/{revert.rb → rev.rb} +5 -48
  55. data/lib/colours/toplevel_methods/toplevel_methods.rb +1204 -0
  56. data/lib/colours/version/version.rb +2 -2
  57. data/lib/colours/yaml/256_colours.yml +776 -257
  58. data/lib/colours/yaml/html_colours.yml +1 -1
  59. data/lib/colours/yaml/prefer_this_colour_schemata.yml +1 -1
  60. data/lib/colours/yaml/use_these_values_for_the_colour_methods.yml +5 -1
  61. data/lib/colours.rb +1 -1
  62. data/test/testing_256_colours_support.rb +10 -1
  63. data/test/testing_replace_number_words_with_the_corresponding_html_colour.rb +15 -9
  64. data/test/testing_the_colour_methods_such_as_simp_sdir_sfile_swarn_sfancy_sargument_and_ssymlink.rb +53 -0
  65. metadata +30 -57
  66. data/doc/HOW_TO_PICK_YOUR_OWN_COLOURS.md +0 -28
  67. data/lib/colours/256_colours/support_for_256_colours.rb +0 -196
  68. data/lib/colours/autogenerated/support_for_256_colours.rb +0 -2235
  69. data/lib/colours/autogenerated/support_for_html_colours.rb +0 -1778
  70. data/lib/colours/autogenerated/toplevel_basic_colour_methods.rb +0 -7001
  71. data/lib/colours/basic_colours/README.md +0 -4
  72. data/lib/colours/colour_methods/README.md +0 -11
  73. data/lib/colours/colour_table/README.md +0 -2
  74. data/lib/colours/colour_table/colour_table.rb +0 -282
  75. data/lib/colours/commandline/menu.rb +0 -122
  76. data/lib/colours/constants/escape.rb +0 -22
  77. data/lib/colours/constants/file_constants.rb +0 -73
  78. data/lib/colours/constants/hash_ansi_colours.rb +0 -39
  79. data/lib/colours/constants/hash_simple_colours.rb +0 -148
  80. data/lib/colours/constants/misc.rb +0 -361
  81. data/lib/colours/constants/newline.rb +0 -14
  82. data/lib/colours/constants/registered_colour_methods.rb +0 -53
  83. data/lib/colours/html_colours/add_html_colours_onto_the_toplevel_namespace.rb +0 -22
  84. data/lib/colours/toplevel_methods/autogenerate.rb +0 -310
  85. data/lib/colours/toplevel_methods/bold.rb +0 -41
  86. data/lib/colours/toplevel_methods/bold_and_italic.rb +0 -38
  87. data/lib/colours/toplevel_methods/cat.rb +0 -39
  88. data/lib/colours/toplevel_methods/clear_screen.rb +0 -18
  89. data/lib/colours/toplevel_methods/cliner.rb +0 -17
  90. data/lib/colours/toplevel_methods/col.rb +0 -54
  91. data/lib/colours/toplevel_methods/esystem.rb +0 -19
  92. data/lib/colours/toplevel_methods/html_colour_to_hex_value.rb +0 -41
  93. data/lib/colours/toplevel_methods/html_colourize.rb +0 -69
  94. data/lib/colours/toplevel_methods/is_on_roebe.rb +0 -16
  95. data/lib/colours/toplevel_methods/italic.rb +0 -110
  96. data/lib/colours/toplevel_methods/make_colour.rb +0 -28
  97. data/lib/colours/toplevel_methods/methods_related_to_html_colours.rb +0 -336
  98. data/lib/colours/toplevel_methods/misc.rb +0 -226
  99. data/lib/colours/toplevel_methods/open_this_file.rb +0 -26
  100. data/lib/colours/toplevel_methods/prefer_this_colour_schemata.rb +0 -88
  101. data/lib/colours/toplevel_methods/random_value.rb +0 -37
  102. data/lib/colours/toplevel_methods/remove_escape_sequence.rb +0 -112
  103. data/lib/colours/toplevel_methods/set_last_colour_used.rb +0 -32
  104. data/lib/colours/toplevel_methods/shell_file_containing_the_html_colours.sh +0 -148
  105. data/lib/colours/toplevel_methods/show_basic_colour_palette.rb +0 -36
  106. data/lib/colours/toplevel_methods/underline.rb +0 -130
  107. data/test/testing_the_colour_methods.rb +0 -36
  108. /data/doc/{COLOUR_CODES_CHART.md → colour_codes_chart/colour_codes_chart.md} +0 -0
@@ -2,52 +2,54 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
+ # require 'colours/requires/require_the_project.rb'
6
+ # =========================================================================== #
5
7
  require 'colours/project/project.rb'
6
8
  require 'colours/requires/require_the_constants.rb'
9
+ require 'colours/requires/require_commandline.rb'
10
+ require 'colours/html_colours/html_colours.rb'
7
11
  require 'colours/class/colours.rb'
8
- require 'colours/base/base.rb'
9
- require 'colours/requires/require_the_basic_colours.rb'
12
+ require 'colours/requires/require_rgb.rb'
10
13
  require 'colours/requires/require_the_toplevel_methods.rb'
11
- require 'colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb'
12
- require 'colours/256_colours/support_for_256_colours.rb'
14
+ require 'colours/requires/require_the_256_colours_module.rb'
13
15
  # =========================================================================== #
14
- # Next require the colour-methods:
16
+ # Load up the testing-relevant code:
15
17
  # =========================================================================== #
16
- require 'colours/requires/require_the_colour_methods.rb'
18
+ require 'colours/testing/testing.rb'
19
+ require 'colours/version/version.rb'
20
+ require 'colours/requires/require_eparse.rb'
17
21
  # =========================================================================== #
18
22
  # Next require the html-colours components of the colours project:
19
23
  # =========================================================================== #
20
24
  require 'colours/requires/require_the_html_colours.rb'
21
- require 'colours/requires/require_eparse.rb'
22
- require 'colours/requires/require_commandline.rb'
23
- require 'colours/requires/require_the_colour_table.rb'
24
- require 'colours/requires/require_rgb.rb'
25
- require 'colours/requires/require_the_256_colours_module.rb'
26
- require 'colours/requires/require_the_kde_colour_palette.rb'
27
- require 'colours/version/version.rb'
28
- require 'colours/requires/require_autogenerated_colour_methods.rb'
29
- require 'colours/html_colours/add_html_colours_onto_the_toplevel_namespace.rb'
30
- # =========================================================================== #
31
- # Require the big "symbol-mapper" next:
32
- # =========================================================================== #
33
- require 'colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb'
25
+
34
26
  # =========================================================================== #
35
- # Load up the testing-relevant code:
27
+ # Next require the colour-methods - these include Colours.sfancy(),
28
+ # Colours.sdir() and so forth:
36
29
  # =========================================================================== #
37
- require 'colours/testing/testing.rb'
30
+ require 'colours/requires/require_the_colour_methods.rb'
31
+
32
+ require 'colours/requires/require_the_kde_colour_palette.rb'
33
+
38
34
  # =========================================================================== #
39
35
  # Next, add the submodule at "Colours::E":
40
36
  # =========================================================================== #
41
37
  require 'colours/e/e.rb'
42
38
 
43
- module Colours
39
+ # =========================================================================== #
40
+ # Require the big "symbol-mapper" next:
41
+ # =========================================================================== #
42
+ require 'colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb'
44
43
 
45
- # ========================================================================= #
46
- # We have to put the ColourMethods into the toplevel namespace at once,
47
- # so that methods such as slateblue() are defined.
48
- # ========================================================================= #
49
- extend ::Colours::AllColourMethods
44
+ require 'colours/replace_tokens_with_colour_code/replace_tokens_with_colour_code.rb'
50
45
 
51
- include ::Colours::AllColourMethods
46
+ # =========================================================================== #
47
+ # Requiring the autogenerated methods may not be what the user wants to
48
+ # have. For instance, the 256-colours module is only relevant if the user
49
+ # makes use of these methods, which is most likely not the default
50
+ # case.
51
+ # =========================================================================== #
52
+ # require 'colours/requires/require_autogenerated_colour_methods.rb'
53
+ # =========================================================================== #
52
54
 
53
- end
55
+ require 'colours/html_colours/push_the_html_colours_methods_onto_the_toplevel_namespace.rb'
@@ -7,7 +7,7 @@
7
7
  # =========================================================================== #
8
8
  require 'colours/project/project.rb'
9
9
 
10
- require_these_files = Dir["#{Colours::PROJECT_BASE_DIRECTORY}toplevel_methods/*.rb"]
10
+ require_these_files = Dir["#{Colours.project_base_directory?}toplevel_methods/*.rb"]
11
11
 
12
12
  if require_these_files.empty?
13
13
  # ===================================================================== #
@@ -15,25 +15,7 @@ if require_these_files.empty?
15
15
  # approach, which follows next.
16
16
  # ===================================================================== #
17
17
  require_these_files = %w(
18
- bold_and_italic.rb
19
- bold.rb
20
- cat.rb
21
- clear_screen.rb
22
- cliner.rb
23
- col.rb
24
- e.rb
25
- html_colourize.rb
26
- is_on_roebe.rb
27
- italic.rb
28
- make_colour.rb
29
- misc.rb
30
- prefer_this_colour_schemata.rb
31
- random_html_colour.rb
32
- random_value.rb
33
- remove_escape_sequence.rb
34
- show_basic_colour_palette.rb
35
- underline.rb
36
- use_colours.rb
18
+ toplevel_methods.rb
37
19
  )
38
20
  end
39
21
 
@@ -4,9 +4,10 @@
4
4
  # =========================================================================== #
5
5
  # === Colours::RGB
6
6
  #
7
- # The Colours::RBG class was used to convert from RGB values to hex
8
- # format. However had these days it is not as widely used anymore
9
- # within the colours project.
7
+ # The Colours::RBG class can be used to convert a RGB value into its
8
+ # corresponding hex format. However had these days it is not as widely
9
+ # used anymore within the colours project, excluding those cases where
10
+ # this is indeed necessary.
10
11
  #
11
12
  # Code in this .rb file here in general can be used for RGB-related
12
13
  # functionality. A good example for what can be done with this is to
@@ -15,13 +16,13 @@
15
16
  # =========================================================================== #
16
17
  # require 'colours/rgb/rgb.rb'
17
18
  # =========================================================================== #
19
+ require 'colours/base/base.rb'
20
+
18
21
  module Colours
19
22
 
20
- class RGB # === Colours::RGB
23
+ class RGB < Base # === Colours::RGB
21
24
 
22
- require 'colours/constants/misc.rb' # For methods such as left?.
23
- require 'colours/html_colours/html_colours.rb'
24
- require 'colours/toplevel_methods/random_value.rb'
25
+ require 'colours/html_colours/hash_html_colours.rb'
25
26
 
26
27
  # ========================================================================= #
27
28
  # === DEFAULT_VALUES
@@ -33,15 +34,15 @@ class RGB # === Colours::RGB
33
34
  # ========================================================================= #
34
35
  DEFAULT_VALUE = 0
35
36
 
36
- # =========================================================================== #
37
+ # ========================================================================= #
37
38
  # === initialize
38
39
  #
39
40
  # Keep in mind that the first argument could be something like:
40
41
  #
41
42
  # [106, 90, 205]
42
43
  #
43
- # In that case, we need to continue differently.
44
- # =========================================================================== #
44
+ # In that case, we need to handle this situation differently.
45
+ # ========================================================================= #
45
46
  def initialize(
46
47
  original_input = ARGV,
47
48
  run_already = true
@@ -53,66 +54,72 @@ class RGB # === Colours::RGB
53
54
  run if run_already
54
55
  end
55
56
 
56
- # =========================================================================== #
57
- # === set_commandline_arguments
58
- # =========================================================================== #
59
- def set_commandline_arguments(i)
60
- @commandline_arguments = [i].flatten.compact
61
- end
62
-
63
- # =========================================================================== #
64
- # === reset
65
- # =========================================================================== #
66
- def reset
67
- @r, @g, @b = 0, 0, 0 # Use default values for RGB.
68
- end
69
-
70
57
  # ========================================================================= #
71
- # === b?
58
+ # === reset (reset tag)
72
59
  # ========================================================================= #
73
- def b?
74
- @b
75
- end; alias b b? # === b
60
+ def reset
61
+ # ======================================================================= #
62
+ # === @hexstring
63
+ # ======================================================================= #
64
+ @hexstring = nil
65
+ # ======================================================================= #
66
+ # Use default values for RGB - all 0.
67
+ # ======================================================================= #
68
+ @r = 0
69
+ @g = 0
70
+ @b = 0
71
+ end
76
72
 
77
73
  # ========================================================================= #
78
- # === g?
74
+ # === set_rgb
79
75
  # ========================================================================= #
80
- def g?
81
- @g
82
- end; alias g g? # === g
76
+ def set_rgb(r,g,b)
77
+ set_r(r)
78
+ set_g(g)
79
+ set_b(b)
80
+ end
83
81
 
84
82
  # ========================================================================= #
85
- # === hexstring?
83
+ # === set_r
86
84
  # ========================================================================= #
87
- def hexstring?
88
- @hexstring
89
- end; alias hexstring hexstring? # === hexstring
85
+ def set_r(i = DEFAULT_VALUES[0])
86
+ i = i.to_i
87
+ check_validity_of(i)
88
+ @r = i
89
+ end
90
90
 
91
91
  # ========================================================================= #
92
- # === r?
92
+ # === set_g
93
93
  # ========================================================================= #
94
- def r?
95
- @r
96
- end; alias r r? # === r
94
+ def set_g(i = nil)
95
+ i = DEFAULT_VALUE if i.nil?
96
+ i = i.to_i
97
+ check_validity_of(i)
98
+ @g = i
99
+ end
97
100
 
98
101
  # ========================================================================= #
99
- # === determine_rgb_values_from_the_commandline_arguments
102
+ # === set_b
100
103
  # ========================================================================= #
101
- def determine_rgb_values_from_the_commandline_arguments
102
- _ = @commandline_arguments
103
- first = _.first
104
- if first.is_? Array
105
- set_r(first[0])
106
- set_g(first[1])
107
- set_b(first[2])
108
- end
104
+ def set_b(i = nil)
105
+ i = DEFAULT_VALUE if i.nil?
106
+ i = i.to_i
107
+ check_validity_of(i)
108
+ @b = i
109
109
  end
110
110
 
111
111
  # ========================================================================= #
112
- # === rgb
112
+ # === lighten
113
+ #
114
+ # This method will lighten up a colour.
115
+ #
116
+ # Usage example:
117
+ #
118
+ # Colours::RgbToHex.new('#ffffff').lighten # => "#232323"
119
+ #
113
120
  # ========================================================================= #
114
- def rgb
115
- [ @r, @g, @b ]
121
+ def lighten(i = 35)
122
+ add(i) # Hardcoded to add +35 to each of R, G and B.
116
123
  end
117
124
 
118
125
  # ========================================================================= #
@@ -137,53 +144,54 @@ class RGB # === Colours::RGB
137
144
  end; alias update_hexstring do_the_conversion # === update_hexstring
138
145
 
139
146
  # ========================================================================= #
140
- # === set_rgb
147
+ # === b?
141
148
  # ========================================================================= #
142
- def set_rgb(r,g,b)
143
- set_r(r)
144
- set_g(g)
145
- set_b(b)
146
- end
149
+ def b?
150
+ @b
151
+ end; alias b b? # === b
147
152
 
148
153
  # ========================================================================= #
149
- # === set_r
154
+ # === g?
150
155
  # ========================================================================= #
151
- def set_r(i = DEFAULT_VALUES[0])
152
- i = i.to_i
153
- check_validity_of(i)
154
- @r = i
155
- end
156
+ def g?
157
+ @g
158
+ end; alias g g? # === g
156
159
 
157
160
  # ========================================================================= #
158
- # === set_g
161
+ # === r?
159
162
  # ========================================================================= #
160
- def set_g(i = nil)
161
- i = DEFAULT_VALUE if i.nil?
162
- i = i.to_i
163
- check_validity_of(i)
164
- @g = i
165
- end
163
+ def r?
164
+ @r
165
+ end; alias r r? # === r
166
166
 
167
167
  # ========================================================================= #
168
- # === set_b
168
+ # === determine_rgb_values_from_the_commandline_arguments
169
169
  # ========================================================================= #
170
- def set_b(i = nil)
171
- i = DEFAULT_VALUE if i.nil?
172
- i = i.to_i
173
- check_validity_of(i)
174
- @b = i
170
+ def determine_rgb_values_from_the_commandline_arguments(
171
+ _ = commandline_arguments?
172
+ )
173
+ first = _.first
174
+ if first.is_? Array
175
+ set_r(first[0])
176
+ set_g(first[1])
177
+ set_b(first[2])
178
+ end
175
179
  end
176
180
 
177
181
  # ========================================================================= #
178
- # === lighten
179
- #
180
- # This lightens up a colour.
181
- # RgbToHex.new('#ffffff').lighten # => "#232323"
182
+ # === rgb
182
183
  # ========================================================================= #
183
- def lighten
184
- add(35) # Hardcoded to add +35 to each of R, G and B.
184
+ def rgb
185
+ [ @r, @g, @b ]
185
186
  end
186
187
 
188
+ # ========================================================================= #
189
+ # === hexstring?
190
+ # ========================================================================= #
191
+ def hexstring?
192
+ @hexstring
193
+ end; alias hexstring hexstring? # === hexstring
194
+
187
195
  # ========================================================================= #
188
196
  # === add
189
197
  #
@@ -198,9 +206,9 @@ class RGB # === Colours::RGB
198
206
  update_hexstring
199
207
  end
200
208
 
201
- # =========================================================================== #
209
+ # ========================================================================= #
202
210
  # === run
203
- # =========================================================================== #
211
+ # ========================================================================= #
204
212
  def run
205
213
  determine_rgb_values_from_the_commandline_arguments
206
214
  do_the_conversion
@@ -216,7 +224,11 @@ class RGB # === Colours::RGB
216
224
  # Colours::RgbToHex[22,33,44] # => "#16212C"
217
225
  #
218
226
  # ========================================================================= #
219
- def self.[](r = 255, g = 0, b = 0)
227
+ def self.[](
228
+ r = 255,
229
+ g = 0,
230
+ b = 0
231
+ )
220
232
  _ = new(r,g,b)
221
233
  return '#%02x%02x%02x'.upcase % _.rgb
222
234
  end
@@ -265,7 +277,11 @@ end
265
277
  def self.convert_this_html_colour_into_an_array_of_rgb_values(
266
278
  html_colour = :random
267
279
  )
280
+ require 'colours/html_colours/random_html_colour.rb'
268
281
  case html_colour
282
+ # ========================================================================= #
283
+ # === :random
284
+ # ========================================================================= #
269
285
  when :random
270
286
  html_colour = return_random_html_colour
271
287
  end
@@ -378,7 +394,9 @@ end
378
394
  # === Colours.return_this_text_in_random_colour
379
395
  #
380
396
  # Invocation example:
397
+ #
381
398
  # puts Colours.return_this_text_in_random_colour('Hello World!')
399
+ #
382
400
  # =========================================================================== #
383
401
  def self.return_this_text_in_random_colour(
384
402
  show_this_text = ''
@@ -503,14 +521,14 @@ def self.rgb_value_as_escape_code_string(
503
521
  set_last_colour_used(array)
504
522
  r, g, b = ::Colours.convert_this_html_colour_into_an_array_of_rgb_values(array)
505
523
  else
506
- puts 'The input is not a HTML colour:'
524
+ e 'The input is not a HTML colour:'
507
525
  pp array
508
526
  end
509
527
  end
510
- # =========================================================================== #
528
+ # ========================================================================= #
511
529
  # The String that we build up in this method will have the ANSI escape
512
530
  # code on the left side.
513
- # =========================================================================== #
531
+ # ========================================================================= #
514
532
  return "#{left?}#{r};#{g};#{b}m"
515
533
  end; self.instance_eval { alias build_this_rgb_string rgb_value_as_escape_code_string } # === Colours.build_this_rgb_string
516
534
  self.instance_eval { alias rgb_value_as_string rgb_value_as_escape_code_string } # === Colours.rgb_value_as_string