как автоматически идентифицировать в Textmate аналогично Emacs

Как сделать автоматический отступ в Textmate, аналогичный эффекту этого кода в Emacs:

(defun set-newline-and-indent ()
  (local-set-key (kbd "RET") 'newline-and-indent))
(add-hook 'c-mode 'set-newline-and-indent)

т. е. я не хочу нажимать «возврат», а затем вкладку для отступа. Я хочу нажать «Возврат», и Textmate автоматически сделает отступ в нужное место в зависимости от языка.

Спасибо за любые подсказки.


person fruitJuice    schedule 18.02.2011    source источник


Ответы (1)


Textmate должен делать это автоматически. Если нет, вы можете создать собственный макрос, команду или фрагмент в редакторе пакетов, который сделает это за вас.

  1. Сначала узнайте область действия каретки (Bundles -> Bundle Development -> Show Scope). Должно получиться что-то вроде source.ruby string.quoted.double.ruby.
  2. Затем создайте фрагмент, содержащий новую строку и вкладку.
  3. Затем назначьте фрагмент ранее упомянутой области и назначьте ему ярлык.

Если все сделано правильно, ваш ярлык должен активировать элемент пакета в назначенной области вместо вставки новой строки.

Посмотрите в редакторе пакетов на элемент пакета CSS -> properties {}(}) для примера.

person Community    schedule 23.04.2011