@@ -12,6 +12,11 @@ defmodule ElixirLS.LanguageServer.Parser do
12
12
require Logger
13
13
14
14
@ 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 ) )
15
20
16
21
defmodule Context do
17
22
defstruct [
@@ -38,11 +43,11 @@ defmodule ElixirLS.LanguageServer.Parser do
38
43
end
39
44
40
45
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 )
42
47
end
43
48
44
49
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 )
46
51
end
47
52
48
53
@ impl true
@@ -168,7 +173,9 @@ defmodule ElixirLS.LanguageServer.Parser do
168
173
# not parsing - respond with empty struct
169
174
reply = % Context {
170
175
source_file: source_file ,
171
- path: get_path ( uri )
176
+ path: get_path ( uri ) ,
177
+ ast: @ dummy_ast ,
178
+ metadata: @ dummy_metadata
172
179
}
173
180
174
181
{ reply , state }
@@ -224,7 +231,9 @@ defmodule ElixirLS.LanguageServer.Parser do
224
231
# not parsing - respond with empty struct
225
232
reply = % Context {
226
233
source_file: source_file ,
227
- path: get_path ( uri )
234
+ path: get_path ( uri ) ,
235
+ ast: @ dummy_ast ,
236
+ metadata: @ dummy_metadata
228
237
}
229
238
230
239
{ reply , state }
@@ -259,10 +268,6 @@ defmodule ElixirLS.LanguageServer.Parser do
259
268
source_file . language_id in [ "elixir" , "eex" , "html-eex" ]
260
269
end
261
270
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
-
266
271
defp maybe_fix_missing_env (
267
272
% Context { metadata: metadata , flag: flag , source_file: source_file = % SourceFile { } } =
268
273
file ,
0 commit comments