colours 0.6.10
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/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 +84 -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 +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 +228 -0
data/lib/colours/e/e.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === Colours::E
|
6
|
+
#
|
7
|
+
# require 'colours/e/e.rb'
|
8
|
+
# include ::Colours::E
|
9
|
+
# =========================================================================== #
|
10
|
+
module Colours
|
11
|
+
|
12
|
+
module E # === Colours::E
|
13
|
+
|
14
|
+
# ========================================================================= #
|
15
|
+
# === Colours::E.e
|
16
|
+
# ========================================================================= #
|
17
|
+
def self.e(i = '')
|
18
|
+
if i.is_a? Array
|
19
|
+
i = i.join(' ')
|
20
|
+
end
|
21
|
+
puts i
|
22
|
+
end; self.instance_eval { alias [] e } # === Colours::E[]
|
23
|
+
|
24
|
+
# ========================================================================= #
|
25
|
+
# === e
|
26
|
+
# ========================================================================= #
|
27
|
+
def e(i = '')
|
28
|
+
::Colours::E.e(i)
|
29
|
+
end
|
30
|
+
|
31
|
+
end; end
|
32
|
+
|
33
|
+
if __FILE__ == $PROGRAM_NAME
|
34
|
+
Colours::E.e(ARGV)
|
35
|
+
end
|
data/lib/colours/e.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/eparse/eparse.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'colours/toplevel_methods/e.rb'
|
8
|
+
require 'colours/constants/colour_constants.rb'
|
9
|
+
|
10
|
+
module Colours
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === Colours.eparse
|
14
|
+
#
|
15
|
+
# This method primarily exists because we can easily split a string
|
16
|
+
# if it has a '#' token. The part that comes after the '#' token is
|
17
|
+
# assumed to be a comment or an explanation.
|
18
|
+
# ========================================================================= #
|
19
|
+
def self.eparse(i = '')
|
20
|
+
Colours.e(rparse(i))
|
21
|
+
end
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === Colours.rparse
|
25
|
+
#
|
26
|
+
# This method will return a string; the method eparse will output that
|
27
|
+
# (colourized) String.
|
28
|
+
# ========================================================================= #
|
29
|
+
def self.rparse(i = '')
|
30
|
+
_ = i.to_s # We require a String.
|
31
|
+
split_at = ':' # <- Split at this character.
|
32
|
+
# ======================================================================== #
|
33
|
+
# If the input does not include a ':' but it does include a '#', then
|
34
|
+
# we will use that character instead.
|
35
|
+
#
|
36
|
+
# However had, as of Jun 2017, I have disabled that check. Now '#' will
|
37
|
+
# always overrule. My reasoning now is that '#' is more important than
|
38
|
+
# ':', if it is part of the input-string.
|
39
|
+
# ======================================================================== #
|
40
|
+
split_at = '#' if _.include? '#'
|
41
|
+
first_colour = COLOUR_GREEN
|
42
|
+
second_colour = COLOUR_TEAL
|
43
|
+
if i.include? split_at
|
44
|
+
splitted = _.split(split_at)
|
45
|
+
_ = first_colour+
|
46
|
+
splitted.first+
|
47
|
+
split_at+
|
48
|
+
second_colour+
|
49
|
+
splitted[1..-1].join(split_at).dup
|
50
|
+
_ << REVERT
|
51
|
+
elsif i.include? ' '
|
52
|
+
split_at = ' '
|
53
|
+
splitted = _.split(/ /)
|
54
|
+
index = splitted.find_index {|e| ! e.empty? }
|
55
|
+
_ = first_colour+splitted[0..index].join(' ')+split_at+
|
56
|
+
second_colour+splitted[index+1..-1].join(' ').dup
|
57
|
+
_ << REVERT
|
58
|
+
end
|
59
|
+
return _
|
60
|
+
end
|
61
|
+
|
62
|
+
# ========================================================================== #
|
63
|
+
# === eparse (eparse tag)
|
64
|
+
#
|
65
|
+
# Input could be like this:
|
66
|
+
# eparse 'Foo: bla'
|
67
|
+
# eparse 'Foo: '+bla
|
68
|
+
# ========================================================================== #
|
69
|
+
def eparse(i = '')
|
70
|
+
Colours.eparse(i)
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
if __FILE__ == $PROGRAM_NAME
|
76
|
+
Colours.eparse('Hello there # how do you do, this is a test')
|
77
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/everything/autoinclude'
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'colours'
|
8
|
+
require 'colours/e'
|
9
|
+
|
10
|
+
include Colours
|
11
|
+
include Colours::E
|
@@ -0,0 +1 @@
|
|
1
|
+
This directory has code for the html "colours".
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# This file will add the autogenerated HTML-colours onto the toplevel
|
6
|
+
# module "namespace".
|
7
|
+
# =========================================================================== #
|
8
|
+
# require 'colours/html_colours/add_html_colours_onto_the_toplevel_namespace.rb'
|
9
|
+
# Colours.add_html_colours_onto_the_toplevel_namespace
|
10
|
+
# =========================================================================== #
|
11
|
+
require 'colours/autogenerated/support_for_html_colours.rb'
|
12
|
+
|
13
|
+
module Colours
|
14
|
+
|
15
|
+
# ========================================================================= #
|
16
|
+
# === Colours.add_html_colours_onto_the_toplevel_namespace
|
17
|
+
# ========================================================================= #
|
18
|
+
def self.add_html_colours_onto_the_toplevel_namespace
|
19
|
+
extend Colours::SupportForHTMLColours
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/html_colours/hash_html_colours.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'yaml'
|
8
|
+
require 'colours/constants/file_constants.rb'
|
9
|
+
|
10
|
+
module Colours
|
11
|
+
|
12
|
+
module HtmlColours # === Colours::HtmlColours
|
13
|
+
|
14
|
+
# =========================================================================== #
|
15
|
+
# === Colours::HtmlColours::HASH_HTML_COLOURS
|
16
|
+
#
|
17
|
+
# The colours in the yaml file are stored in a:
|
18
|
+
#
|
19
|
+
# name: hexvalue
|
20
|
+
#
|
21
|
+
# format.
|
22
|
+
# =========================================================================== #
|
23
|
+
_ = FILE_HTML_COLOURS
|
24
|
+
|
25
|
+
# =========================================================================== #
|
26
|
+
# === @hash_html_colours
|
27
|
+
# =========================================================================== #
|
28
|
+
@hash_html_colours = {}
|
29
|
+
|
30
|
+
if File.exist? _
|
31
|
+
@hash_html_colours = YAML.load_file(_)
|
32
|
+
else
|
33
|
+
# ======================================================================= #
|
34
|
+
# The second check is not ideal but I think that I only need this
|
35
|
+
# on my home system anyway.
|
36
|
+
# ======================================================================= #
|
37
|
+
if ("#{ENV['IS_ROEBE']}" == '1')
|
38
|
+
puts "Colours::HtmlColours: We could not find any "\
|
39
|
+
"file at `#{_}`."
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# =========================================================================== #
|
44
|
+
# === Colours::HtmlColours.hash_html_colours?
|
45
|
+
# =========================================================================== #
|
46
|
+
def self.hash_html_colours?
|
47
|
+
@hash_html_colours
|
48
|
+
end; self.instance_eval { alias main_hash? hash_html_colours? } # === Colours::HtmlColours.main_hash?
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# =========================================================================== #
|
53
|
+
# === Colours.hash_html_colours?
|
54
|
+
# =========================================================================== #
|
55
|
+
def self.hash_html_colours?
|
56
|
+
::Colours::HtmlColours.hash_html_colours?
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
if __FILE__ == $PROGRAM_NAME
|
62
|
+
pp Colours::HtmlColours.hash_html_colours?
|
63
|
+
end # hash_html_colours
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/html_colours/html_colourize.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Colours
|
8
|
+
|
9
|
+
module HtmlColours
|
10
|
+
|
11
|
+
require 'colours/toplevel_methods/misc.rb'
|
12
|
+
require 'colours/toplevel_methods/methods_related_to_html_colours.rb'
|
13
|
+
|
14
|
+
# ========================================================================= #
|
15
|
+
# === Colours::HtmlColours.html_colourize
|
16
|
+
# ========================================================================= #
|
17
|
+
def self.html_colourize(i)
|
18
|
+
if i.is_a? Array
|
19
|
+
i = i.join(' ')
|
20
|
+
end
|
21
|
+
if i
|
22
|
+
if File.file?(i)
|
23
|
+
i = File.read(i)
|
24
|
+
elsif i.respond_to? :read
|
25
|
+
i = i.read
|
26
|
+
end
|
27
|
+
end
|
28
|
+
if i.is_a? String
|
29
|
+
# ===================================================================== #
|
30
|
+
# Find all HTML colours next in that String:
|
31
|
+
# ===================================================================== #
|
32
|
+
splitted = i.split("\n")
|
33
|
+
splitted.map! {|entry|
|
34
|
+
if ::Colours.does_this_line_include_a_html_colour?(entry)
|
35
|
+
entry = ::Colours.replace_all_raw_html_colours_in_this_line(entry)
|
36
|
+
end
|
37
|
+
entry
|
38
|
+
}
|
39
|
+
i = splitted.join("\n")
|
40
|
+
end
|
41
|
+
e i
|
42
|
+
end
|
43
|
+
|
44
|
+
end; end
|
45
|
+
|
46
|
+
if __FILE__ == $PROGRAM_NAME
|
47
|
+
Colours::HtmlColours.html_colourize(ARGF)
|
48
|
+
end # html_colourize foo bar
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/html_colours/is_this_html_colour_included.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'colours/html_colours/hash_html_colours.rb'
|
8
|
+
|
9
|
+
module Colours
|
10
|
+
|
11
|
+
module HtmlColours
|
12
|
+
|
13
|
+
# =========================================================================== #
|
14
|
+
# === Colours::HtmlColours.does_include?
|
15
|
+
#
|
16
|
+
# This method will return true if the given input is included in the
|
17
|
+
# HTML colours.
|
18
|
+
#
|
19
|
+
# Usage examples:
|
20
|
+
#
|
21
|
+
# Colours::HtmlColours.does_include? 'slateblue' # => true
|
22
|
+
# Colours::HtmlColours.is_this_html_colour_included? 'royalblue' # => true
|
23
|
+
# Colours::HtmlColours.is_this_html_colour_included? 'megawhite' # => false
|
24
|
+
#
|
25
|
+
# =========================================================================== #
|
26
|
+
def self.does_include?(i = :slateblue)
|
27
|
+
return true if @hash_html_colours.has_key?(i.to_s)
|
28
|
+
false # else return false.
|
29
|
+
end; self.instance_eval { alias is_this_html_colour_included? does_include? } # === Colours::HtmlColours.is_this_html_colour_included?
|
30
|
+
self.instance_eval { alias is_a_html_colour? does_include? } # === Colours::HtmlColours.is_a_html_colour?
|
31
|
+
self.instance_eval { alias is_this_a_html_colour? does_include? } # === Colours::HtmlColours.is_this_a_html_colour?
|
32
|
+
self.instance_eval { alias html_colours_include? does_include? } # === Colours::HtmlColours.html_colours_include?
|
33
|
+
self.instance_eval { alias include_this_html_colour? does_include? } # === Colours::HtmlColours.include_this_html_colour?
|
34
|
+
self.instance_eval { alias is_this_a_valid_html_colour? does_include? } # === Colours::HtmlColours.is_this_a_valid_html_colour?
|
35
|
+
self.instance_eval { alias is_this_input_a_html_colour? does_include? } # === Colours::HtmlColours.is_this_input_a_html_colour?
|
36
|
+
self.instance_eval { alias has_colour? does_include? } # === Colours::HtmlColours.has_colour?
|
37
|
+
self.instance_eval { alias registered_colour? does_include? } # === Colours::HtmlColours.registered_colour?
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
# =========================================================================== #
|
42
|
+
# === Colours.does_include?
|
43
|
+
#
|
44
|
+
# Usage examples:
|
45
|
+
#
|
46
|
+
# Colours.does_include? 'slateblue'
|
47
|
+
# Colours.is_this_html_colour_included? 'royalblue' # => true
|
48
|
+
# Colours.is_this_html_colour_included? 'megawhite' # => false
|
49
|
+
#
|
50
|
+
# =========================================================================== #
|
51
|
+
def self.does_include?(i = :slateblue)
|
52
|
+
i = i.to_sym unless i.is_a? Symbol
|
53
|
+
::Colours::HtmlColours.does_include?(i)
|
54
|
+
end; self.instance_eval { alias is_this_html_colour_included? does_include? } # === Colours.is_this_html_colour_included?
|
55
|
+
self.instance_eval { alias is_a_html_colour? does_include? } # === Colours.is_a_html_colour?
|
56
|
+
self.instance_eval { alias is_this_a_html_colour? does_include? } # === Colours.is_this_a_html_colour?
|
57
|
+
self.instance_eval { alias html_colours_include? does_include? } # === Colours.html_colours_include?
|
58
|
+
self.instance_eval { alias include_this_html_colour? does_include? } # === Colours.include_this_html_colour?
|
59
|
+
self.instance_eval { alias is_this_a_valid_html_colour? does_include? } # === Colours.is_this_a_valid_html_colour?
|
60
|
+
self.instance_eval { alias is_this_input_a_html_colour? does_include? } # === Colours.is_this_input_a_html_colour?
|
61
|
+
self.instance_eval { alias has_colour? does_include? } # === Colours.has_colour?
|
62
|
+
self.instance_eval { alias registered_colour? does_include? } # === Colours.registered_colour?
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1,186 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/html_colours/misc.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'colours/toplevel_methods/e.rb'
|
8
|
+
require 'colours/html_colours/hash_html_colours.rb'
|
9
|
+
require 'colours/html_colours/is_this_html_colour_included.rb'
|
10
|
+
|
11
|
+
module Colours
|
12
|
+
|
13
|
+
module HtmlColours # === Colours::HtmlColours
|
14
|
+
|
15
|
+
# =========================================================================== #
|
16
|
+
# === Colours::HtmlColours.e
|
17
|
+
# =========================================================================== #
|
18
|
+
def self.e(i = '')
|
19
|
+
::Colours.e(i)
|
20
|
+
end
|
21
|
+
|
22
|
+
# =========================================================================== #
|
23
|
+
# === Colours::HtmlColours.available_html_colours?
|
24
|
+
#
|
25
|
+
# This method will return an Array with all available HTML colours.
|
26
|
+
# =========================================================================== #
|
27
|
+
def self.available_html_colours?
|
28
|
+
@hash_html_colours.keys
|
29
|
+
end; self.instance_eval { alias html_colours available_html_colours? } # === Colours::HtmlColours.html_colours
|
30
|
+
self.instance_eval { alias all_html_colours available_html_colours? } # === Colours::HtmlColours.all_html_colours
|
31
|
+
self.instance_eval { alias return_all_html_colours available_html_colours? } # === Colours::HtmlColours.return_all_html_colours
|
32
|
+
self.instance_eval { alias all_colours available_html_colours? } # === HtmlColours.all_colours
|
33
|
+
self.instance_eval { alias all_colours? available_html_colours? } # === HtmlColours.all_colours?
|
34
|
+
self.instance_eval { alias colours available_html_colours? } # === HtmlColours.colours
|
35
|
+
self.instance_eval { alias colours? available_html_colours? } # === HtmlColours.colours?
|
36
|
+
self.instance_eval { alias all? available_html_colours? } # === HtmlColours.all?
|
37
|
+
self.instance_eval { alias registered_colours? available_html_colours? } # === HtmlColours.registered_colours?
|
38
|
+
|
39
|
+
# =========================================================================== #
|
40
|
+
# === all_html_colours
|
41
|
+
#
|
42
|
+
# This method will feedback all html colours known.
|
43
|
+
# =========================================================================== #
|
44
|
+
def all_html_colours
|
45
|
+
::Colours::HtmlColours.available_html_colours?
|
46
|
+
end; alias html_colours? all_html_colours # === html_colours?
|
47
|
+
alias all_colours all_html_colours # === all_colours
|
48
|
+
|
49
|
+
require 'colours/autogenerated/support_for_html_colours.rb'
|
50
|
+
# ========================================================================= #
|
51
|
+
# === Colours::HtmlColours[]
|
52
|
+
#
|
53
|
+
# Usage examples:
|
54
|
+
#
|
55
|
+
# Colours::HtmlColours['slateblue','Hello World!'] # works as Example 1
|
56
|
+
# Colours::HtmlColours['slateblue']
|
57
|
+
# Colours::HtmlColours['lightgreen','Hello World!']
|
58
|
+
# Colours::HtmlColours[:random]
|
59
|
+
# e Colours::HtmlColours[:random, 'yo there']
|
60
|
+
#
|
61
|
+
# ========================================================================= #
|
62
|
+
def self.[](
|
63
|
+
which_colour_to_use, optional_text_to_display = ''
|
64
|
+
)
|
65
|
+
case which_colour_to_use
|
66
|
+
when :random
|
67
|
+
which_colour_to_use = random_html_colour
|
68
|
+
end
|
69
|
+
if ::Colours.use_html_colours?
|
70
|
+
::Colours::SupportForHTMLColours.send(
|
71
|
+
which_colour_to_use, optional_text_to_display
|
72
|
+
)
|
73
|
+
else # else return it unmodified.
|
74
|
+
optional_text_to_display
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# =========================================================================== #
|
79
|
+
# === Colours::HtmlColours.colour_to_rgb('royalblue')
|
80
|
+
#
|
81
|
+
# This method will convert the long colour name to an Array
|
82
|
+
# with R,G,B values.
|
83
|
+
#
|
84
|
+
# Usage examples:
|
85
|
+
#
|
86
|
+
# Colours::HtmlColours.colour_to_rgb('whitesmoke') # => [245, 245, 245]
|
87
|
+
# Colours::HtmlColours.colour_to_rgb('slateblue') # => [106, 90, 205]
|
88
|
+
# Colours::HtmlColours.colour_to_rgb(:royalblue) # => [65, 105, 225]
|
89
|
+
#
|
90
|
+
# =========================================================================== #
|
91
|
+
def self.colour_to_rgb(long_name = :slateblue)
|
92
|
+
pointer = @hash_html_colours[long_name.to_s] # This will be an Array.
|
93
|
+
return [pointer[0], pointer[1], pointer[2]]
|
94
|
+
end; self.instance_eval { alias to_rgb colour_to_rgb } # === HtmlColours.to_rgb()
|
95
|
+
|
96
|
+
# =========================================================================== #
|
97
|
+
# === Colours::HtmlColours.random_colour?
|
98
|
+
#
|
99
|
+
# Obtain a random sample, aka a random colour, from all the registered
|
100
|
+
# html colours.
|
101
|
+
# =========================================================================== #
|
102
|
+
def self.random_colour?
|
103
|
+
available_html_colours?.sample
|
104
|
+
end; self.instance_eval { alias random_colour random_colour? } # === Colours::HtmlColours.random_colour
|
105
|
+
self.instance_eval { alias random random_colour? } # === Colours::HtmlColours.random
|
106
|
+
self.instance_eval { alias sample random_colour? } # === Colours::HtmlColours.sample
|
107
|
+
self.instance_eval { alias random_html_colour random_colour? } # === Colours::HtmlColours.random_html_colour
|
108
|
+
self.instance_eval { alias return_random_html_colour random_colour? } # === Colours::HtmlColours.return_random_html_colour
|
109
|
+
self.instance_eval { alias return_random_colour random_colour? } # === Colours::HtmlColours.return_random_colour
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
# =========================================================================== #
|
114
|
+
# === Colours.random_colour?
|
115
|
+
#
|
116
|
+
# Obtain a random sample, aka a random colour, from all the registered
|
117
|
+
# html colours.
|
118
|
+
# =========================================================================== #
|
119
|
+
def self.random_colour?
|
120
|
+
Colours::HtmlColours.random_colour?
|
121
|
+
end; self.instance_eval { alias random_colour random_colour? } # === Colours.random_colour
|
122
|
+
self.instance_eval { alias random random_colour? } # === Colours.random
|
123
|
+
self.instance_eval { alias sample random_colour? } # === Colours.sample
|
124
|
+
self.instance_eval { alias random_html_colour random_colour? } # === Colours.random_html_colour
|
125
|
+
self.instance_eval { alias return_random_html_colour random_colour? } # === Colours.return_random_html_colour
|
126
|
+
self.instance_eval { alias return_random_colour random_colour? } # === Colours.return_random_colour
|
127
|
+
|
128
|
+
# =========================================================================== #
|
129
|
+
# === Colours.colour_to_rgb
|
130
|
+
# =========================================================================== #
|
131
|
+
def self.colour_to_rgb(i = :slateblue)
|
132
|
+
::Colours::HtmlColours.colour_to_rgb(i)
|
133
|
+
end; self.instance_eval { alias to_rgb colour_to_rgb } # === Colours.to_rgb()
|
134
|
+
|
135
|
+
# =========================================================================== #
|
136
|
+
# === Colours.available_html_colours?
|
137
|
+
# =========================================================================== #
|
138
|
+
def self.available_html_colours?
|
139
|
+
::Colours::HtmlColours.available_html_colours?
|
140
|
+
end; self.instance_eval { alias html_colours? available_html_colours? } # === Colours.html_colours?
|
141
|
+
self.instance_eval { alias html_colours available_html_colours? } # === Colours.html_colours
|
142
|
+
self.instance_eval { alias all_html_colours available_html_colours? } # === Colours.all_html_colours
|
143
|
+
self.instance_eval { alias return_all_html_colours available_html_colours? } # === Colours.return_all_html_colours
|
144
|
+
self.instance_eval { alias colours? available_html_colours? } # === Colours.colours?
|
145
|
+
self.instance_eval { alias colours available_html_colours? } # === Colours.colours
|
146
|
+
self.instance_eval { alias registered_colours? available_html_colours? } # === Colours.registered_colours?
|
147
|
+
|
148
|
+
# =========================================================================== #
|
149
|
+
# === available_html_colours?
|
150
|
+
# =========================================================================== #
|
151
|
+
def available_html_colours?
|
152
|
+
Colours.available_html_colours?
|
153
|
+
end; alias html_colours? available_html_colours? # === html_colours?
|
154
|
+
alias html_colours available_html_colours? # === html_colours
|
155
|
+
alias all_html_colours available_html_colours? # === all_html_colours
|
156
|
+
alias return_all_html_colours available_html_colours? # === return_all_html_colours
|
157
|
+
alias colours? available_html_colours? # === colours?
|
158
|
+
alias colours available_html_colours? # === colours
|
159
|
+
alias registered_colours? available_html_colours? # === registered_colours?
|
160
|
+
|
161
|
+
# # =========================================================================== #
|
162
|
+
# # === Colours[]
|
163
|
+
# # =========================================================================== #
|
164
|
+
# def self.[](i = :slateblue, optional_text_to_display = '')
|
165
|
+
# ::Colours::HtmlColours[i, optional_text_to_display]
|
166
|
+
# end
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
if __FILE__ == $PROGRAM_NAME
|
171
|
+
pp Colours::HtmlColours.return_all_html_colours
|
172
|
+
p Colours.return_all_html_colours
|
173
|
+
pp Colours::HtmlColours.colour_to_rgb('royalblue')
|
174
|
+
if ARGV.first
|
175
|
+
p Colours::HtmlColours[ARGV.first]
|
176
|
+
else
|
177
|
+
print 'sienna -> '; pp Colours::HtmlColours.colour_to_rgb(:sienna)
|
178
|
+
Colours::HtmlColours.show_all_colours
|
179
|
+
p Colours::HtmlColours['sienna']
|
180
|
+
end
|
181
|
+
# puts Colours.random_html_colour
|
182
|
+
# puts Colours.random_html_colour
|
183
|
+
# puts Colours.random_html_colour
|
184
|
+
# pp Colours::HtmlColours.available_html_colours?
|
185
|
+
# pp Colours::HtmlColours.random_colour?
|
186
|
+
end #
|
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/html_colours/show_html_colours.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Colours
|
8
|
+
|
9
|
+
module HtmlColours # === Colours::HtmlColours
|
10
|
+
|
11
|
+
require 'colours/html_colours/hash_html_colours.rb'
|
12
|
+
require 'colours/html_colours/misc.rb'
|
13
|
+
require 'colours/rgb/rgb.rb'
|
14
|
+
|
15
|
+
require 'colours/revert/revert.rb'
|
16
|
+
# ========================================================================= #
|
17
|
+
# === Colours::HtmlColours.rev
|
18
|
+
# ========================================================================= #
|
19
|
+
def self.rev
|
20
|
+
::Colours.rev
|
21
|
+
end
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === Colours::HtmlColours.show_html_colours
|
25
|
+
#
|
26
|
+
# This can be used to output the colours. It requires the method
|
27
|
+
# html_colours().
|
28
|
+
#
|
29
|
+
# To invoke this method from the commandline, try:
|
30
|
+
#
|
31
|
+
# colours --show_html_colours
|
32
|
+
#
|
33
|
+
# ========================================================================= #
|
34
|
+
def self.show_html_colours
|
35
|
+
lpad = 22
|
36
|
+
show_this_standard_sentence =
|
37
|
+
'This is a longer test-sentence in that colour.'
|
38
|
+
print ' '; e '=' * 100
|
39
|
+
html_colours.each {|this_html_colour|
|
40
|
+
result = "#{::Colours.rgb_as_string(this_html_colour)} #{this_html_colour.to_s.ljust(22)}"
|
41
|
+
# ===================================================================== #
|
42
|
+
# Next, show that particular colour.
|
43
|
+
# ===================================================================== #
|
44
|
+
string = ::Colours.rgb_as_string(this_html_colour).strip
|
45
|
+
ansi_escape_code = string.tr("\e","\\e")
|
46
|
+
display_this_line =
|
47
|
+
" | #{(this_html_colour+': ').ljust(lpad)}| "\
|
48
|
+
"#{result}#{::Colours.rev} | #{::Colours.rgb_as_string(this_html_colour)}#{show_this_standard_sentence}#{rev} |\n".dup # rev() is needed to restore the old default.
|
49
|
+
display_this_line << ' | | '
|
50
|
+
display_this_line << ''.ljust(22)
|
51
|
+
echo_string = " | echo -e \""+string+"\\"+ansi_escape_code+"xyz#{rev}"+'"'
|
52
|
+
padded_echo_string = (echo_string.rstrip).ljust(72)
|
53
|
+
display_this_line << padded_echo_string+'|'
|
54
|
+
e display_this_line
|
55
|
+
}
|
56
|
+
print ' '; e '=' * 100
|
57
|
+
end; self.instance_eval { alias display_all_colours show_html_colours } # === Colours::HtmlColours.display_all_colours
|
58
|
+
self.instance_eval { alias show_colours show_html_colours } # === Colours::HtmlColours.show_colours
|
59
|
+
self.instance_eval { alias test show_html_colours } # === Colours::HtmlColours.test
|
60
|
+
self.instance_eval { alias show_all_colours show_html_colours } # === Colours::HtmlColours.show_all_colours
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
# =========================================================================== #
|
65
|
+
# === Colours.show_html_colours
|
66
|
+
# =========================================================================== #
|
67
|
+
def self.show_html_colours
|
68
|
+
::Colours::HtmlColours.show_html_colours
|
69
|
+
end; self.instance_eval { alias display_all_colours show_html_colours } # === Colours.display_all_colours
|
70
|
+
self.instance_eval { alias show_colours show_html_colours } # === Colours.show_colours
|
71
|
+
self.instance_eval { alias test show_html_colours } # === Colours.test
|
72
|
+
self.instance_eval { alias show_all_colours show_html_colours } # === Colours.show_all_colours
|
73
|
+
|
74
|
+
# =========================================================================== #
|
75
|
+
# === show_html_colours
|
76
|
+
# =========================================================================== #
|
77
|
+
def show_html_colours
|
78
|
+
::Colours.show_html_colours
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
if __FILE__ == $PROGRAM_NAME
|
84
|
+
Colours::HtmlColours.show_html_colours
|
85
|
+
end
|