icersplicer 1.0.7 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d19e22f059ad62dc8dd6c4f43be341eb14e5f3a3
4
- data.tar.gz: a3acc16cb4123dd98c4d76d16efd587309111a15
3
+ metadata.gz: 1ed0550a22c725c9d54bf723d1f708844022d9bc
4
+ data.tar.gz: 8b295dd653c3d6eedcb2bcd741d97814ac7aeb3b
5
5
  SHA512:
6
- metadata.gz: 9f0058e6fefe6ac373d03d256d0020856f53ab323883f19e7712ea72bd1130d719e70fb9a57ae853684a86a4b46e1726808ea0fdee06ab7b8ebd0273e0386311
7
- data.tar.gz: e50323c24f03be0cd75c66a152c9c8b653ad76dd65878784a8fb59b748e4486d38dcc5b59e5820746d4d6fd77d38cf08ffc1b2091fbadbafb09bb4f1b5ee78f1
6
+ metadata.gz: 1ea2903a7adda3b0824898589d2545252c708bec1b3ca2d6221ee0ecd60bcac320b81a003e491bd07b5844808225ad5bcc1a5649953977fbfbe433c851ce86c8
7
+ data.tar.gz: 7511032048d26a6c8deea2f7598e875b08da4082c37ce74a61001258a6730b42ff28833567c0451fe0904489d1406b01e6d8e1aeccdc017fb5fe601a69d3d443
@@ -95,18 +95,18 @@ opts.each do |opt, arg|
95
95
 
96
96
  Features:
97
97
 
98
- Syntax highlighting / On / Off
99
- Head /Tail functionality
100
- Tail follow like tail -f
101
- Support for multiple input for files / wildcards
102
- Ability to Skip lines and line ranges and blank lines
103
- Quiet mode for exporting large files
104
- Countlines in a file
105
- Grep functionality
106
- Search & Replace in a file
107
- Turn off line numbers
108
- Debugging mode
109
- Turn off line numbers
98
+ Syntax highlighting / On / Off
99
+ Head /Tail functionality
100
+ Tail follow like tail -f
101
+ Support for multiple input for files / wildcards
102
+ Ability to Skip lines and line ranges and blank lines
103
+ Quiet mode for exporting large files
104
+ Countlines in a file
105
+ Grep functionality
106
+ Search & Replace in a file
107
+ Turn off line numbers
108
+ Debugging mode
109
+ Turn off line numbers
110
110
 
111
111
  Example:
112
112
 
@@ -278,13 +278,13 @@ begin
278
278
  }
279
279
  }
280
280
  }
281
- rescue
282
- raise NoMethodError, "Please specify a valid filename or wildcard file extension"
281
+ rescue NoMethodError
282
+ raise LoadError, "Please specify a valid filename or wildcard file extension"
283
283
  end
284
284
  rescue Errno::EPIPE, IOError
285
285
  raise IOError, "Closing session due to broken pipe"
286
286
  end
287
- ice.closefile
287
+ ice.close
288
288
  unless instance_variable_defined?("@nostats")
289
289
  ice.filterlinestats(filterlines)
290
290
  ice.stats(inputfile, outputfile)
@@ -20,12 +20,13 @@ include##colour=cyan
20
20
  public##colour=cyan
21
21
  private##colour=cyan
22
22
  protected##colour=cyan
23
- unless##colour=purple
24
- case##colour=purple
25
- when##colour=purple
23
+ unless##colour=magenta
24
+ while##colour=magenta
25
+ case##colour=magenta
26
+ when##colour=magenta
26
27
  do##colour=yellow
27
- if##colour=purple
28
- else##colour=purple
28
+ if##colour=magenta
29
+ else##colour=magenta
29
30
  puts##colour=blue
30
31
  print##colour=blue
31
32
  each##colour=green
@@ -34,7 +35,7 @@ gsub##colour=cyan
34
35
  strip##colour=cyan
35
36
  split##colour=cyan
36
37
  rand##colour=yellow
37
- and##colour=yellow
38
+ and ##colour=yellow
38
39
  raise##colour=yellow
39
40
  trap##colour=blue
40
41
  new##colour=cyan
@@ -43,6 +44,9 @@ nil##colour=cyan
43
44
  .write##colour=cyan
44
45
  .close##colour=cyan
45
46
  .update##colour=cyan
47
+ .glob##colour=cyan
48
+ .upto##colour=cyan
49
+ .downto##colour=cyan
46
50
  ::##colour=white
47
51
  @##colour=yellow
48
52
  ||=##colour=white
@@ -50,6 +54,24 @@ nil##colour=cyan
50
54
  -=##colour=white
51
55
  +=##colour=white
52
56
  =##colour=white
53
- {##colour=white
54
- }##colour=white
55
- exit##colour=purple
57
+ {##colour=red
58
+ }##colour=red
59
+ exit##colour=magenta
60
+ INSERT##colour=green
61
+ INTO##colour=green
62
+ UPDATE##colour=green
63
+ DELETE##colour=green
64
+ FROM##colour=green
65
+ GROUP##colour=green
66
+ BY##colour=green
67
+ ORDER##colour=green
68
+ LIMIT##colour=green
69
+ OFFSET##colour=green
70
+ SELECT##colour=green
71
+ FROM##colour=green
72
+ WHERE##colour=green
73
+ VALUES##colour=green
74
+ AND##colour=green
75
+ OR##colour=green
76
+ NOT##colour=green
77
+ IN##colour=green
@@ -1,11 +1,26 @@
1
- INSERT##colour=purple
2
- INTO##colour=purple
3
- VALUES##colour=purple
1
+ INSERT##colour=magenta
2
+ INTO##colour=magenta
3
+ VALUES##colour=magenta
4
4
  CREATE TABLE##colour=red
5
5
  CREATE SCHEMA##colour=red
6
+ ALTER SEQUENCE##colour=red
7
+ CREATE SEQUENCE##colour=red
8
+ CREATE USER##colour=red
9
+ ALTER USER##colour=red
10
+ COPY##colour=magenta
6
11
  SET SCHEMA##colour=yellow
7
12
  DROP TABLE##colour=red
8
13
  DROP SCHEMA##colour=red
14
+ IGNORE##colour=red
15
+ IF##colour=red
16
+ EXISTS##colour=red
17
+ CONSTRAINT##colour=magenta
18
+ PRIMARY KEY##colour=magenta
19
+ FOREIGN KEY##colour=magenta
20
+ ALTER TABLE##colour=red
21
+ REFERENCES##colour=magenta
22
+ ADD##colour=red
23
+ COMMIT##colour=cyan
9
24
  char
10
25
  integer
11
26
  varchar
@@ -13,8 +28,3 @@ date
13
28
  boolean
14
29
  NOT NULL##colour=white
15
30
  NULL##colour=white
16
- (##colour=cyan
17
- )##colour=cyan
18
- );##colour=cyan
19
- true##colour=blue
20
- false##colour=yellow
@@ -9,7 +9,40 @@
9
9
  #
10
10
  ########################################################################
11
11
  require 'file-tail'
12
+ require 'rainbow'
12
13
 
14
+ module OutputFile
15
+
16
+ @@fileopen = 0
17
+
18
+ def open(outputfile)
19
+ begin
20
+ puts "Openfile: #{outputfile}" if @debug >= 1
21
+ @export = File.open("#{outputfile}", 'w')
22
+ rescue Errno::EACCES
23
+ raise IOError, "Can't create file please check file / directory permissions"
24
+ end
25
+ end
26
+
27
+ def write(data)
28
+ @export.write(data)
29
+ end
30
+
31
+ def close
32
+ begin
33
+ @export.close
34
+ puts "Closing file"
35
+ rescue NoMethodError
36
+ end
37
+ end
38
+
39
+ def processdata(data, outputfile, quietmode)
40
+ open(outputfile) if @@fileopen == 0
41
+ write(data)
42
+ @@fileopen += 1
43
+ end
44
+
45
+ end
13
46
 
14
47
  module Icersplicer
15
48
 
@@ -17,17 +50,18 @@ module Icersplicer
17
50
 
18
51
  attr_writer :nohighlighter, :skip_lines, :keywordsfile, :debug, :nolinenumbers
19
52
 
20
- COLOURS = {"black" => 0,
21
- "red" => 1,
22
- "green" => 2,
23
- "yellow" => 3,
24
- "blue" => 4,
25
- "purple" => 5,
26
- "cyan" => 6,
27
- "white" => 7}
53
+ include OutputFile
54
+
55
+ COLOURS = {0 => "black",
56
+ 1 => "red",
57
+ 2 => "green",
58
+ 3 => "yellow",
59
+ 4 => "blue",
60
+ 5 => "purple",
61
+ 6 => "cyan",
62
+ 7 => "white"}
28
63
 
29
64
  def initialize
30
- @fileopen = 0
31
65
  @keywordsfile = "keywords.ice"
32
66
  @debug = 0
33
67
  @nolinenumbers = false
@@ -83,23 +117,22 @@ module Icersplicer
83
117
  keys ||= load_keywords("#{@keywordsfile}")
84
118
  unless keys.class == Hash
85
119
  keys = {0 => "Ln:",
86
- 1 => "SELECT",
87
- 2 => "CREATE TABLE",
88
- 3 => "UPDATE",
89
- 4 => "DELETE",
90
- 5 => "INSERT"}
120
+ 1 => "SELECT",
121
+ 2 => "CREATE TABLE",
122
+ 3 => "UPDATE",
123
+ 4 => "DELETE",
124
+ 5 => "INSERT"}
91
125
  end
92
126
  cpicker = [2,3,4,1,7,5,6] # Just a selection of colours
93
127
  keys.each {|n|
94
128
  if n[1].split("##")[1] == nil
95
- text.gsub!("#{n[1]}", "\e[4;3#{cpicker[rand(cpicker.size)]}m#{n[1]}\e[0m\ \e[0;32m")
129
+ name = COLOURS[rand(COLOURS.size - 1)]
130
+ text.gsub!("#{n[1]}", Rainbow.new.wrap("#{n[1]}").send(name.to_sym))
96
131
  else
97
- name = n[1].split("##")[1].split("=")[1]; puts "Name: #{name}" if @debug >= 3
98
- cnum = COLOURS[name].to_i; puts "Colour Number: #{cnum}" if @debug >= 3
99
132
  nval = n[1].split("##")[0]; puts "Value: #{nval}" if @debug >= 3
100
- text.gsub!("#{nval}", "\e[4;3#{cnum}m#{nval}\e[0m\ \e[0;32m")
133
+ name = n[1].split("##")[1].split("=")[1]; puts "Value: #{name}" if @debug >= 3
134
+ text.gsub!("#{nval}", Rainbow.new.wrap("#{nval}").send(name.to_sym))
101
135
  end
102
- text.gsub!(" \e[0;32m", "\e[0;32m")
103
136
  }
104
137
  return text
105
138
  end
@@ -157,39 +190,12 @@ module Icersplicer
157
190
  end
158
191
 
159
192
  def print_to_screen(linenum, text, quiet)
160
- unless @nolinenumbers == true
161
- print "\e[1;33mLn: #{linenum}:\e[0m\ "
193
+ unless @nolinenumbers == true or quiet == true
194
+ print Rainbow.new.wrap("Ln: #{linenum}:").yellow
162
195
  end
163
196
  print "#{text}" unless quiet == true
164
197
  end
165
198
 
166
- def openfile(outputfile)
167
- begin
168
- puts "Openfile: #{outputfile}" if @debug >= 1
169
- @export = File.open("#{outputfile}", 'w')
170
- rescue Errno::EACCES
171
- raise IOError, "Can't create file please check file / directory permissions"
172
- end
173
- end
174
-
175
- def writefile(data)
176
- @export.write(data)
177
- end
178
-
179
- def closefile
180
- begin
181
- @export.close
182
- puts "Closing file"
183
- rescue NoMethodError
184
- end
185
- end
186
-
187
- def processdata(data, outputfile, quietmode)
188
- openfile(outputfile) if @fileopen == 0
189
- writefile(data)
190
- @fileopen += 1
191
- end
192
-
193
199
  def stats(inputfile, outputfile)
194
200
  puts "Skip Lines #{@skip_lines}" if @debug >= 1
195
201
  print "Inputfile lines: "
@@ -3,8 +3,8 @@ module Icersplicer
3
3
 
4
4
  module VERSION #:nodoc:
5
5
  MAJOR = 1
6
- MINOR = 0
7
- TINY = 7
6
+ MINOR = 1
7
+ TINY = 3
8
8
  CODENAME = "Icey Blizzard!"
9
9
  STRING = [MAJOR, MINOR, TINY].join('.')
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: icersplicer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Hood
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-31 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: walltime
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rainbow
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.1.0
41
55
  description: Text file manipulation similar to UNIX tools like cat / head / tail
42
56
  email: brianh6854@googlemail.com
43
57
  executables: