def _move_moveView(self, window, view, location, active_view): if active_view == view: is_active_view = True else: is_active_view = False options = Object() options.scroll = view.viewport_position() options.selections = [] for sel in view.sel(): line_s, col_s = view.rowcol(sel.a) line_e, col_e = view.rowcol(sel.b) options.selections.append([view.text_point(line_s, col_s), view.text_point(line_e, col_e)]) options.marks = [] for sel in view.get_regions("mark"): line_s, col_s = view.rowcol(sel.a) line_e, col_e = view.rowcol(sel.b) options.marks.append([view.text_point(line_s, col_s), view.text_point(line_e, col_e)]) options.bookmarks = [] for sel in view.get_regions("bookmarks"): line_s, col_s = view.rowcol(sel.a) line_e, col_e = view.rowcol(sel.b) options.bookmarks.append([view.text_point(line_s, col_s), view.text_point(line_e, col_e)]) options.folds = [] if int(sublime.version()) >= 2167: for sel in view.folded_regions(): line_s, col_s = view.rowcol(sel.a) line_e, col_e = view.rowcol(sel.b) options.folds.append([view.text_point(line_s, col_s), view.text_point(line_e, col_e)]) else: for sel in view.unfold(sublime.Region(0, view.size())): line_s, col_s = view.rowcol(sel.a) line_e, col_e = view.rowcol(sel.b) options.folds.append([view.text_point(line_s, col_s), view.text_point(line_e, col_e)]) window.focus_view(view) if view.is_dirty(): options.content = view.substr(sublime.Region(0, view.size())) view.window().run_command("revert") else: options.content = False window.run_command("close") view = window.open_file(location) sublime.set_timeout(lambda: self._move_restoreView(view, options), 200) if is_active_view: window.focus_view(view) return view else: window.focus_view(active_view) return active_view
def _move_moveView(self, window, view, location, active_view): if active_view == view: is_active_view = True else: is_active_view = False options = Object() options.scroll = view.viewport_position() options.selections = [[item.a, item.b] for item in view.sel()] options.marks = [[item.a, item.b] for item in view.get_regions("mark")] options.bookmarks = [[item.a, item.b] for item in view.get_regions("bookmarks")] if int(sublime.version()) >= 2167: options.folds = [[item.a, item.b] for item in view.folded_regions()] else: options.folds = [[item.a, item.b] for item in view.unfold(sublime.Region(0, view.size()))] options.syntax = view.settings().get('syntax') try: _window = window or view.window() or sublime.active_window() options.position = _window.get_view_index(view) except: options.position = False window.focus_view(view) if view.is_dirty(): options.content = view.substr(sublime.Region(0, view.size())) view.window().run_command('revert') else: options.content = False window.run_command('close') view = window.open_file(location) sublime.set_timeout(lambda: self._move_restoreView(view, options, window), 200) if is_active_view: window.focus_view(view) return view else: window.focus_view(active_view) return active_view