Class: ProjectSearch

Inherits:
Object show all
Defined in:
plugins/project_search/lib/project_search.rb,
plugins/project_search/lib/project_search/hit.rb,
plugins/project_search/lib/project_search/query.rb,
plugins/project_search/lib/project_search/commands.rb,
plugins/project_search/lib/project_search/word_search.rb,
plugins/project_search/lib/project_search/lucene_index.rb,
plugins/project_search/lib/project_search/lucene_refresh.rb,
plugins/project_search/lib/project_search/binary_data_detector.rb,
plugins/project_search/lib/project_search/word_search_controller.rb

Defined Under Namespace

Classes: BinaryDataDetector, Hit, LuceneIndex, LuceneRefresh, Query, RefreshIndex, WordSearch, WordSearchCommand, WordSearchController

Class Method Summary (collapse)

Class Method Details

+ (Object) indexes



78
79
80
# File 'plugins/project_search/lib/project_search.rb', line 78

def self.indexes
  @indexes ||= {}
end

+ (Object) keymaps



27
28
29
30
31
32
33
34
35
# File 'plugins/project_search/lib/project_search.rb', line 27

def self.keymaps
  osx = Redcar::Keymap.build("main", :osx) do
    link "Cmd+Shift+F",     ProjectSearch::WordSearchCommand
  end
  linwin = Redcar::Keymap.build("main", [:linux, :windows]) do
    link "Ctrl+Shift+F",     ProjectSearch::WordSearchCommand
  end
  [osx, linwin]
end


14
15
16
17
18
19
20
21
22
23
24
25
# File 'plugins/project_search/lib/project_search.rb', line 14

def self.menus
  Redcar::Menu::Builder.build do
    sub_menu "Project" do
      group :priority => 1 do
        item "Word Search",  :command => ProjectSearch::WordSearchCommand
      end
      sub_menu "Refresh", :priority => 31 do
        item "Search index", :command => ProjectSearch::RefreshIndex
      end
    end
  end
end

+ (Object) project_refresh_task_type



74
75
76
# File 'plugins/project_search/lib/project_search.rb', line 74

def self.project_refresh_task_type
  LuceneRefresh
end

+ (Object) shared_storage



60
61
62
63
64
65
66
# File 'plugins/project_search/lib/project_search.rb', line 60

def self.shared_storage
  @shared_storage ||= begin
    storage = Redcar::Plugin::SharedStorage.new('shared__ignored_files')
    storage.set_or_update_default('ignored_file_patterns', [/tags$/, /\.log$/])
    storage.save
  end
end

+ (Object) storage



45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'plugins/project_search/lib/project_search.rb', line 45

def self.storage
  @storage ||= begin
    storage = Redcar::Plugin::Storage.new('find_in_project')
    storage.set_default('recent_queries', [])
    storage.set_default('excluded_dirs', ['.git', '.svn', '.redcar'])
    storage.set_default('excluded_files', [])
    storage.set_default('excluded_patterns', [/tags$/, /\.log$/])
    storage.set_default('literal_match', false)
    storage.set_default('match_case', false)
    storage.set_default('with_context', false)
    storage.set_default('context_lines', 2)
    storage.save
  end
end

+ (Object) toolbars



37
38
39
40
41
42
43
# File 'plugins/project_search/lib/project_search.rb', line 37

def self.toolbars
  Redcar::ToolBar::Builder.build do
    item "Word Search", :command => WordSearchCommand,
      :icon => File.join(Redcar.icons_directory, "application-search-result.png"),
      :barname => :project
  end
end