@@ -42,21 +42,7 @@ def __init__(self, window):
4242
4343 def run (self , type = "search" ):
4444 if type == "search" :
45- self .settings = sublime .load_settings ('SearchInProject.sublime-settings' )
46- self .engine_name = self .settings .get ("search_in_project_engine" )
47- pushd = os .getcwd ()
48- os .chdir (basedir )
49- __import__ ("searchengines.%s" % self .engine_name )
50- self .engine = searchengines .__dict__ [self .engine_name ].engine_class (self .settings )
51- os .chdir (pushd )
52- view = self .window .active_view ()
53- selection_text = view .substr (view .sel ()[0 ])
54- self .saved_view = view
55- panel_view = self .window .show_input_panel (
56- "Search in project:" ,
57- not "\n " in selection_text and selection_text or self .last_search_string ,
58- self .perform_search , None , None )
59- panel_view .run_command ("select_all" )
45+ self .search ()
6046 elif type == "clear" :
6147 self .clear_markup ()
6248 elif type == "next" :
@@ -66,6 +52,26 @@ def run(self, type="search"):
6652 else :
6753 raise Exception ("unrecognized type \" %s\" " % type )
6854
55+ def load_search_engine (self ):
56+ self .settings = sublime .load_settings ('SearchInProject.sublime-settings' )
57+ self .engine_name = self .settings .get ("search_in_project_engine" )
58+ pushd = os .getcwd ()
59+ os .chdir (basedir )
60+ __import__ ("searchengines.%s" % self .engine_name )
61+ self .engine = searchengines .__dict__ [self .engine_name ].engine_class (self .settings )
62+ os .chdir (pushd )
63+
64+ def search (self ):
65+ self .load_search_engine ()
66+ view = self .window .active_view ()
67+ selection_text = view .substr (view .sel ()[0 ])
68+ self .saved_view = view
69+ panel_view = self .window .show_input_panel (
70+ "Search in project:" ,
71+ not "\n " in selection_text and selection_text or self .last_search_string ,
72+ self .perform_search , None , None )
73+ panel_view .run_command ("select_all" )
74+
6975 def perform_search (self , text ):
7076 if not text :
7177 return
0 commit comments