Как отключить c-electric-flag и c-syntactic-indentation только при редактировании файлов.html.php в Emacs?
Мне нужно сбросить флаги c-electric-flag и c-syntactic-indentation в Emacs23.4, когда я открываю файлы php, имя которых заканчивается на .html.php, и только для этого "name-pattern", потому что я использую php- mode внутри html-mode, и эти флаги делают неправильный отступ в коде php.
Однако я хотел бы сохранить эти флаги при редактировании чистых файлов.php (контроллеры php, которые содержат только исходный текст php).
Как я могу это сделать?
1 ответ
Решение
Вы можете заархивировать это, проверив имя файла в php-mode-hook и отключив их, если имя файла соответствует .html.php
как следующий код.
(defun my-php-mode-hook ()
(when (and (buffer-file-name)
(string-match-p "\\.html\\.php\\'" (buffer-file-name)))
(c-toggle-electric-state -1)
(setq c-syntactic-indentation nil)))
(add-hook 'php-mode-hook 'my-php-mode-hook)