color_echo 0.9.0 → 1.0.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 +23 -33
- data/bin/color_echo +191 -31
- data/lib/color_echo.rb +1 -1
- data/lib/color_echo/const.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b057ff2dcd468a18b71e8997da18992987c6749c
|
4
|
+
data.tar.gz: 02fe38f9973436d2793057c603b7bd4421b37e41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8da10993a717801bb3d13e1579cb13f7471a30ef1ec0457a9491a8d277647a2f5ed72862aa4f6f1b3f048dca3c66ddf2ae14b8e3d72ed4d23db208e94789a7e
|
7
|
+
data.tar.gz: 9dab57abc01d2bc31a4fa97ce28e4abf51b05a4cdf249631bd9f6326d56eff0dec3e3346302bf6c46f7060b217806648089c8e47d9e16a0e22275a10c1e857b9
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# color_echo
|
2
2
|
Decorate the command line output with ANSI escape sequence.
|
3
|
-
|
3
|
+
Text that is output by "print, puts, p" method is decorated.
|
4
4
|
It is also can to decorate only your specified words!
|
5
5
|
|
6
|
-
Version: 0.
|
6
|
+
Version: 1.0.0
|
7
7
|
Compliant Rubys Version: 2.0.0, 2.1.0 (for Linux)
|
8
8
|
License: MIT
|
9
9
|
Gems repository: http://rubygems.org/gems/color_echo
|
@@ -61,23 +61,10 @@ puts "output is -> " + output
|
|
61
61
|

|
62
62
|
|
63
63
|
|
64
|
-
##
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
* Options
|
70
|
-
-v:
|
71
|
-
Display version of color_echo.
|
72
|
-
|
73
|
-
--symbol_list, -s
|
74
|
-
Display symbol list that can to specify.
|
75
|
-
|
76
|
-
--index_list, -l
|
77
|
-
Display color index list that can to specify.
|
78
|
-
|
79
|
-
If your server using the rbenv, You have to do `rbenv rehash`.
|
80
|
-
</pre>
|
64
|
+
## Command Line Interface
|
65
|
+
You can use color_echo on command line!
|
66
|
+

|
67
|
+

|
81
68
|
|
82
69
|
|
83
70
|
## module functions
|
@@ -321,37 +308,40 @@ puts "Disable rainbow mode."
|
|
321
308
|

|
322
309
|
|
323
310
|
## Release Note
|
311
|
+
* v1.0.0,
|
312
|
+
* Add command line interface.
|
313
|
+
|
324
314
|
* v0.9.0, 2014-01-19
|
325
|
-
*
|
315
|
+
* Add a mode to receive as the words with ANSI escape sequence; without output to display.
|
326
316
|
|
327
317
|
* v0.8.0, 2014-01-14
|
328
|
-
*
|
329
|
-
*
|
318
|
+
* Change for the specified arguments of reset method.
|
319
|
+
* Fix small bugs.
|
330
320
|
|
331
321
|
* v0.7.0, 2014-01-08
|
332
|
-
*
|
333
|
-
*
|
322
|
+
* Add new method -> pickup
|
323
|
+
* Add new symbol that can to specify in reset method of first parameter -> CE.reset(:pickup)
|
334
324
|
|
335
325
|
* v0.6.0, 2014-01-05
|
336
|
-
*
|
326
|
+
* Add command line tool.
|
337
327
|
|
338
328
|
* v0.5.0, 2014-12-16
|
339
|
-
*
|
329
|
+
* Add a new method -> \#once, \#times
|
340
330
|
|
341
331
|
* v0.4.0, 2014-12-11
|
342
|
-
*
|
332
|
+
* Add 256 colors.
|
343
333
|
|
344
334
|
* v0.3.0, 2014-12-08
|
345
|
-
*
|
346
|
-
*
|
347
|
-
*
|
335
|
+
* Add high colors.
|
336
|
+
* Can to select multi value in ch_tx method.
|
337
|
+
* Add parameter to the #reset method.
|
348
338
|
|
349
339
|
* v0.2.4, 2014-12-04
|
350
|
-
* Can
|
351
|
-
* Cab
|
340
|
+
* Can to specify a non-string when rainbow mode.
|
341
|
+
* Cab take over the setting of other types of sequence when rainbow mode.
|
352
342
|
|
353
343
|
* v0.2.3, 2014-12-02
|
354
|
-
*
|
344
|
+
* Fix small bugs.
|
355
345
|
|
356
346
|
* v0.2.0
|
357
347
|
* Added new method -> rainbow
|
data/bin/color_echo
CHANGED
@@ -1,10 +1,28 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
def require_color_echo
|
4
|
+
require "color_echo"
|
5
|
+
#require_relative "../lib/color_echo"
|
6
|
+
end
|
7
|
+
|
8
|
+
def require_color_echo_get
|
9
|
+
require "color_echo/get"
|
10
|
+
#require_relative "../lib/color_echo/get"
|
11
|
+
end
|
12
|
+
|
13
|
+
def version
|
14
|
+
require_color_echo
|
15
|
+
|
16
|
+
puts CE::VERSION
|
17
|
+
exit 0
|
18
|
+
end
|
4
19
|
|
5
20
|
def usage
|
21
|
+
require_color_echo
|
22
|
+
|
6
23
|
CE.once.ch :yellow
|
7
24
|
puts <<-EOS
|
25
|
+
|
8
26
|
#{CE::LIBS_NAME} - #{CE::SUMMARY}
|
9
27
|
VERSION: #{CE::VERSION}
|
10
28
|
README: #{CE::DOCS_PAGE}
|
@@ -12,31 +30,97 @@ def usage
|
|
12
30
|
EOS
|
13
31
|
|
14
32
|
padding = " " * 4
|
15
|
-
headers = ["* Usage", "* Options"]
|
16
|
-
headers_op = [
|
17
|
-
|
18
|
-
|
33
|
+
headers = ["* Usage", "* Options", "* Example"]
|
34
|
+
headers_op = [
|
35
|
+
"-v:", "--symbol_list:", "--index_list:", "--pickup word [--pickup word ...]:", "--fg color_name:", "--bg color_name:",
|
36
|
+
"--tx text_attribute[,...]:", "--watch:", "-n:", "-h:"
|
37
|
+
]
|
38
|
+
CE.pickup(headers, :h_green)
|
39
|
+
CE.pickup(headers_op, :cyan)
|
19
40
|
|
20
41
|
puts padding + "* Usage"
|
21
42
|
|
22
|
-
CE.
|
23
|
-
puts padding * 2 + "color_echo [
|
43
|
+
CE.ch :h_blue
|
44
|
+
puts padding * 2 + "color_echo [options] text"
|
45
|
+
puts padding * 2 + "color_echo [options] < /path/to/file"
|
46
|
+
puts padding * 2 + "echo text | color_echo [options]"
|
47
|
+
puts padding * 2 + "color_echo -v"
|
48
|
+
puts padding * 2 + "color_echo -s"
|
49
|
+
puts padding * 2 + "color_echo -l"
|
50
|
+
puts padding * 2 + "color_echo -h" + $/ + $/
|
51
|
+
CE.off :fg
|
24
52
|
|
25
53
|
puts padding + "* Options"
|
26
54
|
|
27
|
-
puts padding + "-v:"
|
28
|
-
puts padding *
|
55
|
+
puts padding * 2 + "-v:"
|
56
|
+
puts padding * 3 + "Display version of color_echo." + $/ + $/
|
29
57
|
|
30
|
-
puts padding + "--symbol_list
|
31
|
-
puts padding *
|
58
|
+
puts padding * 2 + "--symbol_list:"
|
59
|
+
puts padding * 3 + "Display symbol list that can to specify."
|
60
|
+
puts padding * 3 + "short option is -s." + $/ + $/
|
32
61
|
|
33
|
-
puts padding + "--index_list
|
34
|
-
puts padding *
|
62
|
+
puts padding * 2 + "--index_list:"
|
63
|
+
puts padding * 3 + "Display color index list that can to specify."
|
64
|
+
puts padding * 3 + "short option is -l." + $/ + $/
|
65
|
+
|
66
|
+
puts padding * 2 + "--pickup word [--pickup word ...]:"
|
67
|
+
puts padding * 3 + "Decorate your specified wrods. You can use this option any number of times."
|
68
|
+
puts padding * 3 + "Regular expressions can be used; like that -> /^foo/i"
|
69
|
+
puts padding * 3 + "short option is -p." + $/ + $/
|
70
|
+
|
71
|
+
puts padding * 2 + "--fg color_name:"
|
72
|
+
puts padding * 3 + "Decorate the foreground color."
|
73
|
+
puts padding * 3 + "short option is -f." + $/ + $/
|
74
|
+
|
75
|
+
puts padding * 2 + "--bg color_name:"
|
76
|
+
puts padding * 3 + "Decorate the background color."
|
77
|
+
puts padding * 3 + "short option is -b." + $/ + $/
|
78
|
+
|
79
|
+
puts padding * 2 + "--tx text_attribute[,...]:"
|
80
|
+
puts padding * 3 + "Decorate the text attribute."
|
81
|
+
puts padding * 3 + "short option is -t." + $/ + $/
|
82
|
+
|
83
|
+
puts padding * 2 + "--watch:"
|
84
|
+
puts padding * 3 + "Interactive mode. Break word is -> exit, quit, bye; Or Ctl + c"
|
85
|
+
puts padding * 3 + "short option is -w." + $/ + $/
|
86
|
+
|
87
|
+
puts padding * 2 + "-n:"
|
88
|
+
puts padding * 3 + "Do not output the trailing newline." + $/ + $/
|
89
|
+
|
90
|
+
puts padding * 2 + "-h:"
|
91
|
+
puts padding * 3 + "Show this message." + $/ + $/
|
92
|
+
|
93
|
+
puts padding + "* Example"
|
94
|
+
|
95
|
+
CE.once.ch :h_magenta
|
96
|
+
puts padding * 2 + %(* color_echo can to highlight even when you following the log file by tailf, tail -f.)
|
97
|
+
puts padding * 3 + %(tailf /var/log/httpd/access_log | color_echo -w -p "127.0.0.1" -t bold)
|
98
|
+
puts padding * 3 + %(tailf /var/log/php/php_error.log | color_echo -w -p "foo.php" -p "Fatal error:" -f h_blue) + $/ + $/
|
99
|
+
|
100
|
+
CE.once.ch :h_magenta
|
101
|
+
puts padding * 2 + %(* color_echo is useful to read the access log, etc.)
|
102
|
+
puts padding * 3 + %(cat /var/log/httpd/access_log | color_echo -p "Sun Jan 18" -f h_cyan -t underscore | less)
|
103
|
+
puts padding * 3 + %(color_echo -p "Sun Jan 18" -f h_cyan -t underscore < /var/log/httpd/access_log | less)
|
104
|
+
puts padding * 3 + %((color_echo -f cyan -p /\\\\s2..\\\\s/ | color_echo -f h_red -p /\\\\s5..\\\\s/ | less) < /var/log/httpd/access_log)
|
105
|
+
puts padding * 3 + %(sed -n 1,1000p /var/log/httpd/access_log | color_echo -f cyan -p /\\\\s2..\\\\s/ | color_echo -f h_red -p /\\\\s5..\\\\s/ | less) + $/ + $/
|
106
|
+
|
107
|
+
CE.once.ch :h_magenta
|
108
|
+
puts padding * 2 + %(* It is a simple to use.)
|
109
|
+
puts padding * 3 + %(color_echo Hello\\!\\! -f h_white -b index199)
|
110
|
+
puts padding * 3 + %(color_echo Hello\\!\\! -t blink,bold -f magenta) + $/ + $/
|
111
|
+
|
112
|
+
CE.once.ch :h_magenta
|
113
|
+
puts padding * 2 + %(* color_echo can receive the standard input.)
|
114
|
+
puts padding * 3 + %(echo FooFoOfOO | color_echo -t reverse_video)
|
115
|
+
puts padding * 3 + %(echo FooFoOfOO | color_echo -f index130 -p /foo$/i | color_echo -f index180 -p /^foo/i)
|
116
|
+
puts padding * 3 + %(netstat -na | color_echo -p ":80" | color_echo -p "127.0.0.1" -f h_cyan) + $/ + $/
|
35
117
|
|
36
118
|
exit 0
|
37
119
|
end
|
38
120
|
|
39
121
|
def display_color_index
|
122
|
+
require_color_echo
|
123
|
+
|
40
124
|
CE.rainbow
|
41
125
|
cnt = 134
|
42
126
|
padding = " " * 2
|
@@ -66,6 +150,8 @@ def display_color_index
|
|
66
150
|
end
|
67
151
|
|
68
152
|
def display_symbol_list
|
153
|
+
require_color_echo
|
154
|
+
|
69
155
|
symbols_color = [
|
70
156
|
:black,
|
71
157
|
:gray,
|
@@ -117,7 +203,8 @@ def display_symbol_list
|
|
117
203
|
|
118
204
|
puts padding + header_text_attrs
|
119
205
|
symbols_text_attr.each do |tx_name|
|
120
|
-
CE.off(:tx)
|
206
|
+
CE.off(:tx)
|
207
|
+
CE.tx tx_name if tx_name != :concealed
|
121
208
|
puts "#{padding*2}:#{tx_name}" + " " * (30 - tx_name.to_s.size)
|
122
209
|
end
|
123
210
|
|
@@ -126,26 +213,99 @@ def display_symbol_list
|
|
126
213
|
exit 0
|
127
214
|
end
|
128
215
|
|
129
|
-
|
216
|
+
def output_interactive
|
217
|
+
exit_words = ["quit", "exit", "bye"]
|
218
|
+
while input = STDIN.gets
|
219
|
+
input.chomp!
|
220
|
+
exit 0 if exit_words.index(input)
|
221
|
+
eval(@code_decorate)
|
222
|
+
puts CE.get(input)
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
def output(target)
|
227
|
+
eval(@code_decorate)
|
228
|
+
begin
|
229
|
+
print CE.get(target)
|
230
|
+
rescue Errno::EPIPE
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
def parse_options
|
235
|
+
@fg = nil
|
236
|
+
@bg = nil
|
237
|
+
@tx = nil
|
238
|
+
@pickups = []
|
239
|
+
@is_watch = false
|
240
|
+
@last_lb = true
|
241
|
+
|
242
|
+
require "optparse"
|
243
|
+
opt = OptionParser.new
|
244
|
+
|
245
|
+
opt.on("-h") { usage }
|
246
|
+
opt.on("-v") { version }
|
247
|
+
opt.on("-s", "--symbol_list") { display_symbol_list }
|
248
|
+
opt.on("-l", "--index_list") { display_color_index }
|
249
|
+
opt.on("--fg val", "-f val") { |val| @fg = val }
|
250
|
+
opt.on("--bg val", "-b val") { |val| @bg = val }
|
251
|
+
opt.on("--tx val", "-t val") { |val| @tx = val }
|
252
|
+
opt.on("--pickup val", "-p val") { |val| @pickups << val }
|
253
|
+
opt.on("-w", "--watch") { @is_watch = true }
|
254
|
+
opt.on("-n") { @last_lb = false }
|
255
|
+
|
256
|
+
begin
|
257
|
+
opt.parse!(ARGV)
|
130
258
|
|
131
|
-
|
132
|
-
|
259
|
+
rescue => err
|
260
|
+
warn "Parse Error! Please check usage!" + $/ + $/
|
261
|
+
usage
|
262
|
+
end
|
263
|
+
|
264
|
+
@fg = "yellow" if @fg == nil && @bg == nil && @tx == nil
|
265
|
+
@fg = @fg.intern if @fg != nil
|
266
|
+
@bg = @bg.intern if @bg != nil
|
267
|
+
|
268
|
+
if @tx != nil
|
269
|
+
res = []
|
270
|
+
@tx.split(",").each do |val|
|
271
|
+
res << val.intern
|
272
|
+
end
|
273
|
+
@tx = res
|
274
|
+
end
|
275
|
+
|
276
|
+
# parse pickups
|
277
|
+
if @pickups.size > 0
|
278
|
+
code_pickup = ""
|
279
|
+
@pickups.each_index do |index|
|
280
|
+
if @pickups[index][0] == "/" && (@pickups[index][-1] == "/" || @pickups[index][-2] == "/")
|
281
|
+
@pickups[index] = eval(@pickups[index])
|
282
|
+
end
|
283
|
+
|
284
|
+
code_pickup += %(.pickup(@pickups[#{index}], @fg, @bg, @tx))
|
285
|
+
end
|
286
|
+
@code_decorate = "CE" + code_pickup
|
287
|
+
else
|
288
|
+
@code_decorate = %(CE.ch(@fg, @bg, @tx))
|
289
|
+
end
|
290
|
+
end
|
133
291
|
|
134
|
-
|
135
|
-
|
136
|
-
opt.on("-s", "--symbol_list") { display_symbol_list }
|
137
|
-
opt.on("-l", "--index_list") { display_color_index }
|
292
|
+
has_stdin = select([STDIN], [], [], 0) != nil || FileTest.pipe?(STDIN)
|
293
|
+
usage if !has_stdin && ARGV.size == 0
|
138
294
|
|
139
|
-
|
140
|
-
|
295
|
+
# parse options and set the decorate code that execute by eval
|
296
|
+
parse_options
|
141
297
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
298
|
+
require_color_echo_get
|
299
|
+
if @is_watch
|
300
|
+
# Interactive mode
|
301
|
+
output_interactive
|
302
|
+
else
|
303
|
+
if has_stdin
|
304
|
+
target = STDIN.read
|
305
|
+
else
|
306
|
+
target = ARGV.join(" ")
|
307
|
+
target += $/ if @last_lb
|
146
308
|
end
|
147
|
-
mess += " (OptionParser::InvalidOption)"
|
148
|
-
warn mess + $/ + $/
|
149
309
|
|
150
|
-
|
310
|
+
output(target)
|
151
311
|
end
|
data/lib/color_echo.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# color_echo
|
2
2
|
# Decorate the command line output with ANSI escape sequence.
|
3
|
-
#
|
3
|
+
# Text that is output by "print, puts, p" method is decorated.
|
4
4
|
# It is also can to decorate only your specified words!
|
5
5
|
|
6
6
|
require_relative "color_echo/get"
|
data/lib/color_echo/const.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module CE
|
2
2
|
LIBS_NAME = "color_echo"
|
3
|
-
VERSION = "0.
|
3
|
+
VERSION = "1.0.0"
|
4
4
|
SUMMARY = "Decorate the command line output with ANSI escape sequence."
|
5
5
|
DOCS_PAGE = "https://github.com/khotta/color_echo"
|
6
6
|
DESCRIPTION = <<EOS
|
7
7
|
#{SUMMARY}
|
8
|
-
|
8
|
+
Text that is output by "print, puts, p" method is decorated.
|
9
9
|
It is also can to decorate only your specified words!
|
10
10
|
EOS
|
11
11
|
end
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: color_echo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- khotta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
Decorate the command line output with ANSI escape sequence.
|
15
|
-
|
15
|
+
Text that is output by "print, puts, p" method is decorated.
|
16
16
|
It is also can to decorate only your specified words!
|
17
17
|
email:
|
18
18
|
executables:
|