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.
- checksums.yaml +7 -0
- data/LICENCE.md +22 -0
- data/README.md +890 -0
- data/bin/colours +7 -0
- data/bin/html_colour_to_hex_value +7 -0
- data/bin/html_colourize +7 -0
- data/bin/print_rainbow_line +7 -0
- data/bin/rainbow_colours +7 -0
- data/bin/remove_ansii_escape_sequences +7 -0
- data/colours.gemspec +76 -0
- data/doc/COLOUR_CODES_CHART.md +28 -0
- data/doc/HOW_TO_PICK_YOUR_OWN_COLOURS.md +29 -0
- data/doc/README.gen +862 -0
- data/lib/colours/256_colours/support_for_256_colours.rb +180 -0
- data/lib/colours/autoalias_e.rb +10 -0
- data/lib/colours/autogenerated/README.md +2 -0
- data/lib/colours/autogenerated/support_for_256_colours.rb +2235 -0
- data/lib/colours/autogenerated/support_for_html_colours.rb +1778 -0
- data/lib/colours/autogenerated/toplevel_basic_colour_methods.rb +6366 -0
- data/lib/colours/autoinclude.rb +14 -0
- data/lib/colours/base/base.rb +23 -0
- data/lib/colours/basic_colours/README.md +4 -0
- data/lib/colours/basic_colours/basic_colours.rb +279 -0
- data/lib/colours/colour_methods/README.md +11 -0
- data/lib/colours/colour_methods/default_colour.rb +66 -0
- data/lib/colours/colour_methods/sargument.rb +70 -0
- data/lib/colours/colour_methods/scomments.rb +105 -0
- data/lib/colours/colour_methods/sdir.rb +66 -0
- data/lib/colours/colour_methods/sfancy.rb +84 -0
- data/lib/colours/colour_methods/sfile.rb +71 -0
- data/lib/colours/colour_methods/simportant.rb +92 -0
- data/lib/colours/colour_methods/snormal.rb +66 -0
- data/lib/colours/colour_methods/ssymlink.rb +102 -0
- data/lib/colours/colour_methods/swarn.rb +76 -0
- data/lib/colours/colour_table/README.md +3 -0
- data/lib/colours/colour_table/colour_table.rb +275 -0
- data/lib/colours/colours_e_autoinclude.rb +9 -0
- data/lib/colours/commandline/README.md +2 -0
- data/lib/colours/commandline/commandline.rb +44 -0
- data/lib/colours/commandline/menu.rb +111 -0
- data/lib/colours/constants/colour_constants.rb +299 -0
- data/lib/colours/constants/file_constants.rb +72 -0
- data/lib/colours/constants/hash_simple_colours.rb +146 -0
- data/lib/colours/constants/misc.rb +59 -0
- data/lib/colours/constants/newline.rb +14 -0
- data/lib/colours/constants/registered_colour_methods.rb +53 -0
- data/lib/colours/e/README.md +13 -0
- data/lib/colours/e/autoinclude.rb +11 -0
- data/lib/colours/e/e.rb +35 -0
- data/lib/colours/e.rb +5 -0
- data/lib/colours/eparse/eparse.rb +77 -0
- data/lib/colours/everything/autoinclude.rb +11 -0
- data/lib/colours/html_colours/README.md +1 -0
- data/lib/colours/html_colours/add_html_colours_onto_the_toplevel_namespace.rb +22 -0
- data/lib/colours/html_colours/hash_html_colours.rb +63 -0
- data/lib/colours/html_colours/html_colourize.rb +48 -0
- data/lib/colours/html_colours/is_this_html_colour_included.rb +64 -0
- data/lib/colours/html_colours/misc.rb +186 -0
- data/lib/colours/html_colours/show_html_colours.rb +85 -0
- data/lib/colours/kde_colour_palette/kde_colour_palette.rb +128 -0
- data/lib/colours/map_symbol_to_corresponding_colour/map_symbol_to_corresponding_colour.rb +219 -0
- data/lib/colours/module.rb +11 -0
- data/lib/colours/project/project_base_directory.rb +22 -0
- data/lib/colours/rainbow_colours/README.md +2 -0
- data/lib/colours/rainbow_colours/check_for_trollop_being_available_or_exit.rb +26 -0
- data/lib/colours/rainbow_colours/constants.rb +30 -0
- data/lib/colours/rainbow_colours/do_parse_via_rainbow_colours.rb +164 -0
- data/lib/colours/rainbow_colours/paint_detected_mode.rb +20 -0
- data/lib/colours/rainbow_colours/print_rainbow_line.rb +68 -0
- data/lib/colours/rainbow_colours/println_ani.rb +32 -0
- data/lib/colours/rainbow_colours/println_plain.rb +36 -0
- data/lib/colours/rainbow_colours/rainbow.rb +38 -0
- data/lib/colours/rainbow_colours/report_errors.rb +32 -0
- data/lib/colours/rainbow_colours/returnln_plain.rb +63 -0
- data/lib/colours/rainbow_colours/set_mode.rb +24 -0
- data/lib/colours/requires/require_all_colour_methods.rb +5 -0
- data/lib/colours/requires/require_commandline.rb +7 -0
- data/lib/colours/requires/require_eparse.rb +11 -0
- data/lib/colours/requires/require_rgb.rb +5 -0
- data/lib/colours/requires/require_sdir.rb +5 -0
- data/lib/colours/requires/require_sfile.rb +5 -0
- data/lib/colours/requires/require_the_256_colours_module.rb +16 -0
- data/lib/colours/requires/require_the_basic_colours.rb +7 -0
- data/lib/colours/requires/require_the_colour_methods.rb +34 -0
- data/lib/colours/requires/require_the_colour_table.rb +7 -0
- data/lib/colours/requires/require_the_colours_project.rb +52 -0
- data/lib/colours/requires/require_the_constants.rb +11 -0
- data/lib/colours/requires/require_the_html_colours.rb +11 -0
- data/lib/colours/requires/require_the_kde_colour_palette.rb +7 -0
- data/lib/colours/requires/require_the_toplevel_methods.rb +42 -0
- data/lib/colours/revert/revert.rb +106 -0
- data/lib/colours/rgb/rgb.rb +547 -0
- data/lib/colours/testing/README.md +2 -0
- data/lib/colours/testing/testing.rb +157 -0
- data/lib/colours/toplevel_methods/bold.rb +35 -0
- data/lib/colours/toplevel_methods/bold_and_italic.rb +36 -0
- data/lib/colours/toplevel_methods/cat.rb +39 -0
- data/lib/colours/toplevel_methods/clear_screen.rb +18 -0
- data/lib/colours/toplevel_methods/cliner.rb +19 -0
- data/lib/colours/toplevel_methods/col.rb +56 -0
- data/lib/colours/toplevel_methods/e.rb +63 -0
- data/lib/colours/toplevel_methods/esystem.rb +19 -0
- data/lib/colours/toplevel_methods/fancy_parse.rb +79 -0
- data/lib/colours/toplevel_methods/html_colourize.rb +64 -0
- data/lib/colours/toplevel_methods/is_on_roebe.rb +16 -0
- data/lib/colours/toplevel_methods/italic.rb +104 -0
- data/lib/colours/toplevel_methods/make_colour.rb +29 -0
- data/lib/colours/toplevel_methods/methods_related_to_html_colours.rb +325 -0
- data/lib/colours/toplevel_methods/misc.rb +129 -0
- data/lib/colours/toplevel_methods/open_this_file.rb +26 -0
- data/lib/colours/toplevel_methods/prefer_this_colour_schemata.rb +80 -0
- data/lib/colours/toplevel_methods/random_html_colour.rb +44 -0
- data/lib/colours/toplevel_methods/random_value.rb +37 -0
- data/lib/colours/toplevel_methods/remove_escape_sequence.rb +112 -0
- data/lib/colours/toplevel_methods/set_last_colour_used.rb +32 -0
- data/lib/colours/toplevel_methods/show_basic_colour_palette.rb +36 -0
- data/lib/colours/toplevel_methods/underline.rb +114 -0
- data/lib/colours/toplevel_methods/use_colours.rb +290 -0
- data/lib/colours/utility_scripts/README.md +2 -0
- data/lib/colours/utility_scripts/autogenerate.rb +291 -0
- data/lib/colours/version/version.rb +25 -0
- data/lib/colours/yaml/256_colours.yml +277 -0
- data/lib/colours/yaml/basic_colours.yml +23 -0
- data/lib/colours/yaml/html_colours.yml +835 -0
- data/lib/colours/yaml/kde_colour_palette.yml +183 -0
- data/lib/colours/yaml/prefer_this_colour_schemata.yml +15 -0
- data/lib/colours/yaml/use_these_values_for_the_colour_methods.yml +13 -0
- data/lib/colours.rb +5 -0
- data/test/test.html +18 -0
- data/test/testing_256_colours_support.rb +29 -0
- data/test/testing_col.rb +10 -0
- data/test/testing_colours.rb +95 -0
- data/test/testing_colours_e.rb +13 -0
- data/test/testing_eparse.rb +13 -0
- data/test/testing_kde_colour_palette.rb +30 -0
- data/test/testing_konsole_submodule.rb +226 -0
- data/test/testing_map_symbol_to_corresponding_colour.rb +14 -0
- data/test/testing_rgb_to_hex.rb +32 -0
- data/test/testing_the_basic_colours_of_the_colours_project.rb +58 -0
- data/test/testing_the_colour_methods.rb +36 -0
- data/test/testing_the_constants_of_the_colours_project.rb +9 -0
- data/test/testing_the_html_colours_of_the_colours_project.rb +37 -0
- data/test/testing_whether_colours_will_be_used.rb +7 -0
- 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
|