Skip to content

Commit b6963bb

Browse files
committed
fix: add timeout parameter to GenLSP.request/3
1 parent 34fdf5a commit b6963bb

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

lib/gen_lsp.ex

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,16 +229,20 @@ defmodule GenLSP do
229229
})
230230
```
231231
'''
232-
@spec request(GenLSP.LSP.t(), request :: any()) :: any()
233-
def request(%{buffer: buffer}, request) do
232+
@spec request(GenLSP.LSP.t(), request :: any(), timeout :: atom() | non_neg_integer()) :: any()
233+
def request(%{buffer: buffer}, request, timeout \\ :infinity) do
234234
Logger.debug("sent request server -> client #{request.method}",
235235
id: request.id,
236236
method: request.method
237237
)
238238

239239
:telemetry.span([:gen_lsp, :request, :server], %{}, fn ->
240240
result =
241-
GenLSP.Buffer.outgoing_sync(buffer, dump!(request.__struct__.schematic(), request))
241+
GenLSP.Buffer.outgoing_sync(
242+
buffer,
243+
dump!(request.__struct__.schematic(), request),
244+
timeout
245+
)
242246

243247
{result, %{id: request.id, method: request.method}}
244248
end)

lib/gen_lsp/buffer.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ defmodule GenLSP.Buffer do
4848
end
4949

5050
@doc false
51-
def outgoing_sync(server, packet) do
52-
GenServer.call(server, {:outgoing_sync, packet})
51+
def outgoing_sync(server, packet, timeout \\ :infinity) do
52+
GenServer.call(server, {:outgoing_sync, packet}, timeout)
5353
end
5454

5555
@doc false

0 commit comments

Comments
 (0)