Мне было интересно, можно ли запустить собственный скрипт при сохранении на основе определенных имен файлов в textmate. Например, я хотел бы автоматически скомпилировать C-программу при сохранении.
3 ответа
На самом деле это довольно легко сделать, используя пользовательскую команду в комплекте.
Вот как сделать простую команду:
- Откройте редактор пакетов и найдите пакет, к которому вы хотите добавить.
- Создайте "Новая команда" с помощью кнопки в левом нижнем углу редактора. Назовите его соответствующим образом и установите его
source.c
. - Установите раскрывающийся список действий "Эквивалент ключа" и установите сочетание клавиш
Cmd + S
- Измените выпадающий список "Сохранить" на "Текущий файл".
- Введите вашу команду и соответственно установите выпадающий список для ввода и вывода. Вход будет передан в STDIN, если я правильно помню.
- Перезагрузите связки TextMate.
Вот и все. Теперь у вас должна быть команда, которая сохраняет файл и запускает команду.
Вы, вероятно, можете что-то сделать с командами TextMate, используя макрос аналогичным образом.
Насколько я знаю, нет способа сделать это, как вы описали, для всех ситуаций сохранения (т. Е. С помощью Command-S, выбора File-> Save и т.д.).
Возможно, вы сможете создать пользовательский элемент пакета, который сохранит документ и выполнит ваш скрипт, и назначит ему Command-S, чтобы он запускался при использовании этого сочетания клавиш.
Вы можете вызвать команду после сохранения через семантический класс callback.document.did-save
. Это работает на TextMate2+