williamboman / mason-lspconfig.nvim

Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim.
Apache License 2.0
2.77k stars 169 forks source link

[VOLAR] VirtualCode id must be lowercase #429

Closed 9mm closed 3 months ago

9mm commented 3 months ago

Problem description

After opening any vue file in a fresh nuxt 3 project, I get Volar exited with error code 1.

My LSP log shows this below.

I tried uninstalling Volar and doing fresh install and same issue.

[ERROR][2024-06-23 14:02:05] .../vim/lsp/rpc.lua:770 "rpc" "/Users/zesty/.local/share/nvim/mason/bin/vue-language-server" "stderr" "/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:230\n throw new Error(VirtualCode id must be lowercase: ${code.id});\n ^\n\nError: VirtualCode id must be lowercase: scriptSetupFormat\n at verifyVirtualCode (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:230:19)\n at Object.set (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:127:29)\n at /Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/lib/hybridModeProject.js:99:34\n at Object.get (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:42:17)\n at Object.getDiagnostics (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-service/lib/features/provideDiagnostics.js:104:62)\n at /Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-server/lib/register/registerLanguageFeatures.js:235:36\n at Timeout. (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-server/lib/register/registerLanguageFeatures.js:303:38)\n\nNode.js v20.15.0\n"

Why do you think this is an issue with mason-lspconfig.nvim?

I just upgraded Volar 10 mins ago and the error started appearing. Before creating an issue in vuejs/language-tools I thought I should make it here first

Neovim version (>= 0.7)

NVIM v0.10.0 Build type: Release LuaJIT 2.1.1716656478

Operating system/version

Darwin Zesty-M2.local 23.5.0 Darwin Kernel Version 23.5.0: Wed May 1 20:14:38 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6020 arm64

I've manually reviewed the Nvim LPS client log (:LspLog) to find potential errors

I've recently downloaded the latest plugin version of mason.nvim, mason-lspconfig.nvim, and nvim-lspconfig

Affected language servers

volar

Steps to reproduce

I simply opened any vue file in a nuxt project and it crashes immediately.

Actual behavior

It exits with error code 1

Expected behavior

Opens a file without error

LspInfo

Press q or <Esc> to close this window. Press <Tab> to view server doc.

 Language client log: /Users/zesty/.local/state/nvim/lsp.log
 Detected filetype:   vue

 4 client(s) attached to this buffer: 

 Client: tailwindcss (id: 1, bufnr: [1])
    filetypes:       css, eruby, html, postcss, vue
    autostart:       true
    root directory:  /Users/zesty/Code/x-admin
    cmd:             /Users/zesty/.local/share/nvim/mason/bin/tailwindcss-language-server --stdio

 Client: eslint (id: 2, bufnr: [1])
    filetypes:       javascript, typescript, vue
    autostart:       true
    root directory:  /Users/zesty/Code/x-admin
    cmd:             /Users/zesty/.local/share/nvim/mason/bin/vscode-eslint-language-server --stdio

 Client: tsserver (id: 3, bufnr: [1])
    filetypes:       javascript, typescript, vue
    autostart:       true
    root directory:  /Users/zesty/Code/x-admin
    cmd:             /Users/zesty/.local/share/nvim/mason/bin/typescript-language-server --stdio

 Client: copilot (id: 5, bufnr: [1])
    filetypes:       
    autostart:       false
    root directory:  /Users/zesty/Code/x-admin
    cmd:             node /Users/zesty/.local/share/nvim/lazy/copilot.lua/copilot/index.js

 Other clients that match the filetype: vue

 Config: volar
    filetypes:         vue
    root directory:    /Users/zesty/Code/x-admin
    cmd:               /Users/zesty/.local/share/nvim/mason/bin/vue-language-server --stdio
    cmd is executable: true
    autostart:         true
    custom handlers:   

 Configured servers list: lua_ls, gopls, bashls, solargraph, terraformls, jsonls, yamlls, volar, tsserver, eslint, tailwindcss, cssls, html, psalm

LspLog

Heres a fresh clean of LspLog, and then open:

[START][2024-06-23 14:12:45] LSP logging initiated
[ERROR][2024-06-23 14:12:45] ...lsp/handlers.lua:623    "Notification handler 'textDocument/didOpen' failed with message: Cannot open document 'file:///Users/zesty/Code/x-admin/pages/payments.vue' (languageId: vue)."
[WARN][2024-06-23 14:12:45] ...lsp/handlers.lua:135 "The language server eslint triggers a registerCapability handler for workspace/didChangeWorkspaceFolders despite dynamicRegistration set to false. Report upstream, this warning is harmless"
[ERROR][2024-06-23 14:12:45] ...lsp/handlers.lua:623    "Unexpected resource file:///Users/zesty/Code/x-admin/pages/payments.vue"
[WARN][2024-06-23 14:12:45] ...lsp/handlers.lua:135 "The language server copilot triggers a registerCapability handler for workspace/didChangeWorkspaceFolders despite dynamicRegistration set to false. Report upstream, this warning is harmless"
[ERROR][2024-06-23 14:12:45] .../vim/lsp/rpc.lua:770    "rpc"   "/Users/zesty/.local/share/nvim/mason/bin/vue-language-server"  "stderr"    "/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:230\n            throw new Error(`VirtualCode id must be lowercase: ${code.id}`);\n                  ^\n\nError: VirtualCode id must be lowercase: scriptSetupFormat\n    at verifyVirtualCode (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:230:19)\n    at Object.set (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:127:29)\n    at /Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/lib/hybridModeProject.js:99:34\n    at Object.get (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-core/index.js:42:17)\n    at Object.getDiagnostics (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-service/lib/features/provideDiagnostics.js:104:62)\n    at /Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-server/lib/register/registerLanguageFeatures.js:235:36\n    at Timeout.<anonymous> (/Users/zesty/.local/share/nvim/mason/packages/vue-language-server/node_modules/@vue/language-server/node_modules/@volar/language-server/lib/register/registerLanguageFeatures.js:303:38)\n\nNode.js v20.15.0\n"

Healthcheck

==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.10.0
- OK PATH: prepend
- OK Providers: 
    mason.providers.registry-api
    mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2024-06-23-old-size` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`
- OK wget: `GNU Wget 1.24.5 built on darwin23.2.0.`
- OK curl: `curl 8.6.0 (x86_64-apple-darwin23.0) libcurl/8.6.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.61.0`
- OK gzip: `Apple gzip 430.100.5`
- OK tar: `bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.12 liblzma/5.4.3 bz2lib/1.0.8 `
- OK bash: `GNU bash, version 3.2.57(1)-release (arm64-apple-darwin23)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- WARNING luarocks: not available
  - ADVICE:
    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- OK Go: `go version go1.22.4 darwin/arm64`
- OK cargo: `cargo 1.79.0 (ffa9cf99a 2024-06-03)`
- OK Ruby: `ruby 3.3.3 (2024-06-12 revision f1c7b6f435) [arm64-darwin23]`
- OK node: `v20.15.0`
- WARNING javac: not available
  - ADVICE:
    - spawn: javac failed with exit code 1 and signal 0. The operation couldn’t be completed. Unable to locate a Java Runtime.
      Please visit http://www.java.com for information on installing Java.

- WARNING java: not available
  - ADVICE:
    - spawn: java failed with exit code 1 and signal 0. The operation couldn’t be completed. Unable to locate a Java Runtime.
      Please visit http://www.java.com for information on installing Java.

- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- OK python: `Python 3.12.4`
- OK npm: `10.7.0`
- OK RubyGem: `3.5.14`
- OK PHP: `PHP 8.3.8 (cli) (built: Jun  4 2024 14:53:17) (NTS)`
- OK Composer: `Composer version 2.7.7 2024-06-10 22:11:12`
- OK pip: `pip 24.0 from /opt/homebrew/lib/python3.12/site-packages/pip (python 3.12)`
- OK python venv: `Ok`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 4. Remaining: 56. Limit: 60. Reset: Sun Jun 23 14:56:52 2024.
  Install and authenticate via gh-cli to increase rate limit.

Screenshots or recordings

No response

9mm commented 3 months ago

https://github.com/vuejs/language-tools/issues/4497