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
@@ -0,0 +1,301 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal = true
|
4
|
+
# =========================================================================== #
|
5
|
+
# This file primarily stores constants, including AnsiColours-related
|
6
|
+
# escape sequences. Additionally it will also store methods can refer
|
7
|
+
# or make use of these constants, such as Colours.teal(), and so forth.
|
8
|
+
#
|
9
|
+
# The different escape sequences can be combined into a single escape
|
10
|
+
# sequence by separating them via semicolons. For example, to create
|
11
|
+
# a section of text that is bold text with a yellow foreground and
|
12
|
+
# blue background, the escape sequence would be:
|
13
|
+
#
|
14
|
+
# ^[[1;33;44m
|
15
|
+
#
|
16
|
+
# Keep in mind that in bash the ESC code can be either of the following:
|
17
|
+
#
|
18
|
+
# \e
|
19
|
+
# \033 (octal)
|
20
|
+
# \x1B (hexadecimal)
|
21
|
+
#
|
22
|
+
# BOLD colour constants will have a "1" as part of their escape sequence.
|
23
|
+
# Note that the bold colours are sometimes also called the "bright colours".
|
24
|
+
# =========================================================================== #
|
25
|
+
# To see which colours are supported/supportable, for each terminal,
|
26
|
+
# have a look at this link:
|
27
|
+
#
|
28
|
+
# https://misc.flogisoft.com/bash/tip_colors_and_formatting#terminals_compatibility
|
29
|
+
#
|
30
|
+
# This wikipedia link is also somewhat useful for ANSI escape sequences
|
31
|
+
# in general:
|
32
|
+
#
|
33
|
+
# http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
|
34
|
+
#
|
35
|
+
# =========================================================================== #
|
36
|
+
# This file is tested in the file
|
37
|
+
# colours/test/testing_the_basic_colours_of_the_colours_project.rb
|
38
|
+
# =========================================================================== #
|
39
|
+
# The following table shows the colour-codes for the terminal:
|
40
|
+
#
|
41
|
+
# Black 0;30 Dark Gray 1;30
|
42
|
+
# Red 0;31 Light Red 1;31
|
43
|
+
# Green 0;32 Light Green 1;32
|
44
|
+
# Yellow 0;33 Brown 1;33
|
45
|
+
# Blue 0;34 Light Blue 1;34
|
46
|
+
# Magenta 0;35 Light Magenta 1;35
|
47
|
+
# Cyan 0;36 Light Cyan 1;36
|
48
|
+
# Light Gray 0;37 White 1;37
|
49
|
+
#
|
50
|
+
# These are also stored in the Hash called HASH_SIMPLE_COLOURS.
|
51
|
+
#
|
52
|
+
# =========================================================================== #
|
53
|
+
# require 'colours/constants/colour_constants.rb'
|
54
|
+
# =========================================================================== #
|
55
|
+
module Colours
|
56
|
+
|
57
|
+
require 'colours/constants/hash_simple_colours.rb'
|
58
|
+
require 'colours/constants/newline.rb'
|
59
|
+
require 'colours/revert/revert.rb'
|
60
|
+
|
61
|
+
# ========================================================================= #
|
62
|
+
# === REDRAW_THE_PROMPT
|
63
|
+
#
|
64
|
+
# The following constant is necessary in order for the background colour
|
65
|
+
# to apply to the whole line and in order for the foreground colour to
|
66
|
+
# apply to the cursor.
|
67
|
+
# ========================================================================= #
|
68
|
+
REDRAW_THE_PROMPT = "\e[K"
|
69
|
+
|
70
|
+
# ========================================================================= #
|
71
|
+
# === Colours::BLACK_ON_WHITE_BACKGROUND
|
72
|
+
#
|
73
|
+
# Usage example:
|
74
|
+
#
|
75
|
+
# puts Colours::BLACK_ON_WHITE_BACKGROUND+'Hello world!'+Colours::RESET
|
76
|
+
#
|
77
|
+
# ========================================================================= #
|
78
|
+
BLACK_ON_WHITE_BACKGROUND = "#{ESC}0;30;47m"
|
79
|
+
BLACK_ON_WHITE_BG = BLACK_ON_WHITE_BACKGROUND # === BLACK_ON_WHITE_BG
|
80
|
+
|
81
|
+
# ========================================================================= #
|
82
|
+
# === COLOUR_YELLOW
|
83
|
+
# ========================================================================= #
|
84
|
+
COLOUR_YELLOW = "#{ESC}0;33m"
|
85
|
+
BROWN = COLOUR_YELLOW # === BROWN
|
86
|
+
YEL = COLOUR_YELLOW # === YEL
|
87
|
+
YELLOW = COLOUR_YELLOW # === YELLOW
|
88
|
+
BOLD_BROWN = COLOUR_YELLOW # === BOLD_BROWN
|
89
|
+
|
90
|
+
# ========================================================================= #
|
91
|
+
# === COLOUR_LIGHT_MAGENTA
|
92
|
+
#
|
93
|
+
# This is not the "normal" magenta, but the light variant; also
|
94
|
+
# called light purple.
|
95
|
+
# ========================================================================= #
|
96
|
+
COLOUR_LIGHT_MAGENTA = "#{ESC}1;35m"
|
97
|
+
LIGHT_PURPLE = COLOUR_LIGHT_MAGENTA # === LIGHT_PURPLE
|
98
|
+
COLOUR_LIGHT_PURPLE = COLOUR_LIGHT_MAGENTA # === COLOUR_LIGHT_PURPLE
|
99
|
+
PINK = COLOUR_LIGHT_MAGENTA # === PINK
|
100
|
+
COLOUR_PINK = COLOUR_LIGHT_MAGENTA # === COLOUR_PINK
|
101
|
+
BRIGHT_PINK = COLOUR_LIGHT_MAGENTA # === BRIGHT_PINK
|
102
|
+
BRIGHT_MAGENTA = COLOUR_LIGHT_MAGENTA # === BRIGHT_MAGENTA
|
103
|
+
|
104
|
+
# ========================================================================= #
|
105
|
+
# === COLOUR_LIGHT_RED
|
106
|
+
# ========================================================================= #
|
107
|
+
COLOUR_LIGHT_RED = "#{ESC}1;31m"
|
108
|
+
LIGHT_RED = COLOUR_LIGHT_RED # === LIGHT_RED
|
109
|
+
BOLD_RED = COLOUR_LIGHT_RED # === BOLD_RED
|
110
|
+
COLOUR_BOLD_RED = COLOUR_LIGHT_RED # === COLOUR_BOLD_RED
|
111
|
+
BRIGHT_RED = COLOUR_LIGHT_RED # === BRIGHT_RED
|
112
|
+
BOLDRED = COLOUR_LIGHT_RED # === BOLDRED
|
113
|
+
REDB = COLOUR_LIGHT_RED # === REDB
|
114
|
+
BRED = COLOUR_LIGHT_RED # === BRED
|
115
|
+
|
116
|
+
# ========================================================================= #
|
117
|
+
# == COLOUR_RED (red tag)
|
118
|
+
# ========================================================================= #
|
119
|
+
COLOUR_RED = "#{ESC}0;31m" # This is thin, darkred.
|
120
|
+
RED = COLOUR_RED # === RED
|
121
|
+
CRED = COLOUR_RED # === CRED
|
122
|
+
|
123
|
+
# ========================================================================= #
|
124
|
+
# === COLOUR_GREEN
|
125
|
+
# ========================================================================= #
|
126
|
+
COLOUR_GREEN = "#{ESC}0;32m" # This is lightgreen.
|
127
|
+
GREEN = COLOUR_GREEN # === GREEN
|
128
|
+
CGREEN = COLOUR_GREEN # === CGREEN
|
129
|
+
DARKGREEN = COLOUR_GREEN # === DARKGREEN
|
130
|
+
|
131
|
+
# ========================================================================= #
|
132
|
+
# === COLOUR_BLUE
|
133
|
+
# ========================================================================= #
|
134
|
+
COLOUR_BLUE = "#{ESC}0;34m"
|
135
|
+
BLUE = COLOUR_BLUE # === BLUE
|
136
|
+
|
137
|
+
# ========================================================================= #
|
138
|
+
# === COLOUR_LIGHT_GREEN
|
139
|
+
# ========================================================================= #
|
140
|
+
COLOUR_LIGHT_GREEN = "#{ESC}1;32m"
|
141
|
+
BOLD_GREEN = COLOUR_LIGHT_GREEN # === BOLD_GREEN
|
142
|
+
COLOUR_BOLD_GREEN = COLOUR_LIGHT_GREEN # === COLOUR_BOLD_GREEN
|
143
|
+
BRIGHT_GREEN = COLOUR_LIGHT_GREEN # === BRIGHT_GREEN
|
144
|
+
LIGHTGREEN = COLOUR_LIGHT_GREEN # === LIGHTGREEN
|
145
|
+
BGREEN = COLOUR_LIGHT_GREEN # === BGREEN
|
146
|
+
|
147
|
+
# ========================================================================= #
|
148
|
+
# === COLOUR_MAGENTA
|
149
|
+
# ========================================================================= #
|
150
|
+
COLOUR_MAGENTA = "#{ESC}0;35m"
|
151
|
+
PURPLE = COLOUR_MAGENTA # === PURPLE
|
152
|
+
COLOUR_PURPLE = COLOUR_MAGENTA # === COLOUR_PURPLE
|
153
|
+
MAGENTA = COLOUR_MAGENTA # === MAGENTA
|
154
|
+
|
155
|
+
# ========================================================================= #
|
156
|
+
# === COLOUR_LIGHT_BLUE
|
157
|
+
# ========================================================================= #
|
158
|
+
COLOUR_LIGHT_BLUE = "#{ESC}1;34m"
|
159
|
+
BOLD_BLUE = COLOUR_LIGHT_BLUE # === BOLD_BLUE
|
160
|
+
COLOUR_BOLD_BLUE = COLOUR_LIGHT_BLUE # === COLOUR_BOLD_BLUE
|
161
|
+
BRIGHT_BLUE = COLOUR_LIGHT_BLUE # === BRIGHT_BLUE
|
162
|
+
LIGHT_BLUE = COLOUR_LIGHT_BLUE # === LIGHT_BLUE
|
163
|
+
LIGHTBLUE = COLOUR_LIGHT_BLUE # === LIGHTBLUE
|
164
|
+
BBLUE = COLOUR_LIGHT_BLUE # === BBLUE
|
165
|
+
BOLDBLUE = COLOUR_LIGHT_BLUE # === BOLDBLUE
|
166
|
+
|
167
|
+
# ========================================================================= #
|
168
|
+
# === COLOUR_BROWN
|
169
|
+
# ========================================================================= #
|
170
|
+
COLOUR_BROWN = "#{ESC}1;33m"
|
171
|
+
BOLD_YELLOW = COLOUR_BROWN # === BOLD_YELLOW
|
172
|
+
GOLD = COLOUR_BROWN # === GOLD
|
173
|
+
BRIGHT_BROWN = COLOUR_BROWN # === BRIGHT_BROWN
|
174
|
+
BRIGHT_YELLOW = COLOUR_BROWN # === BRIGHT_YELLOW
|
175
|
+
BOLDYELLOW = COLOUR_BROWN # === BOLDYELLOW
|
176
|
+
BYEL = COLOUR_BROWN # === BYEL
|
177
|
+
BYELLOW = COLOUR_BROWN # === BYELLOW
|
178
|
+
COLOUR_BOLD_YELLOW = COLOUR_BROWN # === COLOUR_BOLD_YELLOW
|
179
|
+
|
180
|
+
# ========================================================================= #
|
181
|
+
# === COLOUR_LIGHT_CYAN
|
182
|
+
# ========================================================================= #
|
183
|
+
COLOUR_LIGHT_CYAN = "#{ESC}1;36m"
|
184
|
+
BOLD_CYAN = COLOUR_LIGHT_CYAN # === BOLD_CYAN
|
185
|
+
COLOUR_BOLD_TEAL = COLOUR_LIGHT_CYAN # === COLOUR_BOLD_TEAL
|
186
|
+
BRIGHT_CYAN = COLOUR_LIGHT_CYAN # === BRIGHT_CYAN
|
187
|
+
BRIGHT_TEAL = COLOUR_LIGHT_CYAN # === BRIGHT_TEAL
|
188
|
+
CYANB = COLOUR_LIGHT_CYAN # === CYANB
|
189
|
+
BOLD_TEAL = COLOUR_LIGHT_CYAN # === BOLD_TEAL
|
190
|
+
|
191
|
+
# ========================================================================= #
|
192
|
+
# === COLOUR_CYAN
|
193
|
+
#
|
194
|
+
# This is also called TEAL, sort of.
|
195
|
+
# ========================================================================= #
|
196
|
+
COLOUR_CYAN = "#{ESC}0;36m"
|
197
|
+
TEAL = COLOUR_CYAN # === TEAL
|
198
|
+
CYAN = COLOUR_CYAN # === CYAN
|
199
|
+
COLOUR_TEAL = COLOUR_CYAN # === COLOUR_TEAL
|
200
|
+
|
201
|
+
# ========================================================================= #
|
202
|
+
# === COLOUR_BLACK
|
203
|
+
# ========================================================================= #
|
204
|
+
COLOUR_BLACK = "#{ESC}0;30m"
|
205
|
+
COLOUR_GRAY = COLOUR_BLACK # === COLOUR_GRAY
|
206
|
+
BLACK = COLOUR_BLACK # === BLACK
|
207
|
+
|
208
|
+
# ========================================================================= #
|
209
|
+
# === REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS
|
210
|
+
#
|
211
|
+
# This regex can be used to get rid of (some) AnsiEscape characters.
|
212
|
+
# ========================================================================= #
|
213
|
+
REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS =
|
214
|
+
/\033\[.*?m/
|
215
|
+
REMOVE_ANSI_ESCAPE_CHARACTERS = REGEX_REMOVE_ANSI_ESCAPE_CHARACTERS # === REMOVE_ANSI_ESCAPE_CHARACTERS
|
216
|
+
|
217
|
+
# ========================================================================= #
|
218
|
+
# === COLOUR_LIGHT_GRAY
|
219
|
+
# ========================================================================= #
|
220
|
+
COLOUR_LIGHT_GRAY = "#{ESC}0;37m"
|
221
|
+
WHITE = COLOUR_LIGHT_GRAY # === WHITE
|
222
|
+
COLOUR_LIGHT_GREY = COLOUR_LIGHT_GRAY # === COLOUR_LIGHT_GREY
|
223
|
+
|
224
|
+
# ========================================================================= #
|
225
|
+
# === COLOUR_WHITE
|
226
|
+
# ========================================================================= #
|
227
|
+
COLOUR_WHITE = "#{ESC}1;37m"
|
228
|
+
BOLD_WHITE = COLOUR_WHITE # === BOLD_WHITE
|
229
|
+
BRIGHT_WHITE = COLOUR_WHITE # === BRIGHT_WHITE
|
230
|
+
BWHITE = COLOUR_WHITE # === BWHITE
|
231
|
+
COLOUR_BOLD_WHITE = COLOUR_WHITE # === COLOUR_BOLD_WHITE
|
232
|
+
|
233
|
+
# ========================================================================= #
|
234
|
+
# === COLOUR_DARK_GRAY
|
235
|
+
#
|
236
|
+
# This is also called "black bold".
|
237
|
+
# ========================================================================= #
|
238
|
+
COLOUR_DARK_GRAY = "#{ESC}1;30m"
|
239
|
+
GREY = COLOUR_DARK_GRAY # === GREY
|
240
|
+
GRAY = COLOUR_DARK_GRAY # === GRAY
|
241
|
+
CGREY = COLOUR_DARK_GRAY # === CGREY
|
242
|
+
BRIGHT_BLACK = COLOUR_DARK_GRAY # === BRIGHT_BLACK
|
243
|
+
BOLD_BLACK = COLOUR_DARK_GRAY # === BOLD_BLACK
|
244
|
+
|
245
|
+
# ========================================================================= #
|
246
|
+
# === ARRAY_REGISTERED_ANSI_COLOURS
|
247
|
+
# ========================================================================= #
|
248
|
+
ARRAY_REGISTERED_ANSI_COLOURS = [
|
249
|
+
|
250
|
+
COLOUR_BLACK,
|
251
|
+
COLOUR_RED,
|
252
|
+
COLOUR_GREEN,
|
253
|
+
COLOUR_YELLOW,
|
254
|
+
COLOUR_BLUE,
|
255
|
+
COLOUR_MAGENTA,
|
256
|
+
COLOUR_TEAL,
|
257
|
+
COLOUR_LIGHT_GREY,
|
258
|
+
|
259
|
+
COLOUR_BOLD_RED,
|
260
|
+
COLOUR_BOLD_GREEN,
|
261
|
+
COLOUR_BOLD_YELLOW,
|
262
|
+
COLOUR_BOLD_BLUE,
|
263
|
+
COLOUR_PINK,
|
264
|
+
COLOUR_BOLD_TEAL,
|
265
|
+
COLOUR_BOLD_WHITE,
|
266
|
+
|
267
|
+
COLOUR_RESET
|
268
|
+
|
269
|
+
]
|
270
|
+
|
271
|
+
end
|
272
|
+
|
273
|
+
if __FILE__ == $PROGRAM_NAME
|
274
|
+
alias e puts
|
275
|
+
include Colours
|
276
|
+
e CYAN+'Hi there.'+RESET
|
277
|
+
e BWHITE+'Hi there.'+BBLUE+' Yo there.'+RESET
|
278
|
+
e WHITE+'Hi there.'+BBLUE+' Yo there.'+RESET
|
279
|
+
e BLACK_ON_WHITE_BACKGROUND+'Hello world!'+RESET
|
280
|
+
e BRIGHT_RED+'Hi there.'+BBLUE+' Yo there.'+RESET
|
281
|
+
e BRIGHT_BLUE+'Hi there.'+BWHITE+' Yo there.'+RESET
|
282
|
+
e
|
283
|
+
e 'And testing individual colours for the characters next:'
|
284
|
+
e
|
285
|
+
e BLACK+' A '+
|
286
|
+
RED+' B '+
|
287
|
+
GREEN+' C '+
|
288
|
+
BROWN+' D '+
|
289
|
+
BLUE+' E '+
|
290
|
+
MAGENTA+' F '+
|
291
|
+
TEAL+' G '+
|
292
|
+
WHITE+' H '+
|
293
|
+
RESET
|
294
|
+
e
|
295
|
+
e 'Same as above but with the bright colours instead:'
|
296
|
+
e
|
297
|
+
e BRIGHT_BLACK+' A '+BRIGHT_RED+' B '+BRIGHT_GREEN+' C '+
|
298
|
+
BRIGHT_BROWN+' D '+BRIGHT_BLUE+' E '+BRIGHT_MAGENTA+
|
299
|
+
' F '+BRIGHT_TEAL+' G '+BRIGHT_WHITE+' H '+RESET
|
300
|
+
e
|
301
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/constants/file_constants.rb'
|
6
|
+
# Colours.file_html_colours_to_rgb?
|
7
|
+
# =========================================================================== #
|
8
|
+
module Colours
|
9
|
+
|
10
|
+
require 'colours/project/project_base_directory.rb'
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === Colours::FILE_HTML_COLOURS
|
14
|
+
# ========================================================================= #
|
15
|
+
FILE_HTML_COLOURS =
|
16
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/html_colours.yml"
|
17
|
+
|
18
|
+
# ========================================================================= #
|
19
|
+
# === Colours::FILE_KDE_COLOUR_PALETTE
|
20
|
+
# ========================================================================= #
|
21
|
+
FILE_KDE_COLOUR_PALETTE =
|
22
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/kde_colour_palette.yml"
|
23
|
+
|
24
|
+
# ========================================================================= #
|
25
|
+
# === Colours::FILE_256_COLOURS
|
26
|
+
# ========================================================================= #
|
27
|
+
FILE_256_COLOURS =
|
28
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/256_colours.yml"
|
29
|
+
|
30
|
+
# ========================================================================= #
|
31
|
+
# === Colours::FILE_BASIC_COLOURS
|
32
|
+
# ========================================================================= #
|
33
|
+
FILE_BASIC_COLOURS =
|
34
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/basic_colours.yml"
|
35
|
+
|
36
|
+
# ========================================================================= #
|
37
|
+
# === Colours::FILE_USE_THESE_VALUES_FOR_THE_COLOUR_METHODS
|
38
|
+
# ========================================================================= #
|
39
|
+
FILE_USE_THESE_VALUES_FOR_THE_COLOUR_METHODS =
|
40
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/use_these_values_for_the_colour_methods.yml"
|
41
|
+
|
42
|
+
# ========================================================================= #
|
43
|
+
# === Colours::FILE_PREFER_THIS_COLOUR_SCHEMATA
|
44
|
+
# ========================================================================= #
|
45
|
+
FILE_PREFER_THIS_COLOUR_SCHEMATA =
|
46
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/prefer_this_colour_schemata.yml"
|
47
|
+
|
48
|
+
# ========================================================================= #
|
49
|
+
# === Colours.file_html_colours_to_rgb?
|
50
|
+
#
|
51
|
+
# Easier toplevel-getter method to determine where the file for
|
52
|
+
# the html-colours-to-rgb conversion resides.
|
53
|
+
# ========================================================================= #
|
54
|
+
def self.file_html_colours_to_rgb?
|
55
|
+
"#{PROJECT_BASE_DIRECTORY}yaml/html_colours.yml"
|
56
|
+
end
|
57
|
+
|
58
|
+
# ========================================================================= #
|
59
|
+
# === Colours.available_file_constants
|
60
|
+
# ========================================================================= #
|
61
|
+
def self.available_file_constants
|
62
|
+
[
|
63
|
+
FILE_HTML_COLOURS,
|
64
|
+
FILE_KDE_COLOUR_PALETTE
|
65
|
+
]
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
if __FILE__ == $PROGRAM_NAME
|
71
|
+
pp Colours.available_file_constants
|
72
|
+
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal = true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/constants/hash_simple_colours.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Colours
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === Colours::HASH_SIMPLE_COLOURS
|
11
|
+
#
|
12
|
+
# This hash will only store one name for the corresponding colour code.
|
13
|
+
# ========================================================================= #
|
14
|
+
HASH_SIMPLE_COLOURS = {
|
15
|
+
black: '0;30',
|
16
|
+
red: '0;31',
|
17
|
+
green: '0;32',
|
18
|
+
yellow: '0;33',
|
19
|
+
blue: '0;34',
|
20
|
+
magenta: '0;35',
|
21
|
+
cyan: '0;36',
|
22
|
+
light_gray: '0;37',
|
23
|
+
# ======================================================================= #
|
24
|
+
# Next, the secondary-colours:
|
25
|
+
# ======================================================================= #
|
26
|
+
dark_gray: '1;30',
|
27
|
+
light_red: '1;31',
|
28
|
+
light_green: '1;32',
|
29
|
+
brown: '1;33',
|
30
|
+
light_blue: '1;34',
|
31
|
+
light_magenta: '1;35',
|
32
|
+
light_cyan: '1;36',
|
33
|
+
white: '1;37'
|
34
|
+
}
|
35
|
+
|
36
|
+
# ========================================================================= #
|
37
|
+
# === Colours::MAIN_COLOURS
|
38
|
+
#
|
39
|
+
# The main colours come next.
|
40
|
+
#
|
41
|
+
# Eight main colours are currently defined, according to:
|
42
|
+
#
|
43
|
+
# http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
|
44
|
+
#
|
45
|
+
# The range is:
|
46
|
+
#
|
47
|
+
# Intensity: 0 1 2 3 4 5 6 7
|
48
|
+
# Normal: Black Red Green Yellow Blue Magenta Cyan White
|
49
|
+
#
|
50
|
+
# Yellow, in my opinion, looks more like brown.
|
51
|
+
# ========================================================================= #
|
52
|
+
MAIN_COLOURS = %i(
|
53
|
+
black red green yellow blue magenta teal white
|
54
|
+
) # ^^^ An Array of Symbols.
|
55
|
+
|
56
|
+
# ========================================================================= #
|
57
|
+
# === Colours.available_main_colours?
|
58
|
+
#
|
59
|
+
# Feedback which main colours are available.
|
60
|
+
# ========================================================================= #
|
61
|
+
def self.available_main_colours?
|
62
|
+
MAIN_COLOURS
|
63
|
+
end; self.instance_eval { alias available_basic_colours? available_main_colours? } # === Colours.available_basic_colours?
|
64
|
+
|
65
|
+
# ========================================================================= #
|
66
|
+
# === main_colours
|
67
|
+
#
|
68
|
+
# This will return an Array with the symbols such as
|
69
|
+
# :black, :red etc..
|
70
|
+
# ========================================================================= #
|
71
|
+
def main_colours
|
72
|
+
::Colours.available_main_colours?
|
73
|
+
end
|
74
|
+
|
75
|
+
# ========================================================================= #
|
76
|
+
# === Colours::SECONDARY_COLOURS
|
77
|
+
#
|
78
|
+
# The secondary Colours.
|
79
|
+
#
|
80
|
+
# Colours which are not part of the MAIN_COLOURS Array.
|
81
|
+
#
|
82
|
+
# The secondary colours are:
|
83
|
+
#
|
84
|
+
# Bright Black
|
85
|
+
# Bright Red
|
86
|
+
# Bright Green
|
87
|
+
# Bright Yellow
|
88
|
+
# Bright Blue
|
89
|
+
# Bright Magenta
|
90
|
+
# Bright Cyan
|
91
|
+
# Bright White
|
92
|
+
#
|
93
|
+
# ========================================================================= #
|
94
|
+
SECONDARY_COLOURS = [
|
95
|
+
:bright_black,
|
96
|
+
:bright_red,
|
97
|
+
:bright_green,
|
98
|
+
:bright_yellow,
|
99
|
+
:bright_blue,
|
100
|
+
:bright_magenta,
|
101
|
+
:bright_cyan,
|
102
|
+
:bright_white
|
103
|
+
]
|
104
|
+
|
105
|
+
# ========================================================================= #
|
106
|
+
# === ALL_COLOURS
|
107
|
+
#
|
108
|
+
# Simply combine the two Arrays, MAIN_COLOURS and SECONDARY_COLOURS,
|
109
|
+
# into one aggregate Array.
|
110
|
+
# ========================================================================= #
|
111
|
+
ALL_COLOURS = MAIN_COLOURS +
|
112
|
+
SECONDARY_COLOURS
|
113
|
+
|
114
|
+
# ========================================================================= #
|
115
|
+
# === Colours.really_all_colours
|
116
|
+
#
|
117
|
+
# This method will return an Array that may look like this:
|
118
|
+
#
|
119
|
+
# [:black, :red, :green, :yellow, :blue, :magenta, :teal,
|
120
|
+
# :white, :bright_black, :bright_red, :bright_green,
|
121
|
+
# :bright_yellow, :bright_blue, :bright_magenta,
|
122
|
+
# :bright_cyan, :bright_white]
|
123
|
+
#
|
124
|
+
# ========================================================================= #
|
125
|
+
def self.really_all_colours
|
126
|
+
ALL_COLOURS # This is the conjoint Array.
|
127
|
+
end; self.instance_eval { alias all_available_colours really_all_colours } # === Colours.all_available_colours
|
128
|
+
|
129
|
+
# ========================================================================= #
|
130
|
+
# === Colours.is_a_valid_colour?
|
131
|
+
#
|
132
|
+
# This method allows you to check if a given input-string is a
|
133
|
+
# valid colour.
|
134
|
+
#
|
135
|
+
# A "valid" colour is one that the colours project supports.
|
136
|
+
#
|
137
|
+
# For example, the string "lightblue" is a valid colour.
|
138
|
+
#
|
139
|
+
# Usage example:
|
140
|
+
# Colours.is_a_valid_colour? 'lightblue'
|
141
|
+
# ========================================================================= #
|
142
|
+
def self.is_a_valid_colour?(i)
|
143
|
+
ALL_COLOURS.include? i.to_sym
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal = true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/constants/misc.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Colours
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === HOME_DIRECTORY_OF_USER_X
|
11
|
+
# ========================================================================= #
|
12
|
+
HOME_DIRECTORY_OF_USER_X = '/home/x/'
|
13
|
+
|
14
|
+
# ========================================================================= #
|
15
|
+
# === Colours::DEFAULT_TEXT
|
16
|
+
# ========================================================================= #
|
17
|
+
DEFAULT_TEXT = 'Hello World!'
|
18
|
+
|
19
|
+
# ========================================================================= #
|
20
|
+
# === Colours::IS_A_TEST
|
21
|
+
# ========================================================================= #
|
22
|
+
IS_A_TEST = ' This is just a simple colour test.'
|
23
|
+
|
24
|
+
# ========================================================================= #
|
25
|
+
# === Colours::TEST_FILE
|
26
|
+
# ========================================================================= #
|
27
|
+
TEST_FILE =
|
28
|
+
"#{HOME_DIRECTORY_OF_USER_X}DATA/PROGRAMMING_LANGUAGES/RUBY/src/colours/test/testing_konsole_submodule.rb"
|
29
|
+
|
30
|
+
# ========================================================================= #
|
31
|
+
# === LEFT
|
32
|
+
#
|
33
|
+
# Leading on the left side, for RGB value setting. This is the beginning
|
34
|
+
# of a special instruction. Note that "\e[38" should be equal to "\x1b",
|
35
|
+
# but IRB reports that this is not the case so.
|
36
|
+
#
|
37
|
+
# Examples on the www show usage such as this:
|
38
|
+
#
|
39
|
+
# printf "\x1b[${bg};2;${red};${green};${blue}m\n"
|
40
|
+
# printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"
|
41
|
+
#
|
42
|
+
# ========================================================================= #
|
43
|
+
LEFT = "\e[38;2;".dup
|
44
|
+
|
45
|
+
# ========================================================================= #
|
46
|
+
# === Colours.left?
|
47
|
+
# ========================================================================= #
|
48
|
+
def self.left?
|
49
|
+
LEFT
|
50
|
+
end
|
51
|
+
|
52
|
+
# ========================================================================= #
|
53
|
+
# === left?
|
54
|
+
# ========================================================================= #
|
55
|
+
def left?
|
56
|
+
Colours.left?
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/constants/newline.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Colours
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === N
|
11
|
+
# ========================================================================= #
|
12
|
+
N = "\n"
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'colours/constants/registered_colour_methods.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Colours
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === Colours::REGISTERED_COLOUR_METHODS
|
11
|
+
#
|
12
|
+
# These methods constitute the registered colour methods.
|
13
|
+
#
|
14
|
+
# These have a corresponding method, such as snormal() or sdir() or
|
15
|
+
# sfile().
|
16
|
+
#
|
17
|
+
# snormal() stands for the "normal" colour, aka the "default
|
18
|
+
# colour".
|
19
|
+
# ========================================================================= #
|
20
|
+
REGISTERED_COLOUR_METHODS = %i(
|
21
|
+
snormal
|
22
|
+
sargument
|
23
|
+
scomments
|
24
|
+
ssymlink
|
25
|
+
sdir
|
26
|
+
sfile
|
27
|
+
sfancy
|
28
|
+
simportant
|
29
|
+
swarn
|
30
|
+
)
|
31
|
+
|
32
|
+
# ========================================================================= #
|
33
|
+
# === REGISTERED_COLOUR_METHODS_ALIASES
|
34
|
+
#
|
35
|
+
# This Array should hold all aliases to the main colour-methods,
|
36
|
+
# such as simportant() or sargument().
|
37
|
+
# ========================================================================= #
|
38
|
+
REGISTERED_COLOUR_METHODS_ALIASES = %i(
|
39
|
+
argument
|
40
|
+
ssym
|
41
|
+
simp
|
42
|
+
sarg
|
43
|
+
normal
|
44
|
+
comments
|
45
|
+
symlink
|
46
|
+
dir
|
47
|
+
file
|
48
|
+
fancy
|
49
|
+
important
|
50
|
+
warn
|
51
|
+
)
|
52
|
+
|
53
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
The directory here exists for the submodule called E.
|
2
|
+
|
3
|
+
The reason for this strange name is that I used to do
|
4
|
+
this a lot in ruby:
|
5
|
+
|
6
|
+
alias e puts
|
7
|
+
|
8
|
+
So in other words, I would be using "e" rather than
|
9
|
+
puts, in order to do output.
|
10
|
+
|
11
|
+
I also used to have this in another project called AliasE,
|
12
|
+
but eventually I decided that I should put this right
|
13
|
+
into the Colours project.
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# This .rb file will just autoinclude Colours::E into the main namespace.
|
6
|
+
# =========================================================================== #
|
7
|
+
# require 'colours/e/autoinclude.rb'
|
8
|
+
# =========================================================================== #
|
9
|
+
require 'colours/e/e.rb'
|
10
|
+
|
11
|
+
include Colours::E
|