Esempio n. 1
0
 def run(self, edit, target=None):
     env = getEnvironment(self.view.window())
     pos = int(target or self.view.sel()[0].begin())
     word = self.view.substr(self.view.word(pos))
     InlineLocalRefactorDesc(pos,
                             pos + len(word),
                             self.view.file_name()).run_in(env, async=True)
Esempio n. 2
0
 def on_post_save(self, view):
     file = view.file_name()
     if not (Util.is_scala(file) or Util.is_java(file)):
         return
     env = getEnvironment(view.window())
     if env and env.is_connected() and env.client.analyzer_ready:
         TypeCheckFilesReq([view.file_name()]).run_in(env, async=True)
Esempio n. 3
0
 def on_post_save(self, view):
     file = view.file_name()
     if not (Util.is_scala(file) or Util.is_java(file)):
         return
     env = getEnvironment(view.window())
     if env and env.is_connected() and env.client.analyzer_ready:
         TypeCheckFilesReq([view.file_name()]).run_in(env, async=True)
Esempio n. 4
0
 def run(self, edit, target=None):
     env = getEnvironment(self.view.window())
     pos = int(target or self.view.sel()[0].begin())
     if self.view.is_dirty():
         self.view.run_command('save')
     ImportSuggestionsReq(pos, self.view.file_name(),
                          self.view.substr(self.view.word(pos))).run_in(
                              env, async=True)
Esempio n. 5
0
 def run(self, edit, target=None):
     env = getEnvironment(self.view.window())
     pos = int(target or self.view.sel()[0].begin())
     if self.view.is_dirty():
         self.view.run_command('save')
     ImportSuggestionsReq(pos,
                          self.view.file_name(),
                          self.view.substr(self.view.word(pos))).run_in(env, async=True)
Esempio n. 6
0
 def run(self, edit, target=None):
     env = getEnvironment(self.view.window())
     view = self.view
     if len(view.sel()) <= 1:
         contents = (view.substr(sublime.Region(0, view.size()))
                     if view.is_dirty() else None)
         pos = int(target or view.sel()[0].begin())
         DocUriAtPointReq(view.file_name(), contents,
                          pos).run_in(env, async=True)
     else:
         env.status_message(
             "You have multiple cursors. Ensime is confused :/")
Esempio n. 7
0
 def run(self, edit, target=None):
     env = getEnvironment(self.view.window())
     view = self.view
     if len(view.sel()) <= 1:
         contents = (view.substr(sublime.Region(0, view.size())) if view.is_dirty()
                     else None)
         pos = int(target or view.sel()[0].begin())
         DocUriAtPointReq(view.file_name(),
                          contents,
                          pos).run_in(env, async=True)
     else:
         env.status_message("You have multiple cursors. Ensime is confused :/")
Esempio n. 8
0
 def run(self, edit):
     env = getEnvironment(self.view.window())
     regions = [r for r in self.view.sel()]
     if len(regions) == 1:
         region = regions[0]
         if region.begin() == region.end():
             env.status_message('Please select a region to extract the symbol to rename')
         else:
             def make_request(arg):
                 RenameRefactorDesc(arg,
                                    region.begin(),
                                    region.end(),
                                    self.view.file_name()).run_in(env, async=True)
             self.view.window().show_input_panel("Rename to : ",
                                                 '',
                                                 make_request, None, None)
     else:
         env.status_message('Select a single region to extract the symbol to rename')
Esempio n. 9
0
    def on_query_completions(self, view, prefix, locations):
        file = view.file_name()
        if not (Util.is_scala(file) or Util.is_java(file)):
            return
        env = getEnvironment(view.window())
        if env and env.is_connected() and env.client.indexer_ready:
            if (env.editor.ignore_prefix
                    and prefix.startswith(env.editor.ignore_prefix)):
                return []
            else:
                env.editor.ignore_prefix = None

            if (env.editor.current_prefix
                    and prefix == env.editor.current_prefix):
                env.editor.current_prefix = None
                if view.is_popup_visible():
                    view.hide_popup()
                env.logger.info(
                    "Search for more suggestions either completed or was cancelled."
                )
                return env.editor.suggestions

            contents = (view.substr(sublime.Region(0, view.size()))
                        if view.is_dirty() else None)
            response = CompletionsReq(locations[0],
                                      view.file_name(),
                                      contents,
                                      max_results=5).run_in(env, async=False)

            if response is None:
                return ([], sublime.INHIBIT_WORD_COMPLETIONS
                        | sublime.INHIBIT_EXPLICIT_COMPLETIONS)
                env.editor.ignore_prefix = prefix
            else:
                if len(env.editor.suggestions) > 1:
                    CompletionsReq(locations[0], view.file_name(),
                                   contents).run_in(env, async=True)
                    view.show_popup(
                        "Please wait while we query for more suggestions.",
                        sublime.HIDE_ON_MOUSE_MOVE
                        | sublime.COOPERATE_WITH_AUTO_COMPLETE)
                return (env.editor.suggestions,
                        sublime.INHIBIT_WORD_COMPLETIONS
                        | sublime.INHIBIT_EXPLICIT_COMPLETIONS)
Esempio n. 10
0
    def run(self, edit):
        env = getEnvironment(self.view.window())
        regions = [r for r in self.view.sel()]
        if len(regions) == 1:
            region = regions[0]
            if region.begin() == region.end():
                env.status_message(
                    'Please select a region to extract the symbol to rename')
            else:

                def make_request(arg):
                    RenameRefactorDesc(arg, region.begin(), region.end(),
                                       self.view.file_name()).run_in(
                                           env, async=True)

                self.view.window().show_input_panel("Rename to : ", '',
                                                    make_request, None, None)
        else:
            env.status_message(
                'Select a single region to extract the symbol to rename')
Esempio n. 11
0
    def on_query_completions(self, view, prefix, locations):
        file = view.file_name()
        if not (Util.is_scala(file) or Util.is_java(file)):
            return
        env = getEnvironment(view.window())
        if env and env.is_connected() and env.client.indexer_ready:
            if (env.editor.ignore_prefix and prefix.startswith(env.editor.ignore_prefix)):
                return []
            else:
                env.editor.ignore_prefix = None

            if (env.editor.current_prefix is not None and prefix == env.editor.current_prefix):
                env.editor.current_prefix = None
                if view.is_popup_visible():
                    view.hide_popup()
                env.logger.info("Search for more suggestions either completed or was cancelled.")
                return env.editor.suggestions

            contents = (view.substr(sublime.Region(0, view.size())) if view.is_dirty()
                        else None)
            response = CompletionsReq(locations[0],
                                      view.file_name(),
                                      contents,
                                      max_results=5).run_in(env, async=False)

            if response is None:
                return ([],
                        sublime.INHIBIT_WORD_COMPLETIONS | sublime.INHIBIT_EXPLICIT_COMPLETIONS)
                env.editor.ignore_prefix = prefix
            else:
                if len(env.editor.suggestions) > 1:
                    CompletionsReq(locations[0], view.file_name(), contents).run_in(env, async=True)
                    view.show_popup("Please wait while we query for more suggestions.",
                                    sublime.HIDE_ON_MOUSE_MOVE | sublime.COOPERATE_WITH_AUTO_COMPLETE)
                return (env.editor.suggestions,
                        sublime.INHIBIT_WORD_COMPLETIONS | sublime.INHIBIT_EXPLICIT_COMPLETIONS)
Esempio n. 12
0
 def is_enabled(self):
     env = getEnvironment(sublime.active_window())
     return bool(env and env.is_connected() and env.client.indexer_ready)
Esempio n. 13
0
 def run(self, edit, target=None):
     env = getEnvironment(self.view.window())
     pos = int(target or self.view.sel()[0].begin())
     word = self.view.substr(self.view.word(pos))
     InlineLocalRefactorDesc(pos, pos + len(word),
                             self.view.file_name()).run_in(env, async=True)
Esempio n. 14
0
 def run(self, edit):
     env = getEnvironment(self.view.window())
     if self.view.is_dirty():
         self.view.run_command('save')
     OrganiseImports(self.view.file_name()).run_in(env, async=True)
Esempio n. 15
0
 def is_enabled(self):
     env = getEnvironment(sublime.active_window())
     return bool(env and env.is_connected() and env.client.indexer_ready)
Esempio n. 16
0
 def run(self, edit):
     env = getEnvironment(self.view.window())
     if self.view.is_dirty():
         self.view.run_command('save')
     OrganiseImports(self.view.file_name()).run_in(env, async=True)