color_echo 0.9.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
![screen shot](/images/get1.png)
|
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
|
+
![screen shot](/images/cli1.png)
|
67
|
+
![screen shot](/images/cli2.png)
|
81
68
|
|
82
69
|
|
83
70
|
## module functions
|
@@ -321,37 +308,40 @@ puts "Disable rainbow mode."
|
|
321
308
|
![screen shot](/images/screenshot.png)
|
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:
|