2016-05-19 6 views
0

Я обычно изменяю словари при записи 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) 

Однако это не работает Что я делаю неправильно?

+1

У вас есть 'git-commit-turn-on-flyspell' в' git-commit-setup-hook'? Если это так, это должно установить 'flyspell-generic-check-word-predicate' значение ' git-commit-flyspell-verify', которое игнорирует комментарии. –

+0

Действительно, kyle-meyer, у меня есть эта настройка, проверяющая '(описать переменную flyspell-generic-check-word-predicate)' дает что-то вроде 'Его значение git-commit-flyspell-verify Local в буфере COMMIT_EDITMSG; глобальное значение равно nil', но все еще прокомментированные строки отмечены как ошибки flyspell (имена файлов, имена dir, часть «Отслеживаемые файлы» и т. д.) –

+0

С 'emacs -Q', Magit 2.7.0 и' (add-hook 'git -commit-setup-hook # 'git-commit-turn-on-flyspell) ', я не могу воспроизвести проблему (т. е. комментарии в сообщениях фиксации игнорируются, как и предполагалось). –

ответ

1

Ok, благодаря @KyleMeyer для заставляют меня усомниться в моей конфигурации, проблема в том, что я позволил Flyspell в text-mode-hook, и что было вмешательство в конфигурации для git-commit-mode. Удаление flyspell для загрузки в text-mode-hook решена проблема.

Спасибо.