elixir-tools / next-ls

The language server for Elixir that just works. Ready for early adopters!
https://www.elixir-tools.dev/next-ls
MIT License
700 stars 40 forks source link

(Protocol.UndefinedError) protocol Enumerable not implemented for :timeout of type Atom #543

Open iampeter opened 3 months ago

iampeter commented 3 months ago

In Zed, when using next-ls, I am getting the following error:

2024-08-23T10:42:01.49206899+09:30 [WARN] Generic lsp request to Next LS failed: ** (Protocol.UndefinedError) protocol Enumerable not implemented for :timeout of type Atom. This protocol is implemented for the following type(s): DBConnection.PrepareStream, DBConnection.Stream, Date.Range, Exqlite.Stream, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, Jason.OrderedObject, List, Map, MapSet, Range, Stream
    (elixir 1.17.2) lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir 1.17.2) lib/enum.ex:166: Enumerable.reduce/3
    (elixir 1.17.2) lib/enum.ex:4423: Enum.reject/2
    (next_ls 0.23.2) lib/next_ls.ex:244: NextLS.handle_request/2
    (gen_lsp 0.10.0) lib/gen_lsp.ex:350: anonymous fn/2 in GenLSP.loop/3
    (telemetry 1.2.1) /Users/runner/work/next-ls/next-ls/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:349: anonymous fn/7 in GenLSP.loop/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:553: GenLSP.attempt/4
tomekowal commented 2 months ago

I am getting the exact same message. Looking at the source code, the :timeout result is unhandled here: https://github.com/elixir-tools/next-ls/blob/main/lib/next_ls.ex#L244 Another question is what causes the timeout.

Lexical also does not work for me out of the box right now. The only language server that seems to be working out of the box is the default elixir-ls

littleStudent commented 2 months ago

I have the same issue in vscode and cursor for 2-3 months now already. Can we provide any additional information / help?

paskudnyprogramista commented 2 months ago

Any news for this issue?

In my case I have following error when I compile in Zed:

 (Protocol.UndefinedError) protocol Enumerable not implemented for :timeout of type Atom. This protocol is implemented for the following type(s): DBConnection.PrepareStream, DBConnection.Stream, Date.Range, Exqlite.Stream, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, Jason.OrderedObject, List, Map, MapSet, Range, Stream
    (elixir 1.17.2) lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir 1.17.2) lib/enum.ex:166: Enumerable.reduce/3
    (elixir 1.17.2) lib/enum.ex:4423: Enum.reject/2
    (next_ls 0.23.2) lib/next_ls.ex:244: NextLS.handle_request/2
    (gen_lsp 0.10.0) lib/gen_lsp.ex:350: anonymous fn/2 in GenLSP.loop/3
    (telemetry 1.2.1) /private/tmp/next-ls-20240822-9161-v6wlf1/next-ls-0.23.2/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:349: anonymous fn/7 in GenLSP.loop/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:553: GenLSP.attempt/4