pockestrap

Programmer's memo

watchdogs.vim で golint を使う

watchdogs.vim は、Vimシンタックスチェックプラグインです。また、golint はGo言語の Lint ツールです。

watchdogs.vim はGo言語に対応していますが、golintには対応していなかったので設定を書きました。


let g:quickrun_config['watchdogs_checker/golint'] = {
\   'command':     'golint',
\   'exec':        '%c %o %s:p',
\   "errorformat" : '%f:%l:%c: %m,%-G%.%#',
\ }

call watchdogs#setup(g:quickrun_config)

:WatchdogsRun watchdogs_checker/golint で golint が走ります。もし golint をデフォルトで使いたい場合には、以下の行を追加します。

let g:quickrun_config["go/watchdogs_checker"] = {
\   "type" : "watchdogs_checker/golint"
\ }

また、毎回:WatchdogsRun ... を打つのはめんどくさいので、:Lintでgolintを走らせられるようにしました。

autocmd FileType go command! -buffer Lint WatchdogsRun watchdogs_checker/golint

golintの出力が、gofmtと同じに見えたのでその設定をそのまま流用しています。 末尾の%-G%.%#あたりがhelp読んでもよく意味がわからなかった、うーん。


2014-12-02追記

go build をwatchdogsで走らせるようなcheckerも書いてみた。

let g:quickrun_config['watchdogs_checker/go_build'] = {
\   'command':     'go',
\   'exec':        '%c build %o',
\   "errorformat" : '%f:%l: %m,%-G%.%#',
\ }

AutoCmd FileType go command! -buffer Build WatchdogsRun watchdogs_checker/go_build

こっちのほうが便利かも知れない。