def attach(self, view, edit=None): window_id = sublime_api.view_window(view.view_id) if self.window_id != window_id: self.attach_window(sublime_api.view_window(view.view_id)) if view == self.output: view = sublime.View(sublime_api.window_active_view(window_id)) self.window = self.get_window() self.view = view self.edit = edit
def run_(self, edit_token, args): args = self.filter_args(args) try: if args: edit = self.view.begin_edit(edit_token, self.name(), args) try: return self.run(edit, **args) finally: self.view.end_edit(edit) else: edit = self.view.begin_edit(edit_token, self.name()) try: return self.run(edit) finally: self.view.end_edit(edit) except (TypeError) as e: if 'required positional argument' in str(e): if sublime_api.view_can_accept_input(self.view.id(), self.name(), args): sublime_api.window_run_command( sublime_api.view_window(self.view.id()), 'show_overlay', { 'overlay': 'command_palette', 'command': self.name(), 'args': args }) return raise
def run_(self, edit_token, args): args = self.filter_args(args) try: if args: edit = self.view.begin_edit(edit_token, self.name(), args) try: return self.run(edit, **args) finally: self.view.end_edit(edit) else: edit = self.view.begin_edit(edit_token, self.name()) try: return self.run(edit) finally: self.view.end_edit(edit) except (TypeError) as e: if 'required positional argument' in str(e): if sublime_api.view_can_accept_input(self.view.id(), self.name(), args): sublime_api.window_run_command( sublime_api.view_window(self.view.id()), 'show_overlay', { 'overlay': 'command_palette', 'command': self.name(), 'args': args } ) return raise
def window(self): window_id = sublime_api.view_window(self.view_id) if window_id == 0: return None else: return Window(window_id)
def close(self): window_id = sublime_api.view_window(self.view_id) return sublime_api.window_close_file(window_id, self.view_id)