aleで.prettierrc.*が存在する時のみprettierをする設定

どうでもいい設定シリーズ。

自分がやる(Java|Type)Scriptプロジェクトは全部prettier使いたいけど、他人のプロジェクトではprettierを動作させたない場合がある。

AtomだったりVSCodeだとprettierrcの有無でprettierをかけたりかけなかったりしてくれるんだが、ale + Neovimの構成だと自分で設定を書かないとうまくやってくれない。

んでその設定なんですけど僕はこうしてますってやつです。

let l:is_active = 0
let l:prettierrcs = [".prettierrc", ".prettierrc.toml", ".prettierrc.config.js", ".prettierrc.js"]
for item in l:prettierrcs
  let l:is_active = l:is_active + filereadable(item)
endfor
let g:ale_fixers = {
      \ 'javascript': ['eslint'],
      \ 'typescript': ['eslint'],
      \ 'vue': ['eslint']
      \ }
let g:ale_fix_on_save = 1
if l:is_active > 0
  call insert(g:ale_fixers.javascript, "prettier")
  call insert(g:ale_fixers.typescript, "prettier")
  call insert(g:ale_fixers.vue, "prettier")
endif

ここ を見るとわかるんですけど、package.jsonにconfigが書かれる場合もあるのだが、それに関しては未対応。

vimscript jsonソリューションを募集しています

拍手ボタン