Я обычно изменяю словари при записи git commit, однако, поскольку у меня есть сопоставление для смены словаря и запуск (flyspell-buffer)
сразу после того, как я вижу, что flyspell выходит за рамки сообщения фиксации, чтобы проверить также строки комментариев, начиная с #
.Как мне сказать flyspell игнорировать строки комментариев в режиме git-commit?
Как я могу сказать "Flyspell, пожалуйста, игнорировать строки, начинающиеся с символа" #
?
Я прочитал, что я могу использовать flyspell-generic-check-word-predicate
однако мой Elisp далек от хорошего :(, я пришел с этим:.
(defun flyspell-ignore-comments()
"Used for 'flyspell-generic-check-word-predicate' to ignore comments."
(not (string-match "^ *#" (thing-at-point 'line t))))
(put 'git-commit-mode 'flyspell-mode-predicate 'flyspell-ignore-comments)
Однако это не работает Что я делаю неправильно?
У вас есть 'git-commit-turn-on-flyspell' в' git-commit-setup-hook'? Если это так, это должно установить 'flyspell-generic-check-word-predicate' значение ' git-commit-flyspell-verify', которое игнорирует комментарии. –
Действительно, kyle-meyer, у меня есть эта настройка, проверяющая '(описать переменную flyspell-generic-check-word-predicate)' дает что-то вроде 'Его значение git-commit-flyspell-verify Local в буфере COMMIT_EDITMSG; глобальное значение равно nil', но все еще прокомментированные строки отмечены как ошибки flyspell (имена файлов, имена dir, часть «Отслеживаемые файлы» и т. д.) –
С 'emacs -Q', Magit 2.7.0 и' (add-hook 'git -commit-setup-hook # 'git-commit-turn-on-flyspell) ', я не могу воспроизвести проблему (т. е. комментарии в сообщениях фиксации игнорируются, как и предполагалось). –