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.
- checksums.yaml +7 -0
- data/LICENCE.md +22 -0
- data/README.md +970 -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 +927 -0
- data/doc/todo/todo.md +25 -0
- data/lib/colours/256_colours/support_for_256_colours.rb +190 -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 +6367 -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 +334 -0
- data/lib/colours/class/class.rb +125 -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 +301 -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/requires/require_yaml.rb +9 -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 +83 -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 +110 -0
- data/lib/colours/toplevel_methods/make_colour.rb +29 -0
- data/lib/colours/toplevel_methods/methods_related_to_html_colours.rb +350 -0
- data/lib/colours/toplevel_methods/misc.rb +156 -0
- data/lib/colours/toplevel_methods/open_this_file.rb +26 -0
- data/lib/colours/toplevel_methods/prefer_this_colour_schemata.rb +85 -0
- data/lib/colours/toplevel_methods/random_html_colour.rb +48 -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 +129 -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 +15 -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 +229 -0
data/doc/todo/todo.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
-------------------------------------------------------------------------------
|
2
|
+
(1) → integrate rainbow into the
|
3
|
+
|
4
|
+
Colours gem, at the least the core functionality from:
|
5
|
+
http://www.rubydoc.info/gems/rainbow/2.1.0
|
6
|
+
|
7
|
+
require 'rainbow'; x = Rainbow("hola!").blue.bright.underline; pp x; ''
|
8
|
+
"\e[34m\e[1m\e[4mhola!\e[0m"
|
9
|
+
# ^^^
|
10
|
+
|
11
|
+
e Rainbow("hola!").blue.bright.underline
|
12
|
+
e Colours("hola!").blue.bright.underline
|
13
|
+
|
14
|
+
|
15
|
+
Colours('hi').red
|
16
|
+
^^^ as a first step enable this.
|
17
|
+
and then document it as well.
|
18
|
+
|
19
|
+
puts Rainbow("this is red").red + " and " + Rainbow("this on yellow bg").bg(:yellow) + " and " + Rainbow("even bright underlined!").underline.bright
|
20
|
+
^^^
|
21
|
+
-------------------------------------------------------------------------------
|
22
|
+
(2) → in colours. fix the italic part. The problem is that the default
|
23
|
+
colour is not restored correctly so. We may need to simplify
|
24
|
+
this eventually.
|
25
|
+
-------------------------------------------------------------------------------
|
@@ -0,0 +1,190 @@
|
|
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
|
+
module Colours
|
8
|
+
|
9
|
+
require 'yaml'
|
10
|
+
require 'colours/constants/file_constants.rb'
|
11
|
+
require 'colours/constants/newline.rb'
|
12
|
+
require 'colours/revert/revert.rb'
|
13
|
+
|
14
|
+
# ========================================================================= #
|
15
|
+
# === @dataset_for_the_256_colours
|
16
|
+
#
|
17
|
+
# We will keep the keys in a downcased variant, as this will make it
|
18
|
+
# easier to use them as method-names.
|
19
|
+
# ========================================================================= #
|
20
|
+
if File.exist?(FILE_256_COLOURS) # Must safeguard.
|
21
|
+
@dataset_for_the_256_colours = YAML.load_file(FILE_256_COLOURS).
|
22
|
+
transform_keys(&:downcase)
|
23
|
+
else
|
24
|
+
@dataset_for_the_256_colours = nil
|
25
|
+
end
|
26
|
+
|
27
|
+
# ========================================================================= #
|
28
|
+
# === Colours.return_this_256_colour
|
29
|
+
#
|
30
|
+
# The first argument to this method should be a number from 0 to 255.
|
31
|
+
#
|
32
|
+
# For example, 255 is also known as "Grey93" - a variant of grey.
|
33
|
+
#
|
34
|
+
# It appears to work better if you use print() rather than puts() for
|
35
|
+
# whatever is returned here - perhaps due to the leading \u001b part.
|
36
|
+
#
|
37
|
+
# You can also input the colour variant, such as 'Grey93'.
|
38
|
+
#
|
39
|
+
# Invocation example:
|
40
|
+
#
|
41
|
+
# Colours.return_this_256_colour(255, "Hello world in grey!\n")
|
42
|
+
# print Colours.return_this_256_colour(255, (Roebe.block_character*5)+" Hello world in grey! "+(Roebe.block_character*5)+" \n")
|
43
|
+
# print Colours.return_this_256_colour('DarkTurquoise', (Roebe.block_character*5)+" Hello world in DarkTurquoise! "+(Roebe.block_character*5)+" \n")
|
44
|
+
#
|
45
|
+
# ========================================================================= #
|
46
|
+
def self.return_this_256_colour(
|
47
|
+
id = 9,
|
48
|
+
use_this_text = "Hello world!"
|
49
|
+
)
|
50
|
+
id = id.to_s.downcase
|
51
|
+
if (id !~ /^\d+/) and @dataset_for_the_256_colours and
|
52
|
+
@dataset_for_the_256_colours.has_key?(id)
|
53
|
+
id = @dataset_for_the_256_colours[id]
|
54
|
+
end
|
55
|
+
"\u001b[38;5;#{id}m#{use_this_text}#{REVERT}"
|
56
|
+
end
|
57
|
+
|
58
|
+
# ========================================================================= #
|
59
|
+
# === Colours.write_this_in_256_colours
|
60
|
+
#
|
61
|
+
# Similar to the other write method, but has the arguments reversed.
|
62
|
+
# ========================================================================= #
|
63
|
+
def self.write_this_in_256_colours(
|
64
|
+
this_text = "Hello world!\n",
|
65
|
+
id = rand(256),
|
66
|
+
&block
|
67
|
+
)
|
68
|
+
display_this_256_colour(id, this_text, &block)
|
69
|
+
end; self.instance_eval { alias write_in_256_colour write_this_in_256_colours } # === Colours.write_in_256_colour
|
70
|
+
|
71
|
+
# ========================================================================= #
|
72
|
+
# === write_in_256_colour
|
73
|
+
#
|
74
|
+
# Include-able method to the above module-level instance.
|
75
|
+
# ========================================================================= #
|
76
|
+
def write_in_256_colour(
|
77
|
+
i = 'hi there',
|
78
|
+
id = 33
|
79
|
+
)
|
80
|
+
write_this_in_256_colours(i, id)
|
81
|
+
end
|
82
|
+
|
83
|
+
# ========================================================================= #
|
84
|
+
# === Colours.display_this_256_colour
|
85
|
+
#
|
86
|
+
# The first argument should be a number from 0 to 255.
|
87
|
+
#
|
88
|
+
# You can also batch-output all colours, by using something like:
|
89
|
+
#
|
90
|
+
# Colours.display_this_256_colour('0-255',"Hello world, in a batch!\n")
|
91
|
+
#
|
92
|
+
# Generic usage example:
|
93
|
+
#
|
94
|
+
# Colours.display_this_256_colour(33, 'yo there') { :newline }
|
95
|
+
#
|
96
|
+
# ========================================================================= #
|
97
|
+
def self.display_this_256_colour(
|
98
|
+
id = 9,
|
99
|
+
use_this_text = "Hello world!\n",
|
100
|
+
&block
|
101
|
+
)
|
102
|
+
if block_given?
|
103
|
+
yielded = yield
|
104
|
+
case yielded
|
105
|
+
when :newline
|
106
|
+
use_this_text = use_this_text.dup if use_this_text.frozen?
|
107
|
+
use_this_text << "\n"
|
108
|
+
end
|
109
|
+
end
|
110
|
+
if id.is_a?(String) and id.include?('-')
|
111
|
+
# ===================================================================== #
|
112
|
+
# Assume pseudo-range input.
|
113
|
+
# ===================================================================== #
|
114
|
+
splitted = id.split('-')
|
115
|
+
range = (splitted.first.to_i .. splitted.last.to_i).to_a
|
116
|
+
range.each {|this_range_id|
|
117
|
+
display_this_256_colour(this_range_id, use_this_text, &block)
|
118
|
+
}
|
119
|
+
else
|
120
|
+
print return_this_256_colour(id, use_this_text)
|
121
|
+
end
|
122
|
+
end; self.instance_eval { alias display_this_in_256_colour display_this_256_colour } # === Colours.display_this_in_256_colour
|
123
|
+
|
124
|
+
# ========================================================================= #
|
125
|
+
# === Colours.show_all_256_colours
|
126
|
+
# ========================================================================= #
|
127
|
+
def self.show_all_256_colours
|
128
|
+
yielded = nil
|
129
|
+
if block_given?
|
130
|
+
yielded = yield
|
131
|
+
end
|
132
|
+
0.upto(255).each {|this_number|
|
133
|
+
result = this_number.to_s.rjust(4)+' '+
|
134
|
+
return_this_256_colour(this_number).to_s.dup
|
135
|
+
if yielded and yielded == :newline
|
136
|
+
result << "\n"
|
137
|
+
end
|
138
|
+
print result
|
139
|
+
}
|
140
|
+
end
|
141
|
+
|
142
|
+
# ========================================================================= #
|
143
|
+
# === Colours.show_256_colour_cube
|
144
|
+
#
|
145
|
+
# This will show the 256-colours cube. Colours 16-231 are a
|
146
|
+
# 6x6x6 color cube.
|
147
|
+
# ========================================================================= #
|
148
|
+
def self.show_256_colour_cube
|
149
|
+
puts 'Color cube, 6x6x6 blocks:'
|
150
|
+
0.upto(5) {|green|
|
151
|
+
0.upto(5) {|red|
|
152
|
+
0.upto(5) {|blue|
|
153
|
+
colour = 16 + (red * 36) + (green * 6) + blue
|
154
|
+
print "\x1b[48;5;#{colour}m "
|
155
|
+
}
|
156
|
+
print "\x1b[0m "
|
157
|
+
}
|
158
|
+
puts
|
159
|
+
}
|
160
|
+
end
|
161
|
+
|
162
|
+
# ========================================================================= #
|
163
|
+
# === Colours.is_this_a_256_colour?
|
164
|
+
#
|
165
|
+
# Invocation example:
|
166
|
+
#
|
167
|
+
# Colours.is_this_a_256_colour? 'LightSteelBlue3'
|
168
|
+
#
|
169
|
+
# ========================================================================= #
|
170
|
+
def self.is_this_a_256_colour?(i)
|
171
|
+
if @dataset_for_the_256_colours
|
172
|
+
@dataset_for_the_256_colours.keys.map(&:downcase).include?(i.to_s.downcase)
|
173
|
+
else
|
174
|
+
false
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
# ========================================================================= #
|
179
|
+
# === is_this_a_256_colour?
|
180
|
+
# ========================================================================= #
|
181
|
+
def is_this_a_256_colour?(i)
|
182
|
+
::Colours.is_this_a_256_colour?(i)
|
183
|
+
end
|
184
|
+
|
185
|
+
end
|
186
|
+
|
187
|
+
if __FILE__ == $PROGRAM_NAME
|
188
|
+
Colours.show_256_colour_cube
|
189
|
+
Colours.test_256_colours_support
|
190
|
+
end # supportfor256colours
|
@@ -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
|