Vim Advent Calendar 88日目: 誤った goto 文で到達しないコード箇所を直ちに検知する方法

この記事は Vim Advent Calendar 2013 88日目の記事になります。

  • 元ネタ


それ、Vim で。
と、いう事でやってみました。

[必要なプラグイン]

NeoBundle "Shougo/vimproc.vim"
NeoBundle "thinca/vim-quickrun"
NeoBundle "osyo-manga/vim-watchdogs"
NeoBundle "osyo-manga/shabadou.vim"
NeoBundle "jceb/vim-hier"
NeoBundle "dannyob/quickfixstatus"

[設定]

" quickrun.vim の設定
" * vimproc で非同期でコマンドを実行する
" * シンタックスチェック時に quickfix ウィンドウを開かないようにする
" * シンタックスチェッカーを clang++ に設定
" * シンタックスチェッカー clang++ にオプションを追加
let g:quickrun_config = {
\   "_" : {
\       "runner/vimproc/updatetime" : 500,
\       "runner/vimproc/sleep" : 10,
\   },
\   "watchdogs_checker/_" : {
\       "outputter/quickfix/open_cmd" : "",
\   },
\   "cpp/watchdogs_checker" : {
\       "type" : "watchdogs_checker/clang++",
\   },
\   "watchdogs_checker/clang++" : {
\       "cmdopt" : "-Wall -Wunreachable-code",
\   },
\}

" ファイルの書き込み時にシンタックスチェックを行う
let g:watchdogs_check_BufWritePost_enable = 1


件の問題を検知する場合、コマンドオプションに -Wunreachable-code を追加すればよいみたいなので watchdogs.vim に設定を追加しています。
Vim にもオーバーレイを行う機能がほしいのぉ。