[[@astrojs.language-server|@astrojs/language-server]]を使えるように、[[nvim-lspconfig]]と[[conform.nvim]]に[[Astro]]用の設定を追加する。
| 対象 | バージョン |
| ------------------------------------------------------ | --------- |
| [[@astrojs.language-server\|@astrojs/language-server]] | 2.16.11 |
| [[nvim-lspconfig]] | `d6ac7a0` |
| [[conform.nvim]] | `619363c` |
| [[Astro]] | 7.0.7 |
| [[TypeScript]] | 7.0.2 |
## LSPのインストール
```console
mise use -g npm:@astrojs/language-server
```
## 設定変更
`lsp.lua` に設定を追加。
```lua
vim.lsp.enable({
"astro",
}}
```
[[conform.nvim]]の設定に `astro` を追加。
```lua
return {
"stevearc/conform.nvim",
opts = function()
return {
formatters_by_ft = {
-- Astroだけはprettierdの方がいいらしい
astro = { "prettierd" },
},
}
end,
}
```
[[nvim-treesitter]]の設定に `astro` を追加。
```lua
return {
"nvim-treesitter/nvim-treesitter",
config = function()
require("nvim-treesitter").install({
"astro",
})
}
```
## 動作確認
[[TypeScript]]がないと動作しないので
```console
pnpm add -D typescript@6
```
> [!caution]
> [[TypeScript 7]]では[[LSP]]周りの構成が変わったので動作しない。