Class: SearchInFilesListener
- Inherits:
-
Object
- Object
- SearchInFilesListener
- Defined in:
- ext/ae-search-in-files/ae-search-in-files.rb
Instance Method Summary collapse
- #do_find ⇒ Object
-
#initialize(_service) ⇒ SearchInFilesListener
constructor
A new instance of SearchInFilesListener.
- #on_before_search_in_files(_event) ⇒ Object
Constructor Details
#initialize(_service) ⇒ SearchInFilesListener
Returns a new instance of SearchInFilesListener.
16 17 18 19 |
# File 'ext/ae-search-in-files/ae-search-in-files.rb', line 16 def initialize(_service) @service = _service create_find end |
Instance Method Details
#do_find ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'ext/ae-search-in-files/ae-search-in-files.rb', line 50 def do_find return if @find.e_what.text.strip.length == 0 || @find.e_filter.text.strip.length == 0 || @find.e_dir.text.strip.length == 0 @find.hide if !defined?(@search_output) @search_output = SearchOutput.new(@service) else @service.frame_raise end _search_title = 'search result for : "'+@find.e_what.text+'" in :"'+@find.e_dir.text+'"'+' ['+@find.e_filter.text+']' _filter = @find.e_dir.text+'/**/'+@find.e_filter.text _files = Dir[_filter] _node = @search_output.new_result(_search_title, _files.length) @progress_bar = TkProgressframe.new(@service.arcadia.layout.root, _files.length) @progress_bar.title('Searching') #@progress_bar.on_cancel=proc{cancel} pattern = Regexp.new(@find.e_what.text) _files.each do |_filename| File.open(_filename) do |file| file.grep(pattern) do |line| @search_output.add_result(_node, _filename, file.lineno.to_s, line) end end @progress_bar.progress end @progress_bar.destroy end |
#on_before_search_in_files(_event) ⇒ Object
21 22 23 24 25 |
# File 'ext/ae-search-in-files/ae-search-in-files.rb', line 21 def on_before_search_in_files(_event) if _event.what.nil? @find.show end end |