Сделать закладки Sublime Text нечувствительными к столбцам - PullRequest
0 голосов
/ 15 июня 2019

Как ограничить закладки одной строкой, а не определяться строкой и столбцом?

Вы знаете, как и любой другой текстовый редактор.

1 Ответ

1 голос
/ 17 июня 2019

Чтобы получить меньшую детализацию в позициях закладок, вам необходимо заменить внутреннюю команду toggle_bookmark на команду, которая всегда заставляет положение с закладкой быть началом любой строки, на которой находится курсор, а не ее точное местоположение.

Для простоты это выглядело бы примерно так:

import sublime
import sublime_plugin


class ToggleBookmarkCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        view = self.view

        old = view.get_regions("bookmarks")
        new = [sublime.Region(view.line(sel.b).begin()) for sel in view.sel()]

        for sel in new:
            if sel not in old:
                old.append(sel)
            else:
                del old[old.index(sel)]

        view.add_regions("bookmarks", old, "bookmarks", "bookmark", sublime.PERSISTENT)

Помещение этого в плагин в вашем пакете User заменит внутреннюю команду toggle_bookmark этой версией, которая выполнит соответствующее переключение, но всегда вместо этого ограничит позицию закладки началом строки.

Область bookmarks - это область, используемая внутренними командами, работающими с закладками, поэтому эта команда будет работать вместе с любыми другими командами, работающими с собственными закладками. Это включает команды, которые уже существуют для навигации между командами, а также команды, добавленные другими плагинами для расширенной функциональности, такой как выбор между текущей позицией курсора и следующей закладкой (хотя в этом случае возможность этого может быть несколько меньше из-за участвует позиционирование).

...