日記はScrapboxに移動しました。

yasnippetのスニペット展開中にflymakeするのを防ぐ

,

2008-03-19追記: 不具合があったので、少し修正しました。

yasnippet超便利なのですが、flymakeしてると、yasnippetのフェイスがflymakeのフェイスで上書きされちゃうことがよくある。そこでこんな設定を追加してみた。つーか、yas/expandにもフック欲しいな。要望しておこう。

flymakeが有効か否かを調べる方法は、id:elimんに教えてもらったお!id:elim++

;; yasnippet展開中はflymakeを無効にする
(defvar flymake-is-active-flag nil)
(defadvice yas/expand-snippet
(before inhibit-flymake-syntax-checking-while-expanding-snippet activate)
(setq flymake-is-active-flag
(or flymake-is-active-flag
(assoc-default 'flymake-mode (buffer-local-variables))))
(when flymake-is-active-flag
(flymake-mode-off)))
(add-hook 'yas/after-exit-snippet-hook
'(lambda ()
(when flymake-is-active-flag
(flymake-mode-on)
(setq flymake-is-active-flag nil))))

Leave a Reply

Your email address will not be published. Required fields are marked *