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,180 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'colours/256_colours/support_for_256_colours.rb'
6
+ # =========================================================================== #
7
+ require 'colours/constants/newline.rb'
8
+ require 'colours/revert/revert.rb'
9
+ require 'colours/constants/file_constants.rb'
10
+
11
+ module Colours
12
+
13
+ require 'yaml'
14
+
15
+ # ========================================================================= #
16
+ # === @dataset_for_the_256_colours
17
+ #
18
+ # We will keep the keys in a downcased variant, as this will make it
19
+ # easier to use them as method-names.
20
+ # ========================================================================= #
21
+ @dataset_for_the_256_colours = YAML.load_file(FILE_256_COLOURS).
22
+ transform_keys(&:downcase)
23
+
24
+ # ========================================================================= #
25
+ # === Colours.return_this_256_colour
26
+ #
27
+ # The first argument to this method should be a number from 0 to 255.
28
+ #
29
+ # For example, 255 is also known as "Grey93" - a variant of grey.
30
+ #
31
+ # It appears to work better if you use print() rather than puts() for
32
+ # whatever is returned here - perhaps due to the leading \u001b part.
33
+ #
34
+ # You can also input the colour variant, such as 'Grey93'.
35
+ #
36
+ # Invocation example:
37
+ #
38
+ # Colours.return_this_256_colour(255, "Hello world in grey!\n")
39
+ # print Colours.return_this_256_colour(255, (Roebe.block_character*5)+" Hello world in grey! "+(Roebe.block_character*5)+" \n")
40
+ # print Colours.return_this_256_colour('DarkTurquoise', (Roebe.block_character*5)+" Hello world in DarkTurquoise! "+(Roebe.block_character*5)+" \n")
41
+ #
42
+ # ========================================================================= #
43
+ def self.return_this_256_colour(
44
+ id = 9,
45
+ use_this_text = "Hello world!"
46
+ )
47
+ id = id.to_s.downcase
48
+ if (id !~ /^\d+/) and @dataset_for_the_256_colours.has_key?(id)
49
+ id = @dataset_for_the_256_colours[id]
50
+ end
51
+ "\u001b[38;5;#{id}m#{use_this_text}#{REVERT}"
52
+ end
53
+
54
+ # ========================================================================= #
55
+ # === Colours.write_this_in_256_colours
56
+ #
57
+ # Similar to the other write method, but has the arguments reversed.
58
+ # ========================================================================= #
59
+ def self.write_this_in_256_colours(
60
+ this_text = "Hello world!\n",
61
+ id = rand(256),
62
+ &block
63
+ )
64
+ display_this_256_colour(id, this_text, &block)
65
+ end; self.instance_eval { alias write_in_256_colour write_this_in_256_colours } # === Colours.write_in_256_colour
66
+
67
+ # ========================================================================= #
68
+ # === write_in_256_colour
69
+ #
70
+ # Include-able method to the above module-level instance.
71
+ # ========================================================================= #
72
+ def write_in_256_colour(
73
+ i = 'hi there',
74
+ id = 33
75
+ )
76
+ write_this_in_256_colours(i, id)
77
+ end
78
+
79
+ # ========================================================================= #
80
+ # === Colours.display_this_256_colour
81
+ #
82
+ # The first argument should be a number from 0 to 255.
83
+ #
84
+ # You can also batch-output all colours, by using something like:
85
+ #
86
+ # Colours.display_this_256_colour('0-255',"Hello world, in a batch!\n")
87
+ #
88
+ # Generic usage example:
89
+ #
90
+ # Colours.display_this_256_colour(33, 'yo there') { :newline }
91
+ #
92
+ # ========================================================================= #
93
+ def self.display_this_256_colour(
94
+ id = 9,
95
+ use_this_text = "Hello world!\n",
96
+ &block
97
+ )
98
+ if block_given?
99
+ yielded = yield
100
+ case yielded
101
+ when :newline
102
+ use_this_text = use_this_text.dup if use_this_text.frozen?
103
+ use_this_text << "\n"
104
+ end
105
+ end
106
+ if id.is_a?(String) and id.include?('-')
107
+ # ===================================================================== #
108
+ # Assume pseudo-range input.
109
+ # ===================================================================== #
110
+ splitted = id.split('-')
111
+ range = (splitted.first.to_i .. splitted.last.to_i).to_a
112
+ range.each {|this_range_id|
113
+ display_this_256_colour(this_range_id, use_this_text, &block)
114
+ }
115
+ else
116
+ print return_this_256_colour(id, use_this_text)
117
+ end
118
+ end; self.instance_eval { alias display_this_in_256_colour display_this_256_colour } # === Colours.display_this_in_256_colour
119
+
120
+ # ========================================================================= #
121
+ # === Colours.show_all_256_colours
122
+ # ========================================================================= #
123
+ def self.show_all_256_colours
124
+ yielded = nil
125
+ if block_given?
126
+ yielded = yield
127
+ end
128
+ 0.upto(255).each {|this_number|
129
+ result = this_number.to_s.rjust(4)+' '+
130
+ return_this_256_colour(this_number).to_s.dup
131
+ if yielded and yielded == :newline
132
+ result << "\n"
133
+ end
134
+ print result
135
+ }
136
+ end
137
+
138
+ # ========================================================================= #
139
+ # === Colours.show_256_colour_cube
140
+ #
141
+ # This will show the 256-colours cube. Colours 16-231 are a
142
+ # 6x6x6 color cube.
143
+ # ========================================================================= #
144
+ def self.show_256_colour_cube
145
+ puts 'Color cube, 6x6x6 blocks:'
146
+ 0.upto(5) {|green|
147
+ 0.upto(5) {|red|
148
+ 0.upto(5) {|blue|
149
+ colour = 16 + (red * 36) + (green * 6) + blue
150
+ print "\x1b[48;5;#{colour}m "
151
+ }
152
+ print "\x1b[0m "
153
+ }
154
+ puts
155
+ }
156
+ end
157
+
158
+ # ========================================================================= #
159
+ # === Colours.is_this_a_256_colour?
160
+ #
161
+ # Invocation example:
162
+ # Colours.is_this_a_256_colour? 'LightSteelBlue3'
163
+ # ========================================================================= #
164
+ def self.is_this_a_256_colour?(i)
165
+ @dataset_for_the_256_colours.keys.map(&:downcase).include? i.to_s.downcase
166
+ end
167
+
168
+ # ========================================================================= #
169
+ # === is_this_a_256_colour?
170
+ # ========================================================================= #
171
+ def is_this_a_256_colour?(i)
172
+ ::Colours.is_this_a_256_colour?(i)
173
+ end
174
+
175
+ end
176
+
177
+ if __FILE__ == $PROGRAM_NAME
178
+ Colours.show_256_colour_cube
179
+ Colours.test_256_colours_support
180
+ end # support_for_256_colours
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file is deliberately not included by default.
6
+ # =========================================================================== #
7
+ # Usage example:
8
+ # require 'colours/autoalias_e'
9
+ # =========================================================================== #
10
+ alias e puts
@@ -0,0 +1,2 @@
1
+ This directory will contain autogenerated code - that is, code that
2
+ has been autogenerated from the Colours gem itself.