Emacs newline-and-indent в режиме scala-mode - PullRequest
3 голосов
/ 27 октября 2009

У меня есть (global-set-key (kbd "RET") 'newline-and-indent) в моем .emacs, который отлично работает во всех режимах, кроме scala-mode (новейшая версия 19295 от svn).

Что мне нужно изменить, чтобы оно заработало?

Ответы [ 2 ]

3 голосов
/ 27 октября 2009
(add-hook 'scala-mode-hook
      (lambda () (local-set-key (kbd "RET") 'reindent-then-newline-and-indent)))

Вышесказанное несколько решает проблему. Теперь он правильно выравнивает строку после однократного нажатия Enter, но все равно не работает, если над новой строкой есть пустая строка.

1 голос
/ 26 февраля 2012

В scala-режиме «RET» по умолчанию привязан к scala-newline, и это переопределяет глобальную привязку ключа, установленную с global-set-key, следовательно, необходима особая ловушка для scala-mode. Рассмотрите возможность использования:

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

вместо:

(add-hook 'scala-mode-hook
      (lambda () (local-set-key (kbd "RET") 'reindent-then-newline-and-indent)))

Если вы не хотите, чтобы Emacs изменил отступ после выхода из строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...