Я модифицирую пакет TextMate, хотя я начинающий в Ruby. Проблема, которую я пытаюсь решить, заключается в перемещении каретки в определенное положение после вывода команды.
В основном, что происходит, это:
Я нажимаю комбинацию клавиш, которая запускает команду для фильтрации документа и вставляет текст в соответствующие места, а затем завершает работу, заменяя документ новым фильтрованным текстом.
То, что я хочу, чтобы произошло следующим, - каретка вернется на прежнее место. Я был очень счастлив, когда нашел функцию TextMate.go_to, но я могу заставить ее работать только частично. Функция:
positionY = ENV['TM_LINE_NUMBER']
positionX = ENV['TM_LINE_INDEX']
...
TextMate.go_to :line => positionY, :column => positionX; #column no worky
Я могу поместить каретку в нужную строку, но параметр столбца не работает. Я пытался сместить их и даже выполнить функцию только с параметром столбца, но не повезло. Я также пытался использовать жестко запрограммированное целое число, но параметр positionX печатает правильный индекс строки, поэтому я сомневаюсь, что там что-то есть.
Это - единственная документация, которую я нашел по этому методу, но я взглянул на textmate.rb и, на мой взгляд, кажется, что я использую его правильно.
Я знаю, что этого можно достичь с помощью макросов, но я хочу избежать этого, если это возможно.
Я также знаю, что вы можете использовать маркеры, если выберете «Вставить как фрагмент», но тогда мне придется сначала очистить документ, и я не совсем понял, как это сделать, не используя опцию «Заменить документ».
Кто-нибудь? * * 1016