zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
46.88k stars 2.69k forks source link

Elixir LS stuck at outdated 0.17.10 version #5388

Open ZombieHarvester opened 7 months ago

ZombieHarvester commented 7 months ago

Check for existing issues

Describe the bug / provide steps to reproduce it

elixir-ls seems to be stuck at older 0.17.10 version, while the current version at the moment is 0.19.0.

I take the elixir-ls version from the following error message:

ElixirLS: ** (UndefinedFunctionError) Mix.Dep.load_on_environment/1 is undefined of private
    (mix 1.16.0) Mix.Dep.load_on_environment([])
    (language_server 0.17.10) lib/language_server/build.ex:23: anonymous fn/2 in ElixirLS.LanguageServer.Build.build/3
    (elixir 1.16.0) lib/code.ex:617: Code.with_diagnostics/2
    (language_server 0.17.10) lib/language_server/build.ex:20: anonymous fn/3 in ElixirLS.LanguageServer.Build.build/3
    (stdlib 5.2) timer.erl:270: :timer.tc/2
    (language_server 0.17.10) lib/language_server/build.ex:10: anonymous fn/3 in ElixirLS.LanguageServer.Build.build/3
    (kernel 9.2) global.erl:477: :global.trans/4

Environment

Zed: v0.118.1 (Zed) OS: macOS 12.7.2 Memory: 16 GiB Architecture: x86_64

Zed: v0.119.16 (Zed Preview) OS: macOS 12.7.2 Memory: 16 GiB Architecture: x86_64

If applicable, add mockups / screenshots to help explain present your vision of the feature

No response

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.

2024-01-24T10:07:28 [INFO] ========== starting zed ==========
2024-01-24T10:07:28 [INFO] Opening main db
2024-01-24T10:07:29 [INFO] Opening main db
2024-01-24T10:07:29 [INFO] set status on client 0: Authenticating
2024-01-24T10:07:29 [INFO] set status on client 79548: Connecting
2024-01-24T10:07:29 [INFO] build git repository ".git"
2024-01-24T10:07:29 [INFO] Opening main db
2024-01-24T10:07:29 [INFO] Opening main db
2024-01-24T10:07:30 [INFO] Node runtime install_if_needed
2024-01-24T10:07:30 [INFO] starting language server "elixir-ls", path: "/Users/user/Documents/dev/elixir-app", id: 1
2024-01-24T10:07:30 [INFO] starting language server "tailwindcss-language-server", path: "/Users/user/Documents/dev/elixir-app", id: 2
2024-01-24T10:07:30 [INFO] connected to rpc endpoint https://collab.zed.dev/rpc
2024-01-24T10:07:30 [INFO] set environment variables from shell:/bin/zsh, path:/Users/user/.asdf/shims:/usr/local/opt/asdf/libexec/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
2024-01-24T10:07:30 [INFO] Node runtime install_if_needed
2024-01-24T10:07:31 [INFO] reload git repository ".git"
2024-01-24T10:07:31 [INFO] add connection to peer
2024-01-24T10:07:31 [INFO] waiting for server hello
2024-01-24T10:07:31 [INFO] got server hello
2024-01-24T10:07:31 [INFO] set status to connected (connection id: ConnectionId { owner_id: 0, id: 0 }, peer id: PeerId { owner_id: 274, id: 29303 })
2024-01-24T10:07:31 [INFO] set status on client 79548: Connected { peer_id: PeerId { owner_id: 274, id: 29303 }, connection_id: ConnectionId { owner_id: 0, id: 0 } }
2024-01-24T10:07:31 [INFO] 0 unhandled notification LogMessage:
{
  "level": 0,
  "message": "[DEBUG] [agent] [2024-01-24T10:07:31.372Z] Agent service starting",
  "metadataStr": "[DEBUG] [agent] [2024-01-24T10:07:31.372Z]",
  "extra": [
    "Agent service starting"
  ]
}
2024-01-24T10:07:31 [INFO] 0 unhandled notification client/registerCapability:
{
  "registrations": [
    {
      "id": "6deea6c6-8569-4668-88fb-5cedba23a232",
      "method": "workspace/didChangeWorkspaceFolders",
      "registerOptions": {}
    }
  ]
}
2024-01-24T10:07:32 [INFO] 0 unhandled notification LogMessage:
{
  "level": 0,
  "message": "[DEBUG] [agent] [2024-01-24T10:07:32.139Z] Telemetry initialized",
  "metadataStr": "[DEBUG] [agent] [2024-01-24T10:07:32.139Z]",
  "extra": [
    "Telemetry initialized"
  ]
}
2024-01-24T10:07:33 [INFO] Node runtime install_if_needed
2024-01-24T10:07:35 [INFO] 2 unhandled notification window/logMessage:
{
  "type": 4,
  "message": "[Global] Creating projects: [{\"folder\":\"/Users/user/Documents/dev/elixir-app\",\"configPath\":\"/Users/user/Documents/dev/elixir-app/assets/tailwind.config.js\",\"isUserConfigured\":false,\"documentSelector\":[{\"pattern\":\"/Users/user/Documents/dev/elixir-app/assets/tailwind.config.js\",\"priority\":0},{\"pattern\":\"/Users/user/Documents/dev/elixir-app/assets/**\",\"priority\":3},{\"pattern\":\"/Users/user/Documents/dev/elixir-app/**\",\"priority\":5}]}]"
}
2024-01-24T10:07:35 [INFO] 2 unhandled notification window/logMessage:
{
  "type": 4,
  "message": "[Global] Adding watch patterns: /Users/user/Documents/dev/elixir-app/assets/tailwind.config.js, /Users/user/Documents/dev/elixir-app/assets, /Users/user/Documents/dev/elixir-app"
}
2024-01-24T10:07:40 [INFO] reload git repository ".git"
2024-01-24T10:07:40 [INFO] reload git repository ".git"
2024-01-24T10:07:40 [INFO] reload git repository ".git"
2024-01-24T10:07:40 [INFO] reload git repository ".git"
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "Started ElixirLS v0.17.10",
  "type": 3
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "Running in /Users/user/Documents/dev/elixir-app",
  "type": 3
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "ElixirLS built with elixir \"1.16.0\" on OTP \"26\"",
  "type": 3
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "Running on elixir \"1.16.0 (compiled with Erlang/OTP 26)\" on OTP \"26\"",
  "type": 3
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "Protocols are not consolidated",
  "type": 3
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/showMessage:
{
  "message": "OTP compiled without EEP48 documentation chunks",
  "type": 2
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "OTP compiled without EEP48 documentation chunks. Language features for erlang modules will run in limited mode. Please reinstall or rebuild OTP with appropriate flags.",
  "type": 2
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "eep48",
  "measurements": {},
  "properties": {
    "elixir_ls.eep48": "false",
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.mix_env": "dev",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification window/logMessage:
{
  "message": "Elixir sources not found (checking in /home/runner/work/elixir/elixir). Code navigation to Elixir modules disabled.",
  "type": 3
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "elixir_sources",
  "measurements": {},
  "properties": {
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_sources": "false",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.mix_env": "dev",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "otp_sources",
  "measurements": {},
  "properties": {
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.mix_env": "dev",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26",
    "elixir_ls.otp_sources": "true"
  }
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "dialyzer_support",
  "measurements": {},
  "properties": {
    "elixir_ls.dialyzer_support": "true",
    "elixir_ls.dialyzer_support_reason": "",
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.mix_env": "dev",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
2024-01-24T10:07:43 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "lsp_request",
  "measurements": {
    "elixir_ls.lsp_request_time": 71
  },
  "properties": {
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.lsp_command": "initialize",
    "elixir_ls.mix_env": "dev",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
2024-01-24T10:07:46 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "lsp_config",
  "measurements": {},
  "properties": {
    "elixir_ls.autoBuild": "true",
    "elixir_ls.autoInsertRequiredAlias": "true",
    "elixir_ls.dialyzerEnabled": "true",
    "elixir_ls.dialyzerFormat": "dialyxir_long",
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.enableTestLenses": "false",
    "elixir_ls.envVariables": "false",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.fetchDeps": "false",
    "elixir_ls.languageServerOverridePath": "false",
    "elixir_ls.mixEnv": "test",
    "elixir_ls.mixTarget": "host",
    "elixir_ls.mix_env": "test",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26",
    "elixir_ls.projectDir": "false",
    "elixir_ls.signatureAfterComplete": "true",
    "elixir_ls.suggestSpecs": "true"
  }
}
2024-01-24T10:07:46 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "lsp_config",
  "measurements": {},
  "properties": {
    "elixir_ls.autoBuild": "true",
    "elixir_ls.autoInsertRequiredAlias": "true",
    "elixir_ls.dialyzerEnabled": "true",
    "elixir_ls.dialyzerFormat": "dialyxir_long",
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.enableTestLenses": "false",
    "elixir_ls.envVariables": "false",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.fetchDeps": "false",
    "elixir_ls.languageServerOverridePath": "false",
    "elixir_ls.mixEnv": "test",
    "elixir_ls.mixTarget": "host",
    "elixir_ls.mix_env": "test",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26",
    "elixir_ls.projectDir": "false",
    "elixir_ls.signatureAfterComplete": "true",
    "elixir_ls.suggestSpecs": "true"
  }
}
2024-01-24T10:07:46 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "lsp_request",
  "measurements": {
    "elixir_ls.lsp_request_time": 55
  },
  "properties": {
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.lsp_command": "textDocument_hover",
    "elixir_ls.mix_env": "test",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
2024-01-24T10:07:46 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "build",
  "measurements": {
    "elixir_ls.build_time": 349
  },
  "properties": {
    "elixir_ls.build_result": "deps_error",
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.mix_env": "test",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
2024-01-24T10:07:56 [INFO] 1 unhandled notification telemetry/event:
{
  "name": "build",
  "measurements": {
    "elixir_ls.build_time": 9764
  },
  "properties": {
    "elixir_ls.build_result": "deps_error",
    "elixir_ls.elixir_release": "1.16",
    "elixir_ls.elixir_version": "1.16.0",
    "elixir_ls.erts_version": "14.2.1",
    "elixir_ls.mix_env": "test",
    "elixir_ls.mix_target": "host",
    "elixir_ls.otp_release": "26"
  }
}
ndan commented 7 months ago

You can use NextLS while waiting for ElixirLS to be fixed.

  "elixir": {
    "lsp": "next_ls"
  }
moomerman commented 7 months ago

You can also delete the ~/Library/Application\ Support/Zed/languages/elixir-ls/ folder and it will download the latest elixir-ls release.

cat ~/Library/Application\ Support/Zed/languages/elixir-ls/elixir-ls/VERSION
0.19.0