utils 0.0.38 → 0.0.39

Sign up to get free protection for your applications and to get access to all the features.
data/TODO CHANGED
@@ -1,6 +1,7 @@
1
- - A default for searched/discovered files should be configurable, and be
2
- modifiable via command line options.
3
- - Mark trailing spaces in vim
1
+ - option for search to display all files that would be searched
2
+ - make -I option take a list (comma <- or spaces seperated?)
3
+
4
+ CHECK
4
5
  - When finding many places in the same file only jump to the first occurence if
5
6
  a cli option is given.
6
7
  - Make it configurable to find the same file many times via different symlinks
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.38
1
+ 0.0.39
data/bin/search CHANGED
@@ -6,11 +6,18 @@ include Utils
6
6
  require 'tins/go'
7
7
  include Tins::GO
8
8
 
9
+ def convert_ruby_to_vim_regexp(pattern)
10
+ regexp = pattern.source.dup
11
+ regexp.gsub!(/([^\\])\?/, '\1\\?')
12
+ pattern.casefold? and regexp << '\c'
13
+ regexp
14
+ end
15
+
9
16
  def edit_files(pattern, pathes)
10
17
  editor = Utils::Editor.new do |config|
11
18
  config.wait = true
12
19
  end
13
- editor.edit_remote_send("<ESC>/#{pattern.source}<CR>")
20
+ editor.edit_remote_send("<ESC>/#{convert_ruby_to_vim_regexp(pattern)}<CR>")
14
21
  for path in pathes
15
22
  STDERR.puts "Edit #{path}"
16
23
  editor.edit(path)
@@ -33,6 +40,7 @@ Options are
33
40
  -A NUMBER displays NUMBER lines of context after the match
34
41
  -B NUMBER displays NUMBER lines of context before the match
35
42
  -C NUMBER displays NUMBER lines of context around the match
43
+ -f just list the pathes of the files that would be searched
36
44
  -l just list the pathes of the files with matches
37
45
  -L list only the path:linenumber of the files with matches
38
46
  -R interpret PATTERN argument as fuzzy not regex
@@ -48,7 +56,7 @@ Version is #{File.basename($0)} #{Utils::VERSION}.
48
56
  exit 1
49
57
  end
50
58
 
51
- args = go 'I:A:B:C:s:S:n:N:a:RcilLeh'
59
+ args = go 'I:A:B:C:s:S:n:N:a:RciflLeh'
52
60
  args['h'] and usage
53
61
  pattern = ARGV.shift or usage
54
62
  roots = (ARGV.empty? ? [ Dir.pwd ] : ARGV).map { |f| File.expand_path(f) }
@@ -111,3 +111,6 @@ hi DiffAdd guibg=green guifg=white ctermbg=green ctermfg=white
111
111
  hi DiffChange guibg=blue guifg=white ctermbg=blue ctermfg=white
112
112
  hi DiffText guifg=yellow ctermbg=yellow ctermfg=white
113
113
  hi DiffDelete guibg=red guifg=white ctermbg=red ctermfg=white
114
+
115
+ hi ExtraWhitespace ctermbg=red guibg=#663333
116
+ match ExtraWhitespace /\s\+$/
@@ -74,6 +74,7 @@ filetype on
74
74
  filetype indent on
75
75
  filetype plugin on
76
76
  source $VIMRUNTIME/macros/matchit.vim
77
+ set t_Co=256
77
78
  colorscheme flori
78
79
 
79
80
  " Configure GUIs
@@ -514,5 +515,8 @@ iabbrev I_MFG Mit freundlichen Grüssen,<CR><CR>Florian Frank
514
515
  iabbrev I_DATE <ESC>:call Itime("%F")<CR>
515
516
  iabbrev I_DATETIME <ESC>:call Itime("%F %T")<CR>
516
517
  iabbrev I_TIME <ESC>:call Itime("%T")<CR>
518
+ iabbrev I_CLASS <ESC>:call Iexec("classify -b " . expand('%'))<CR>
517
519
  iabbrev I_KLASS <ESC>:call Iexec("classify -b " . expand('%'))<CR>
520
+ iabbrev I_MODULE <ESC>:call Iexec("classify -b " . expand('%'))<CR>
518
521
  iabbrev I_PATH_KLASS <ESC>:call Iexec("classify " . expand('%'))<CR>
522
+ iabbrev I_ENCODE # encoding: utf-8
data/lib/utils/finder.rb CHANGED
@@ -70,9 +70,11 @@ class Utils::Finder
70
70
  end
71
71
  pathes.uniq!
72
72
  pathes.map! { |p| a = File.split(p) ; a.unshift(p) ; a }
73
- @suffix = @args['I']
73
+ @suffixes = @args['I'].ask_and_send(:split, /[\s,]+/).to_a
74
74
  pathes = pathes.map! do |path, dir, file|
75
- @suffix && @suffix != File.extname(file)[1..-1] and next
75
+ if @suffixes.full?
76
+ @suffixes.include?(File.extname(file)[1..-1]) or next
77
+ end
76
78
  if do_match = attempt_match?(path) and $DEBUG
77
79
  warn "Attempt match of #{path.inspect}"
78
80
  end
data/lib/utils/grepper.rb CHANGED
@@ -77,7 +77,11 @@ class Utils::Grepper
77
77
  File.open(filename, 'rb') do |file|
78
78
  if file.binary? != true
79
79
  $DEBUG and warn "Matching #{filename.inspect}."
80
- match_lines file
80
+ if @args['f']
81
+ @output << filename
82
+ else
83
+ match_lines file
84
+ end
81
85
  else
82
86
  $DEBUG and warn "Skipping binary file #{filename.inspect}."
83
87
  end
@@ -141,10 +145,10 @@ class Utils::Grepper
141
145
  end
142
146
 
143
147
  def search
144
- @suffix = @args['I']
148
+ @suffixes = @args['I'].ask_and_send(:split, /[\s,]+/).to_a
145
149
  for dir in @roots
146
150
  Utils::Find.find(dir) do |filename|
147
- if !@suffix || @suffix == File.extname(filename)[1..-1]
151
+ if @suffixes.empty? || @suffixes.include?(File.extname(filename)[1..-1])
148
152
  match(filename)
149
153
  end
150
154
  end
data/lib/utils/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Utils
2
2
  # Utils version
3
- VERSION = '0.0.38'
3
+ VERSION = '0.0.39'
4
4
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/utils.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "utils"
5
- s.version = "0.0.38"
5
+ s.version = "0.0.39"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Florian Frank"]
9
- s.date = "2012-03-01"
9
+ s.date = "2012-03-16"
10
10
  s.description = "This ruby gem provides some useful command line utilities"
11
11
  s.email = "flori@ping.de"
12
12
  s.executables = ["chroot-exec", "chroot-libs", "classify", "discover", "edit", "edit_wait", "enum", "errf", "git-empty", "myex", "number_files", "path", "probe", "same_files", "search", "sedit", "sshscreen", "strip_spaces", "unquarantine_apps", "untest", "utils-install-config", "utils-utilsrc", "vacuum_firefox_sqlite", "xmp"]
@@ -22,20 +22,20 @@ Gem::Specification.new do |s|
22
22
  s.specification_version = 3
23
23
 
24
24
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- s.add_development_dependency(%q<gem_hadar>, ["~> 0.1.4"])
25
+ s.add_development_dependency(%q<gem_hadar>, ["~> 0.1.7"])
26
26
  s.add_runtime_dependency(%q<tins>, ["~> 0.3"])
27
27
  s.add_runtime_dependency(%q<term-ansicolor>, ["~> 1.0"])
28
28
  s.add_runtime_dependency(%q<dslkit>, ["~> 0.2"])
29
29
  s.add_runtime_dependency(%q<pry-editline>, [">= 0"])
30
30
  else
31
- s.add_dependency(%q<gem_hadar>, ["~> 0.1.4"])
31
+ s.add_dependency(%q<gem_hadar>, ["~> 0.1.7"])
32
32
  s.add_dependency(%q<tins>, ["~> 0.3"])
33
33
  s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
34
34
  s.add_dependency(%q<dslkit>, ["~> 0.2"])
35
35
  s.add_dependency(%q<pry-editline>, [">= 0"])
36
36
  end
37
37
  else
38
- s.add_dependency(%q<gem_hadar>, ["~> 0.1.4"])
38
+ s.add_dependency(%q<gem_hadar>, ["~> 0.1.7"])
39
39
  s.add_dependency(%q<tins>, ["~> 0.3"])
40
40
  s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
41
41
  s.add_dependency(%q<dslkit>, ["~> 0.2"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.38
4
+ version: 0.0.39
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-01 00:00:00.000000000 Z
12
+ date: 2012-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gem_hadar
16
- requirement: &2153080320 !ruby/object:Gem::Requirement
16
+ requirement: &2153332960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.1.4
21
+ version: 0.1.7
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2153080320
24
+ version_requirements: *2153332960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: tins
27
- requirement: &2153079600 !ruby/object:Gem::Requirement
27
+ requirement: &2153332460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0.3'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2153079600
35
+ version_requirements: *2153332460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: term-ansicolor
38
- requirement: &2153078600 !ruby/object:Gem::Requirement
38
+ requirement: &2153331900 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2153078600
46
+ version_requirements: *2153331900
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dslkit
49
- requirement: &2153077740 !ruby/object:Gem::Requirement
49
+ requirement: &2153331340 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0.2'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2153077740
57
+ version_requirements: *2153331340
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: pry-editline
60
- requirement: &2153037600 !ruby/object:Gem::Requirement
60
+ requirement: &2153330840 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2153037600
68
+ version_requirements: *2153330840
69
69
  description: This ruby gem provides some useful command line utilities
70
70
  email: flori@ping.de
71
71
  executables:
@@ -225,9 +225,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
225
225
  - - ! '>='
226
226
  - !ruby/object:Gem::Version
227
227
  version: '0'
228
- segments:
229
- - 0
230
- hash: 2842823016203684465
231
228
  required_rubygems_version: !ruby/object:Gem::Requirement
232
229
  none: false
233
230
  requirements: