Skip to content

Commit 0a7555d

Browse files
committed
add terminate handler
1 parent 5522d33 commit 0a7555d

File tree

1 file changed

+29
-1
lines changed
  • apps/language_server/lib/language_server

1 file changed

+29
-1
lines changed

apps/language_server/lib/language_server/parser.ex

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,35 @@ defmodule ElixirLS.LanguageServer.Parser do
5151
{:ok, %{files: %{}, debounce_refs: %{}}}
5252
end
5353

54-
# TODO terminate
54+
@impl GenServer
55+
def terminate(reason, _state) do
56+
case reason do
57+
:normal ->
58+
:ok
59+
60+
:shutdown ->
61+
:ok
62+
63+
{:shutdown, _} ->
64+
:ok
65+
66+
_other ->
67+
message = Exception.format_exit(reason)
68+
69+
JsonRpc.telemetry(
70+
"lsp_server_error",
71+
%{
72+
"elixir_ls.lsp_process" => inspect(__MODULE__),
73+
"elixir_ls.lsp_server_error" => message
74+
},
75+
%{}
76+
)
77+
78+
Logger.info("Terminating #{__MODULE__}: #{message}")
79+
end
80+
81+
:ok
82+
end
5583

5684
@impl true
5785
def handle_cast({:closed, uri}, state = %{files: files, debounce_refs: debounce_refs}) do

0 commit comments

Comments
 (0)