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
Beispiel #2
0
	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