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
こっちのほうが便利かも知れない。