neovimへESLint + Prettierの導入(最低限)

環境

エディター : Neovim
パッケージマネージャー : なし
プラグインマネージャー : vim-plug

概要

ESLint

設定ファイルに記したコーディングスタイルのルールで、 ファイル全体を静的に解析し、バグの温床となりやすいルールに沿わないコードを検出してくれる

Prettier

コードの自動整形ツール

ESLintとPrettierの違い

ESLint
 コードの品質向上のための一貫性
Prettier
 コードの可読性向上のための一貫性

例えば、未使用の変数などに指摘が入るのはESLint

設定手順

ESLint

事前にvscode-langservers-extractedをグローバルにインストール

npm install -g vscode-langservers-extracted

詳細は以下を参照
vacode-langservers-extracted

ESLintのLSPを有効化
lsp/init.lua

vim.lsp.enable('eslint');



Prettier

nvim/init.luaプラグイン追加

vim.cmd([[
  call plug#begin()
// 省略
  Plug 'prettier/vim-prettier', {
     \ 'do': 'npm install --frozen-lockfile --production',
     \ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'svelte', 'yaml', 'html'] }
  call plug#end()
]])

vim.cmd()でラップしvimscriptの記述を可能にしてる
vim-plugのInstallingが基本vimscriptだから)


Prettier本体のinstall

npm install -g prettier

面倒だったので自分はグローバルにインストールをしたが、
プロジェクト単位でPrettierのバージョンを変えたい人は要注意

最後に

実際の設定は以下を参照ください
Github dotfiles