Document Neovim Vue language server design
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
# Neovim Vue Language Server Design
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
Add current Vue 3 language-server support without changing language-server behavior in non-Vue JavaScript and TypeScript projects.
|
||||||
|
|
||||||
|
## Design
|
||||||
|
|
||||||
|
- Keep `ts_ls` enabled for JavaScript and TypeScript files.
|
||||||
|
- Enable `vue_ls` for Vue single-file components.
|
||||||
|
- Use nvim-lspconfig's current `vue_ls` configuration and its built-in request forwarding to `ts_ls`.
|
||||||
|
- Let Mason install the `vue-language-server` package through the existing automatic-installation integration.
|
||||||
|
- Extend the local Mason health check so Vue's runtime requirement and executable are visible.
|
||||||
|
- Do not reproduce the tutorial's Volar Take Over Mode because Vue Language Server 3 removed it.
|
||||||
|
- Do not add Tailwind support in this change.
|
||||||
|
|
||||||
|
## Files
|
||||||
|
|
||||||
|
- Update `nvim/lua/tracer/plugins/lspconfig.lua` to enable `vue_ls`.
|
||||||
|
- Update `nvim/lua/mason/health.lua` to mention Vue Language Server and check `vue-language-server`.
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
- Confirm the pre-change check fails because `vue_ls` is not enabled.
|
||||||
|
- Confirm Neovim starts headlessly without configuration errors after the change.
|
||||||
|
- Confirm `vue_ls` appears in Neovim's enabled LSP configurations.
|
||||||
|
- Confirm Mason installs `vue-language-server` and its executable is available.
|
||||||
|
- Preserve the existing `ts_ls` configuration for non-Vue projects.
|
||||||
|
|
||||||
|
## Constraints
|
||||||
|
|
||||||
|
- Preserve unrelated working-tree changes.
|
||||||
|
- Use the Neovim 0.12 `vim.lsp.enable()` API already used by this configuration.
|
||||||
Reference in New Issue
Block a user