@@ -183,26 +183,19 @@ defmodule ElixirLS.LanguageServer.Tracer do
183
183
{ :error , { :not_a_dets_file , _ } = reason } ->
184
184
Logger . warning ( "Unable to open DETS #{ path } : #{ inspect ( reason ) } " )
185
185
File . rm_rf! ( path )
186
- { :ok , _ } = :dets . open_file ( table_name , opts )
187
186
188
- { :error , { :file_error , _ , :enoent } = reason } ->
189
- Logger . warning ( "Unable to open DETS #{ path } : #{ inspect ( reason ) } " )
190
- :ok = path |> Path . dirname ( ) |> File . mkdir_p ( )
191
187
{ :ok , _ } = :dets . open_file ( table_name , opts )
192
188
end
193
189
194
- Process . sleep ( 200 )
195
-
196
190
case :dets . to_ets ( table_name , table_name ) do
197
191
^ table_name ->
198
192
:ok
199
193
200
194
{ :error , reason } ->
201
195
Logger . warning ( "Unable to read DETS #{ path } : #{ inspect ( reason ) } " )
202
196
File . rm_rf! ( path )
203
- Process . sleep ( 200 )
197
+
204
198
{ :ok , _ } = :dets . open_file ( table_name , opts )
205
- Process . sleep ( 200 )
206
199
^ table_name = :dets . to_ets ( table_name , table_name )
207
200
end
208
201
catch
@@ -239,22 +232,7 @@ defmodule ElixirLS.LanguageServer.Tracer do
239
232
table_name = table_name ( table )
240
233
sync ( table_name )
241
234
242
- case :dets . close ( table_name ) do
243
- :ok ->
244
- :ok
245
-
246
- { :error , reason } ->
247
- Logger . error ( "Unable to close DETS #{ path } , #{ inspect ( reason ) } " )
248
-
249
- JsonRpc . telemetry (
250
- "lsp_server_error" ,
251
- % {
252
- "elixir_ls.lsp_process" => inspect ( __MODULE__ ) ,
253
- "elixir_ls.lsp_server_error" => "Unable to close DETS #{ path } , #{ inspect ( reason ) } "
254
- } ,
255
- % { }
256
- )
257
- end
235
+ :ok = :dets . close ( table_name )
258
236
end
259
237
260
238
defp modules_by_file_matchspec ( file , return ) do
@@ -398,22 +376,8 @@ defmodule ElixirLS.LanguageServer.Tracer do
398
376
end
399
377
400
378
defp sync ( table_name ) do
401
- with :ok <- :dets . from_ets ( table_name , table_name ) ,
402
- :ok <- :dets . sync ( table_name ) do
403
- :ok
404
- else
405
- other ->
406
- Logger . error ( "Unable to sync DETS #{ table_name } , #{ inspect ( other ) } " )
407
-
408
- JsonRpc . telemetry (
409
- "lsp_server_error" ,
410
- % {
411
- "elixir_ls.lsp_process" => inspect ( __MODULE__ ) ,
412
- "elixir_ls.lsp_server_error" => "Unable to sync DETS #{ table_name } , #{ inspect ( other ) } "
413
- } ,
414
- % { }
415
- )
416
- end
379
+ :ok = :dets . from_ets ( table_name , table_name )
380
+ :ok = :dets . sync ( table_name )
417
381
end
418
382
419
383
defp in_project_sources? ( path ) do
@@ -458,15 +422,7 @@ defmodule ElixirLS.LanguageServer.Tracer do
458
422
path = manifest_path ( project_dir )
459
423
File . rm_rf! ( path )
460
424
461
- with :ok <- path |> Path . dirname ( ) |> File . mkdir_p ( ) ,
462
- :ok <- File . write ( path , "#{ @ version } " , [ :write ] ) do
463
- :ok
464
- else
465
- { :error , err } ->
466
- Logger . warning (
467
- "Cannot create manifest .elixir_ls/tracer_db.manifest, cause: #{ Atom . to_string ( err ) } "
468
- )
469
- end
425
+ File . write! ( path , "#{ @ version } " , [ :write ] )
470
426
end
471
427
472
428
def read_manifest ( project_dir ) do
0 commit comments