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