`deno.json` のあるプロジェクトでのみ、`denols`を有効にしたい... みたいなことを実現する。
## 環境
| 対象 | バージョン |
| ------------------ | ---------- |
| [[Neovim]] | v0.11.1 |
| [[nvim-lspconfig]] | `2e74354` |
## 方法
[[workspace_required (Neovim)|workspace_required]]オプションに `true` を設定する。
`nvim/after/lsp/denols.lua`
```lua
return {
workspace_required = true,
}
```
特殊ファイルを[[nvim-lspconfig]]のデフォルト設定とは別にする場合は、[[root_markers (Neovim)|root_markers]]や[[root_dir (Neovim)|root_dir]]のオプションを別途指定する必要がある。
```lua
return {
workspace_required = true,
root_markers = { "deno.json" },
}
```
> [!caution]
> [[workspace_required (Neovim)|workspace_required]]は[[Neovim]] v0.11.1で導入されたオプションであるため、**v0.11.0以下のバージョンでは動作しない**。
## 参考
- [忙しい人向け nvim\-lspconfigのnvim v0\.11対応](https://zenn.dev/vim_jp/articles/migrate-nvim-lspconfig-v0_11#neovim-v0.11.1%E3%81%AE%E5%A0%B4%E5%90%88(2025%E5%B9%B44%E6%9C%8828%E6%97%A5%E8%BF%BD%E8%A8%98))