Class: Zoom::Profile::Grep
- Inherits:
-
Zoom::Profile
- Object
- Hash
- Zoom::Profile
- Zoom::Profile::Grep
- Defined in:
- lib/zoom/profile/grep.rb
Instance Attribute Summary
Attributes inherited from Zoom::Profile
#exts, #files, #format_flags, #regex, #taggable
Instance Method Summary collapse
- #grep_like_format_flags(all = false) ⇒ Object
-
#initialize(n = nil, t = nil, f = nil, b = nil, a = nil) ⇒ Grep
constructor
A new instance of Grep.
- #only_exts_and_files ⇒ Object
- #translate(from) ⇒ Object
Methods inherited from Zoom::Profile
#after, #before, #class_name, #exe, #flags, from_json, #grep_like_tags?, #name, #preprocess, profile_by_name, subclasses, #to_s, #tool
Constructor Details
#initialize(n = nil, t = nil, f = nil, b = nil, a = nil) ⇒ Grep
Returns a new instance of Grep.
16 17 18 19 20 |
# File 'lib/zoom/profile/grep.rb', line 16 def initialize(n = nil, t = nil, f = nil, b = nil, a = nil) f ||= "-iP" t ||= "grep" super(n, t, f, b, a) end |
Instance Method Details
#grep_like_format_flags(all = false) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/zoom/profile/grep.rb', line 2 def grep_like_format_flags(all = false) super @format_flags = [ "--color=never", "-#{"E" if (!flags.match(/-[^ -]*P/))}HInrs", "--exclude-dir=.bzr", "--exclude-dir=.git", "--exclude-dir=.git-crypt", "--exclude-dir=.svn" ].join(" ") @format_flags = "--color=never -aEHnRs" if (all) @taggable = true end |
#only_exts_and_files ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/zoom/profile/grep.rb', line 22 def only_exts_and_files f = Array.new @exts.each do |ext| f.push("--include=\"*.#{ext}\"") end @files.each do |file| f.push("--include=\"#{file}\"") end return f.join(" ") end |
#translate(from) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/zoom/profile/grep.rb', line 33 def translate(from) to = Array.new from.each do |flag, value| case flag when "all" grep_like_format_flags(true) when "follow" to.push("-R") when "ignore" value.each do |v| to.push("--exclude=#{v} --exclude-dir=#{v}") end when "word-regexp" to.push("-w") end end return to.join(" ") end |