Skip to content

Commit e3ac554

Browse files
committed
increase timeout
return dummy metadata for not supported language ids (e.g. phoenix-heex)
1 parent c7c26b2 commit e3ac554

File tree

1 file changed

+13
-8
lines changed
  • apps/language_server/lib/language_server

1 file changed

+13
-8
lines changed

apps/language_server/lib/language_server/parser.ex

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ defmodule ElixirLS.LanguageServer.Parser do
1212
require Logger
1313

1414
@debounce_timeout 300
15+
@parse_timeout 30_000
16+
17+
@dummy_source ""
18+
@dummy_ast Code.string_to_quoted!(@dummy_source)
19+
@dummy_metadata ElixirSense.Core.Metadata.fill(@dummy_source, MetadataBuilder.build(@dummy_ast))
1520

1621
defmodule Context do
1722
defstruct [
@@ -38,11 +43,11 @@ defmodule ElixirLS.LanguageServer.Parser do
3843
end
3944

4045
def parse_immediate(uri, source_file = %SourceFile{}) do
41-
GenServer.call(__MODULE__, {:parse_immediate, uri, source_file}, 30_000)
46+
GenServer.call(__MODULE__, {:parse_immediate, uri, source_file}, @parse_timeout)
4247
end
4348

4449
def parse_immediate(uri, source_file = %SourceFile{}, position) do
45-
GenServer.call(__MODULE__, {:parse_immediate, uri, source_file, position}, 30_000)
50+
GenServer.call(__MODULE__, {:parse_immediate, uri, source_file, position}, @parse_timeout)
4651
end
4752

4853
@impl true
@@ -168,7 +173,9 @@ defmodule ElixirLS.LanguageServer.Parser do
168173
# not parsing - respond with empty struct
169174
reply = %Context{
170175
source_file: source_file,
171-
path: get_path(uri)
176+
path: get_path(uri),
177+
ast: @dummy_ast,
178+
metadata: @dummy_metadata
172179
}
173180

174181
{reply, state}
@@ -224,7 +231,9 @@ defmodule ElixirLS.LanguageServer.Parser do
224231
# not parsing - respond with empty struct
225232
reply = %Context{
226233
source_file: source_file,
227-
path: get_path(uri)
234+
path: get_path(uri),
235+
ast: @dummy_ast,
236+
metadata: @dummy_metadata
228237
}
229238

230239
{reply, state}
@@ -259,10 +268,6 @@ defmodule ElixirLS.LanguageServer.Parser do
259268
source_file.language_id in ["elixir", "eex", "html-eex"]
260269
end
261270

262-
@dummy_source ""
263-
@dummy_ast Code.string_to_quoted!(@dummy_source)
264-
@dummy_metadata ElixirSense.Core.Metadata.fill(@dummy_source, MetadataBuilder.build(@dummy_ast))
265-
266271
defp maybe_fix_missing_env(
267272
%Context{metadata: metadata, flag: flag, source_file: source_file = %SourceFile{}} =
268273
file,

0 commit comments

Comments
 (0)