color_echo 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +42 -33
- data/lib/color_echo.rb +142 -95
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 922b6df5b99b54e8fc52dd2716fa5acb778b2704
|
4
|
+
data.tar.gz: 8c39228ed3879d2091f0bf2925374bcae33ae83f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62f7a9e07a0ce3773ec8d2f98c5413aba5af2546521ef5738fce07a7e2e2a0ac017085b794dfd62193f3c17580fa31cabde99a2abd6f6866a618c859c16cf78e
|
7
|
+
data.tar.gz: fa98969050f46c0acba35c77daa25cc7a4ebe638f058c386696c193651a871712d85b4b71d02ff52fb041fec4308dd26e699d1135cb14b189880058c34b392ae
|
data/README.md
CHANGED
@@ -21,8 +21,10 @@ Or install it yourself as:
|
|
21
21
|
## Usage
|
22
22
|
|
23
23
|
### module functions
|
24
|
-
#### CE
|
24
|
+
#### CE.ch_fg :symbol
|
25
25
|
Change the foreground color to the your specified color.
|
26
|
+
Alias is, CE.fg
|
27
|
+
This method alias is available in version 0.2.0 on and after.
|
26
28
|
|
27
29
|
* symbol list:
|
28
30
|
* black
|
@@ -34,11 +36,13 @@ Change the foreground color to the your specified color.
|
|
34
36
|
* cyan
|
35
37
|
* white
|
36
38
|
|
37
|
-
ex.) CE
|
39
|
+
ex.) CE.ch_fg :red #=> foreground color will be changed red
|
38
40
|
|
39
|
-
|
40
|
-
#### CE::ch_bg :symbol
|
41
|
+
#### CE.ch_bg :symbol
|
41
42
|
Change the background color to the your specified color.
|
43
|
+
Alias is, CE.bg
|
44
|
+
This method alias is available in version 0.2.0 on and after.
|
45
|
+
|
42
46
|
|
43
47
|
* symbol list:
|
44
48
|
* black
|
@@ -50,9 +54,9 @@ Change the background color to the your specified color.
|
|
50
54
|
* cyan
|
51
55
|
* white
|
52
56
|
|
53
|
-
ex.) CE
|
57
|
+
ex.) CE.ch_bg :white #=> background color will be changed white
|
54
58
|
|
55
|
-
#### CE
|
59
|
+
#### CE.ch_tx :symbol
|
56
60
|
Change the text attribute to the your specified decoration.
|
57
61
|
|
58
62
|
* symbol list:
|
@@ -62,22 +66,29 @@ Change the text attribute to the your specified decoration.
|
|
62
66
|
* reverse_video
|
63
67
|
* concealed
|
64
68
|
|
65
|
-
ex.) CE
|
69
|
+
ex.) CE.ch_tx :blink #=> text blink on
|
70
|
+
Alias is, CE.tx
|
71
|
+
This method alias is available in version 0.2.0 on and after.
|
72
|
+
|
66
73
|
|
67
|
-
#### CE
|
74
|
+
#### CE.ch :foreground [,:background [,:text_attribute]]
|
68
75
|
Change collectively.
|
69
76
|
This method is available in version 0.1.0 on and after.
|
70
|
-
ex.) CE
|
77
|
+
ex.) CE.ch :white, :green
|
71
78
|
|
72
|
-
#### CE
|
79
|
+
#### CE.disable
|
73
80
|
Reset to set the color sequence.
|
74
81
|
Alias is, CE::off, CE::reset
|
75
82
|
This method alias is available in version 0.1.0 on and after.
|
76
83
|
|
77
|
-
#### CE
|
84
|
+
#### CE.unuse
|
78
85
|
Force ignore the function of this library.
|
79
86
|
This method is available in version 0.1.0 on and after.
|
80
87
|
|
88
|
+
#### CE.rainbow
|
89
|
+
Enjoy rainbow.
|
90
|
+
This method is available in version 0.2.0 on and after.
|
91
|
+
|
81
92
|
### Example
|
82
93
|
<pre>
|
83
94
|
#
|
@@ -88,46 +99,44 @@ require "color_echo"
|
|
88
99
|
# force ignore the function of this library
|
89
100
|
#CE::unuse
|
90
101
|
|
91
|
-
|
92
|
-
CE::ch_fg :yellow
|
93
|
-
|
102
|
+
CE.ch :yellow
|
94
103
|
puts "fooooooooo"
|
95
104
|
puts "baaaaaaaar"
|
96
105
|
|
97
|
-
|
98
|
-
CE::ch_fg :white
|
99
|
-
# change the foreground color to 'red'
|
100
|
-
CE::ch_bg :red
|
101
|
-
|
106
|
+
CE.ch :white, :red
|
102
107
|
print "testtesttest"
|
103
108
|
|
104
|
-
|
105
|
-
|
106
|
-
# change the foreground color to 'cyan'
|
107
|
-
CE::ch_bg :cyan
|
108
|
-
# change the text attribute 'underscore'
|
109
|
-
CE::ch_tx :underscore
|
110
|
-
|
111
|
-
ary = ["aaa", "bbb", "ccc"]
|
109
|
+
CE.ch :black, :cyan, :underscore
|
110
|
+
ary = ["Duis", "aute", "irure", "dolor", "in", "reprehenderit", "in", "voluptate"]
|
112
111
|
p ary
|
113
112
|
print ary
|
114
113
|
|
115
|
-
CE
|
116
|
-
|
114
|
+
CE.off
|
115
|
+
|
116
|
+
CE.fg :white
|
117
117
|
p "aaaaa", "bbbbb", "ccccc", "ddddd", "eeeee"
|
118
118
|
|
119
|
-
|
120
|
-
|
119
|
+
CE.bg :magenta
|
120
|
+
print ary
|
121
121
|
|
122
|
+
CE.reset
|
122
123
|
puts "hogehoge"
|
123
124
|
|
124
|
-
|
125
|
-
|
125
|
+
CE.tx :underscore
|
126
|
+
puts "hogehoge"
|
126
127
|
|
128
|
+
CE.ch :black, :white, :blink
|
127
129
|
puts <<EOM
|
128
130
|
Lorem ipsum dolor sit amet,
|
129
131
|
consectetur adipisicing elit,
|
130
132
|
sed do eiusmod tempor incididunt
|
131
133
|
ut labore et dolore magna aliqua.
|
132
134
|
EOM
|
135
|
+
|
136
|
+
CE.rainbow
|
137
|
+
puts "String will be rainbow! You can specify the argument only one."
|
138
|
+
puts ["rainbow", "is", "String", "only"]
|
139
|
+
puts "this is rainbow.", "This argument is ignored when rainbow mode."
|
140
|
+
CE.off
|
141
|
+
puts "Disable rainbow mode."
|
133
142
|
</pre>
|
data/lib/color_echo.rb
CHANGED
@@ -1,17 +1,58 @@
|
|
1
|
-
#
|
1
|
+
# color_echo
|
2
|
+
#
|
3
|
+
# To add color to the command line output.
|
4
|
+
# This Library will extend the Kernel module's functions(#print, #puts, #p).
|
2
5
|
# @autor: Kazuya Hotta (nyanko)
|
3
6
|
#
|
4
7
|
require "stringio"
|
5
8
|
|
6
9
|
module CE
|
7
|
-
VERSION = "0.
|
10
|
+
VERSION = "0.2.0"
|
8
11
|
CODE_RESET = "\e[0m"
|
9
12
|
|
10
|
-
@@
|
11
|
-
@@
|
13
|
+
@@enable = true
|
14
|
+
@@isset = false
|
12
15
|
@@code_bg_color = ""
|
13
16
|
@@code_fg_color = ""
|
14
17
|
@@code_text_attr = ""
|
18
|
+
@@rainbow = false
|
19
|
+
|
20
|
+
@@print = method :print
|
21
|
+
@@p = method :p
|
22
|
+
@@puts = method :puts
|
23
|
+
|
24
|
+
@@task = lambda do |*arg|
|
25
|
+
if available?
|
26
|
+
if @@rainbow && arg.first.instance_of?(String)
|
27
|
+
arg = add_rainbow(arg.first)
|
28
|
+
|
29
|
+
# call original method
|
30
|
+
eval("@@#{caller_locations(2).first.label}").call(arg)
|
31
|
+
|
32
|
+
else
|
33
|
+
# change output destination to StringIO Object
|
34
|
+
strio = StringIO.new
|
35
|
+
$stdout = strio
|
36
|
+
|
37
|
+
# output color sequence
|
38
|
+
$stdout.print get_start_code
|
39
|
+
|
40
|
+
# call original method
|
41
|
+
eval("@@#{caller_locations(2).first.label}").call(arg)
|
42
|
+
|
43
|
+
# change output destination to STDOUT
|
44
|
+
$stdout = STDOUT
|
45
|
+
|
46
|
+
# output to STDOUT
|
47
|
+
$stdout.print add_reset_line_feed(strio.string)
|
48
|
+
end
|
49
|
+
|
50
|
+
# no available "color echo"
|
51
|
+
else
|
52
|
+
# call original method
|
53
|
+
eval("@@#{caller_locations(2).first.label}").call(arg)
|
54
|
+
end
|
55
|
+
end
|
15
56
|
|
16
57
|
module ForeGround
|
17
58
|
BLACK = 30
|
@@ -44,46 +85,50 @@ module CE
|
|
44
85
|
CONCEALED = 8
|
45
86
|
end
|
46
87
|
|
47
|
-
|
48
|
-
def
|
49
|
-
return @@enable && @@
|
88
|
+
public
|
89
|
+
def available?
|
90
|
+
return @@enable && @@isset
|
50
91
|
end
|
51
92
|
|
52
|
-
def
|
53
|
-
@@
|
54
|
-
@@code_bg_color = ""
|
55
|
-
@@code_fg_color = ""
|
56
|
-
@@code_text_attr = ""
|
93
|
+
def isset?
|
94
|
+
return @@isset
|
57
95
|
end
|
58
96
|
|
59
|
-
def
|
60
|
-
|
97
|
+
def enable?
|
98
|
+
return @@enable
|
61
99
|
end
|
62
100
|
|
63
|
-
def
|
64
|
-
|
101
|
+
def unuse
|
102
|
+
@@enable = false
|
65
103
|
end
|
66
104
|
|
67
|
-
def
|
68
|
-
@@
|
105
|
+
def reset
|
106
|
+
@@isset = false
|
107
|
+
@@rainbow = false
|
108
|
+
@@code_bg_color = ""
|
109
|
+
@@code_fg_color = ""
|
110
|
+
@@code_text_attr = ""
|
69
111
|
end
|
70
112
|
|
71
113
|
def ch_fg(name)
|
72
114
|
return nil if !name.instance_of?(Symbol)
|
73
|
-
@@
|
74
|
-
@@
|
115
|
+
@@isset = true if !@@isset
|
116
|
+
@@rainbow = false if @@rainbow
|
117
|
+
@@code_fg_color = convert_to_code("ForeGround", name)
|
75
118
|
end
|
76
119
|
|
77
120
|
def ch_bg(name)
|
78
121
|
return nil if !name.instance_of?(Symbol)
|
79
|
-
@@
|
80
|
-
@@
|
122
|
+
@@isset = true if !@@isset
|
123
|
+
@@rainbow = false if @@rainbow
|
124
|
+
@@code_bg_color = convert_to_code("BackGround", name)
|
81
125
|
end
|
82
126
|
|
83
127
|
def ch_tx(name)
|
84
128
|
return nil if !name.instance_of?(Symbol)
|
85
|
-
@@
|
86
|
-
@@
|
129
|
+
@@isset = true if !@@isset
|
130
|
+
@@rainbow = false if @@rainbow
|
131
|
+
@@code_text_attr = convert_to_code("TextAttr", name)
|
87
132
|
end
|
88
133
|
|
89
134
|
def ch(fg, bg=nil, tx=nil)
|
@@ -92,7 +137,7 @@ module CE
|
|
92
137
|
ch_tx(tx)
|
93
138
|
end
|
94
139
|
|
95
|
-
def
|
140
|
+
def get_start_code
|
96
141
|
return @@code_fg_color + @@code_bg_color + @@code_text_attr
|
97
142
|
end
|
98
143
|
|
@@ -100,7 +145,47 @@ module CE
|
|
100
145
|
return self::CODE_RESET
|
101
146
|
end
|
102
147
|
|
103
|
-
|
148
|
+
# add reset & start code to line feed code
|
149
|
+
def add_reset_line_feed(input)
|
150
|
+
input.gsub!(/#{$/}/, CE::get_reset_code + $/ + CE::get_start_code)
|
151
|
+
input += CE::get_reset_code
|
152
|
+
return input
|
153
|
+
end
|
154
|
+
|
155
|
+
def rainbow
|
156
|
+
@@isset = true if !@@isset
|
157
|
+
@@rainbow = true
|
158
|
+
end
|
159
|
+
|
160
|
+
def add_rainbow(text)
|
161
|
+
cnt = 0
|
162
|
+
output = ""
|
163
|
+
text.each_char do |char|
|
164
|
+
output += $/ if char == $/
|
165
|
+
|
166
|
+
case cnt
|
167
|
+
when 0
|
168
|
+
output += "\e[31m" + char + "\e[0m"
|
169
|
+
when 1
|
170
|
+
output += "\e[32m" + char + "\e[0m"
|
171
|
+
when 2
|
172
|
+
output += "\e[33m" + char + "\e[0m"
|
173
|
+
when 3
|
174
|
+
output += "\e[34m" + char + "\e[0m"
|
175
|
+
when 4
|
176
|
+
output += "\e[35m" + char + "\e[0m"
|
177
|
+
when 5
|
178
|
+
output += "\e[36m" + char + "\e[0m"
|
179
|
+
when 6
|
180
|
+
output += "\e[37m" + char + "\e[0m"
|
181
|
+
end
|
182
|
+
cnt += 1
|
183
|
+
cnt = 0 if cnt >= 7
|
184
|
+
end
|
185
|
+
return output
|
186
|
+
end
|
187
|
+
|
188
|
+
def convert_to_code(module_name, name)
|
104
189
|
begin
|
105
190
|
code = eval(%{#{module_name}::#{name.to_s.swapcase!}})
|
106
191
|
rescue NameError
|
@@ -108,82 +193,44 @@ module CE
|
|
108
193
|
end
|
109
194
|
return "\e[#{code}m"
|
110
195
|
end
|
196
|
+
|
197
|
+
def task
|
198
|
+
return @@task
|
199
|
+
end
|
200
|
+
|
201
|
+
alias_method :off, :reset
|
202
|
+
alias_method :disable, :reset
|
203
|
+
alias_method :fg, :ch_fg
|
204
|
+
alias_method :bg, :ch_bg
|
205
|
+
alias_method :tx, :ch_tx
|
206
|
+
|
207
|
+
module_function :available?,
|
208
|
+
:isset?,
|
209
|
+
:enable?,
|
210
|
+
:unuse,
|
211
|
+
:reset, :off, :disable,
|
212
|
+
:ch_fg, :fg,
|
213
|
+
:ch_bg, :bg,
|
214
|
+
:ch_tx, :tx,
|
215
|
+
:ch,
|
216
|
+
:get_start_code,
|
217
|
+
:get_reset_code,
|
218
|
+
:add_reset_line_feed,
|
219
|
+
:add_rainbow,
|
220
|
+
:rainbow,
|
221
|
+
:convert_to_code,
|
222
|
+
:task
|
111
223
|
end
|
112
224
|
|
225
|
+
# override Kernel methods
|
113
226
|
def print(*arg)
|
114
|
-
|
115
|
-
# change output destination to StringIO Object
|
116
|
-
strio = StringIO.new
|
117
|
-
$stdout = strio
|
118
|
-
|
119
|
-
# output color sequence
|
120
|
-
$stdout.print(CE::get_color_code)
|
121
|
-
|
122
|
-
super
|
123
|
-
|
124
|
-
# change output destination to STDOUT
|
125
|
-
$stdout = STDOUT
|
126
|
-
|
127
|
-
# add reset & start code to line feed code
|
128
|
-
output = strio.string
|
129
|
-
output.gsub!(/#{$/}/, CE::get_reset_code + $/ + CE::get_color_code)
|
130
|
-
output += CE::get_reset_code
|
131
|
-
|
132
|
-
# output to STDOUT
|
133
|
-
$stdout.print(output)
|
134
|
-
else
|
135
|
-
super
|
136
|
-
end
|
227
|
+
CE.task.call(*arg)
|
137
228
|
end
|
138
229
|
|
139
230
|
def p(*arg)
|
140
|
-
|
141
|
-
# change output destination to StringIO Object
|
142
|
-
strio = StringIO.new
|
143
|
-
$stdout = strio
|
144
|
-
|
145
|
-
# output color sequence
|
146
|
-
$stdout.print(CE::get_color_code)
|
147
|
-
|
148
|
-
super
|
149
|
-
|
150
|
-
# change output destination to STDOUT
|
151
|
-
$stdout = STDOUT
|
152
|
-
|
153
|
-
# add reset & start code to line feed code
|
154
|
-
output = strio.string
|
155
|
-
output.gsub!(/#{$/}/, CE::get_reset_code + $/ + CE::get_color_code)
|
156
|
-
output += CE::get_reset_code
|
157
|
-
|
158
|
-
# output to STDOUT
|
159
|
-
$stdout.print(output)
|
160
|
-
else
|
161
|
-
super
|
162
|
-
end
|
231
|
+
CE.task.call(*arg)
|
163
232
|
end
|
164
233
|
|
165
234
|
def puts(*arg)
|
166
|
-
|
167
|
-
# change output destination to StringIO Object
|
168
|
-
strio = StringIO.new
|
169
|
-
$stdout = strio
|
170
|
-
|
171
|
-
# output color sequence
|
172
|
-
$stdout.print(CE::get_color_code)
|
173
|
-
|
174
|
-
super
|
175
|
-
|
176
|
-
# change output destination to STDOUT
|
177
|
-
$stdout = STDOUT
|
178
|
-
|
179
|
-
# add reset & start code to line feed code
|
180
|
-
output = strio.string
|
181
|
-
output.gsub!(/#{$/}/, CE::get_reset_code + $/ + CE::get_color_code)
|
182
|
-
output += CE::get_reset_code
|
183
|
-
|
184
|
-
# output to STDOUT
|
185
|
-
$stdout.print(output)
|
186
|
-
else
|
187
|
-
super
|
188
|
-
end
|
235
|
+
CE.task.call(*arg)
|
189
236
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: color_echo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nyanko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description: 'This Library will extend the
|
14
|
-
#p). required StringIO.'
|
13
|
+
description: 'To add color to the command line output.This Library will extend the
|
14
|
+
Kernel module''s functions(#print, #puts, #p). required StringIO.'
|
15
15
|
email:
|
16
16
|
- nyanko@dammy
|
17
17
|
executables: []
|