## 経緯 [[📜2024-01-28 Neovimのcoc.nvimからLSPに移行してみる]] で以下を利用してきた。 - [[nvim-lspconfig]] - [[mason.nvim]] - [[mason-lspconfig.nvim]] - [[none-ls.nvim]] だが、[[mason.nvim]]を利用しなくてもいいのではという気がしてきた。理由は以下。 - [[mise]]があればほとんどのツールはインストールできる - localや仮想環境のツールを利用したい場合は各言語システムの流儀に従った方がよい - ツールの一覧情報だけなら[[mason.nvim]]のREADMEで分かる - [[mason.nvim]]に関するトラブルに巻き込まれる可能性が低くなる - [[mason-lspconfig.nvim]]との依存もなくせて設定がシンプルになる ## ツール選定の参考 - [nvim-lspconfigの対応ツール一覧](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md) - [none-lsの対応ツール一覧](https://github.com/nvimtools/none-ls.nvim/blob/main/doc/BUILTINS.md) ## タスク - [ ] ファイルを作成したときにLSPをリロードしたい - [ ] [[TypeScript]] - [ ] [[Node.js]] - [x] 文法 ([[Volar]]) - [ ] [[Takeover Mode]]を使っているけどそれでいいのか...? - [x] フォーマッター ([[Prettier]]) - [ ] リンター ([[ESLint]]) - [x] インポート最適化 ([[Prettier Plugin Organize Imports]]) - [ ] スニペット - [x] [[mason.nvim]]からの脱却 ([[TypeScript Language Server]]) - [ ] [[Bun]] - [x] 文法 ([[Volar]]) - [ ] [[Takeover Mode]]を使っているけどそれでいいのか...? - [x] フォーマッター ([[Biome]]) - [x] リンター ([[Biome]]) - [ ] インポート最適化 - [ ] スニペット - [x] [[mason.nvim]]からの脱却 ([[TypeScript Language Server]]) - [ ] [[Vue3]] - [x] 文法 ([[Volar]]) - [x] フォーマッター ([[Prettier]]) - [ ] リンター - [x] インポート最適化 ([[Prettier Plugin Organize Imports]] ) - [ ] スニペット(独自) - [ ] [[Volar]]のフォーマットと[[Prettier]]のフォーマットが同時に発生する問題 - [x] [[mason.nvim]]からの脱却 ([[Volar]]) - [ ] [[React]] - [ ] 文法 - [ ] フォーマッター - [ ] リンター - [ ] インポート最適化 - [ ] スニペット(独自) - [ ] Type 'Element' is not assignable to ... - [ ] [[Prettier]]より[[Biome]]を優先する - [ ] [[Go]]の開発で利用できるようにする - [x] 文法 ([[gopls]]) - [x] フォーマッター ([[gofumpt]]) - [x] インポート最適化 ([[goimports]]) - [ ] スニペット([[LuaSnip]]) - [x] [[mason.nvim]]からの脱却 ([[gopls]]) - [ ] [[Python]]の開発できるようにする - [x] 文法 ([[pyright-langserver]]) - [x] フォーマッター ([[Ruff]]) - [x] リンター ([[Ruff]]) - [ ] インポート最適化 - [ ] スニペット(独自) - [x] [[Lua]]で[[init.lua]]を開発できるようにする - [x] 文法 ([[lua-language-server]]) - [x] フォーマッタ ([[StyLua]]) - [x] vimなどのグローバル変数が未解決 - [x] [[mason.nvim]]からの脱却 ([[lua-language-server]]]) - [x] HTMLの開発をできるようにする - [x] 文法 ([[vscode-html-language-server]]) - [x] 補完 ([[vscode-html-language-server]] / [[emmet-language-server]]) - [x] フォーマット ([[Prettier]]) - [x] CSSの開発をできるようにする - [x] 文法 ([[vscode-css-language-server]]) - [x] 補完 ([[vscode-css-language-server]]) - [x] フォーマット ([[Prettier]]) - [x] [[mason.nvim]]からの脱却 ([[vscode-css-languageservice]]) - [x] JSONのサポート - [x] 文法 ([[vscode-json-language-server]]) - [x] 補完 ([[SchemaStore.nvim]]) - [x] フォーマット ([[Prettier]] / [[Biome]]) - [x] YAMLのサポート - [x] 文法 ([[yaml-language-server]]) - [x] 補完 ([[SchemaStore.nvim]] with extra) - [x] `bitbucket-pipelines.yml` - [x] フォーマット ([[Prettier]]) - [x] Markdownのサポート - [x] 文法 ([[Marksman]]) - [x] 補完 ([[Marksman]]) - [x] フォーマット ([[Prettier]]) - [x] ジャンプ ([[Marksman]]) - [x] [[mason.nvim]]からの脱却 ([[Marksman]]) - [x] [[Bash]]の開発をできるようにする - [x] 文法 ([[Bash Language Server]]) - [x] 補完 ([[Bash Language Server]]) - [x] フォーマッター ([[sh]]) - [x] リンター ([[ShellCheck]])