как автоматически идентифицировать в Textmate, как в Emacs - PullRequest
1 голос
/ 18 февраля 2011

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

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

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

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

1 Ответ

0 голосов
/ 23 апреля 2011

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

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

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

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

...