colorlog 0.0.3 → 0.0.4

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.
Files changed (2) hide show
  1. data/bin/colorlog +92 -49
  2. metadata +6 -6
data/bin/colorlog CHANGED
@@ -4,16 +4,51 @@ require 'optparse'
4
4
  require 'rainbow'
5
5
  require 'yaml'
6
6
 
7
- options = {
8
- success_color: :green,
9
- warning_color: :yellow,
10
- error_color: :red,
11
- default_color: :default,
12
- success: /success/i,
13
- warning: /warning/i,
14
- error: /^(?:(?!\bTests\b).)*(?:failure|error).*$/i
7
+ COLORS = [
8
+ :black,
9
+ :red,
10
+ :green,
11
+ :yellow,
12
+ :blue,
13
+ :magenta,
14
+ :cyan,
15
+ :white,
16
+ :default
17
+ ]
15
18
 
19
+ options = {
20
+ colors: {
21
+ default: {
22
+ color: :default,
23
+ regex: //
24
+ },
25
+ success: {
26
+ color: :green,
27
+ regex: /success/i
28
+ },
29
+ warning: {
30
+ color: :yellow,
31
+ regex: /warning/i
32
+ },
33
+ error: {
34
+ color: :red,
35
+ regex: /^(?:(?!\bTests\b).)*(?:failure|error).*$/i
36
+ },
37
+ custom1: {
38
+ color: :blue,
39
+ regex: /custom1/
40
+ },
41
+ custom2: {
42
+ color: :magenta,
43
+ regex: /custom2/
44
+ },
45
+ custom3: {
46
+ color: :cyan,
47
+ regex: /custom3/
48
+ }
49
+ }
16
50
  }
51
+
17
52
  CONFIG_FILE = File.join(ENV['HOME'], '.colorlog.rc.yaml')
18
53
  if File.exists? CONFIG_FILE
19
54
  config_options = YAML.load_file(CONFIG_FILE)
@@ -29,47 +64,61 @@ option_parser = OptionParser.new do |opts|
29
64
  "different color depending on the content of the line matching different Regexp.
30
65
 
31
66
  Usage: #{executable_name} [options] filename
67
+ possible colors are: " + COLORS.map { |color| color.id2name }.to_s+"
68
+ You can change the default values by editing "+CONFIG_FILE+"
69
+
70
+ "
71
+
72
+ opts.on('--default-color COLOR', COLORS, 'color to use when no match is found (' + options[:colors][:default][:color].id2name + ')') do |default_color|
73
+ options[:colors][:default][:color] = default_color
74
+ end
75
+
76
+ opts.on('-s', '--success REGEXP', Regexp, 'RegExp that matched will turn the line in --success-color (' + options[:colors][:success][:regex].inspect + ')') do |success|
77
+ options[:colors][:success][:regex] = success
78
+ end
79
+
80
+ opts.on('--success-color COLOR', COLORS, 'color to use when line matches success (' + options[:colors][:success][:color].id2name + ')') do |success_color|
81
+ options[:colors][:success][:color] = success_color
82
+ end
32
83
 
33
- "
84
+ opts.on('-w', '--warning REGEXP', Regexp, 'RegExp that matched will turn the line in --warning-color (' + options[:colors][:warning][:regex].inspect + ')') do |warning|
85
+ options[:colors][:warning][:regex] = warning
86
+ end
34
87
 
35
- COLORS = [
36
- :black,
37
- :red,
38
- :green,
39
- :yellow,
40
- :blue,
41
- :magenta,
42
- :cyan,
43
- :white,
44
- :default
45
- ]
88
+ opts.on('--warning-color COLOR', COLORS, 'color to use when line matches warning (' + options[:colors][:warning][:color].id2name + ')') do |warning_color|
89
+ options[:colors][:warning][:color] = warning_color
90
+ end
46
91
 
47
- opts.on('--success-color COLOR', COLORS, 'color to use when success matches ' + COLORS.map { |color| color.id2name }.to_s) do |success_color|
48
- options[:success_color] = success_color
92
+ opts.on('-e', '--error REGEXP', Regexp, 'RegExp that matched will turn the line in --error-color (' + options[:colors][:error][:regex].inspect + ')') do |error|
93
+ options[:colors][:error][:regex] = error
49
94
  end
50
95
 
51
- opts.on('--warning-color COLOR', COLORS, 'color to use when warning matches ' + COLORS.map { |color| color.id2name }.to_s) do |warning_color|
52
- options[:warning_color] = warning_color
96
+ opts.on('--error-color COLOR', COLORS, 'color to use when line matches error (' + options[:colors][:error][:color].id2name + ')') do |error_color|
97
+ options[:colors][:error][:color] = error_color
53
98
  end
54
99
 
55
- opts.on('--error-color COLOR', COLORS, 'color to use when error matches ' + COLORS.map { |color| color.id2name }.to_s) do |error_color|
56
- options[:error_color] = error_color
100
+ opts.on('--custom1 REGEXP', Regexp, 'RegExp that matched will turn the line in --custom-color1 (' + options[:colors][:custom1][:regex].inspect + ')') do |custom|
101
+ options[:colors][:custom1][:regex] = custom
57
102
  end
58
103
 
59
- opts.on('--default-color COLOR', COLORS, 'color to use when no match is found ' + COLORS.map { |color| color.id2name }.to_s) do |default_color|
60
- options[:default_color] = default_color
104
+ opts.on('--custom1-color COLOR', COLORS, 'color to use when line matches custom1 (' + options[:colors][:custom1][:color].id2name + ')') do |custom_color|
105
+ options[:colors][:custom1][:color] = custom_color
61
106
  end
62
107
 
63
- opts.on('-s', '--success REGEXP', Regexp, 'RegExp that matched will turn the line green (default ' + options[:success].inspect + ')') do |success|
64
- options[:success] = success
108
+ opts.on('--custom2 REGEXP', Regexp, 'RegExp that matched will turn the line in --custom-color2 (' + options[:colors][:custom2][:regex].inspect + ')') do |custom|
109
+ options[:colors][:custom2][:regex] = custom
65
110
  end
66
111
 
67
- opts.on('-w', '--warning REGEXP', Regexp, 'RegExp that matched will turn the line yellow (default ' + options[:warning].inspect + ')') do |warning|
68
- options[:warning] = warning
112
+ opts.on('--custom2-color COLOR', COLORS, 'color to use when line matches custom2 (' + options[:colors][:custom2][:color].id2name + ')') do |custom_color|
113
+ options[:colors][:custom2][:color] = custom_color
69
114
  end
70
115
 
71
- opts.on('-e', '--error REGEXP', Regexp, 'RegExp that matched will turn the line red (default ' + options[:error].inspect + ')') do |error|
72
- options[:error] = error
116
+ opts.on('--custom3 REGEXP', Regexp, 'RegExp that matched will turn the line in --custom-color3 (' + options[:colors][:custom3][:regex].inspect + ')') do |custom|
117
+ options[:colors][:custom3][:regex] = custom
118
+ end
119
+
120
+ opts.on('--custom3-color COLOR', COLORS, 'color to use when line matches custom3 (' + options[:colors][:custom3][:color].id2name + ')') do |custom_color|
121
+ options[:colors][:custom3][:color] = custom_color
73
122
  end
74
123
 
75
124
  end
@@ -77,23 +126,17 @@ end
77
126
  option_parser.parse!
78
127
 
79
128
  def color_print(line, options)
129
+ actual_color = options[:colors][:default][:color]
80
130
 
81
- success_check = Regexp.new(options[:success])
82
- warning_check = Regexp.new(options[:warning])
83
- error_check = Regexp.new(options[:error])
84
-
85
- color = options[:default_color]
86
-
87
- if line =~ success_check
88
- color = options[:success_color]
89
- end
90
- if line =~ warning_check
91
- color = options[:warning_color]
92
- end
93
- if line =~ error_check
94
- color = options[:error_color]
131
+ options[:colors].each do |key, value|
132
+ regexp = Regexp.new(value[:regex])
133
+ color = value[:color]
134
+ if line =~ regexp
135
+ actual_color = color
136
+ end
95
137
  end
96
- printf("%s".foreground(color), line)
138
+
139
+ printf("%s".foreground(actual_color), line)
97
140
 
98
141
  end
99
142
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: colorlog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-12 00:00:00.000000000 Z
12
+ date: 2012-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rainbow
@@ -59,8 +59,8 @@ dependencies:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.12'
62
- description: colorlog allow you to read a file with some lines colored in red, green
63
- and yellow based on regexp
62
+ description: colorlog allow you to read a file with some lines colored based on regexp
63
+ three different regexp
64
64
  email:
65
65
  executables:
66
66
  - colorlog
@@ -82,7 +82,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
82
  version: '0'
83
83
  segments:
84
84
  - 0
85
- hash: -1041857608372163492
85
+ hash: 3221968240800879847
86
86
  required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  none: false
88
88
  requirements:
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  segments:
93
93
  - 0
94
- hash: -1041857608372163492
94
+ hash: 3221968240800879847
95
95
  requirements: []
96
96
  rubyforge_project:
97
97
  rubygems_version: 1.8.24