eslint を vim-watchdogs から使う

vim-watchdogs から eslint が使えるように設定したのでメモ。

osyo-manga/vim-watchdogs

eslint をグローバルにインストールする。

ESLint - Pluggable JavaScript linter

$ npm install -g eslint

.vimrcでファイルタイプがjavascriptの場合に eslint コマンドが実行されるように設定する。

let g:watchdogs_check_BufWritePost_enable = 1
let g:watchdogs_check_CursorHold_enable = 1

"
" 以下を追記
"
let g:quickrun_config = {
\   "javascript/watchdogs_checker" : {
\     "type" : "eslint"
\   }
\ }
call watchdogs#setup(g:quickrun_config)

これで:WatchdogsRunした時に eslint が実行される。

ただ、このままだと ES6/JSX の構文を使っているとエラーとして検出されてしまうので、.eslintrcecmaFeaturesに値を指定して機能毎に有効にする。

{
  "ecmaFeatures": {
    "templateStrings": true
  }
}

.eslintrcの設定により以下の構文はエラーとして検出されない。

console.log(`Hello, ${name}!`);

その他の機能毎の設定方法は以下を参照。

Documentation - ESLint - Pluggable JavaScript linter