Skip to content

Commit c8fa129

Browse files
committed
fix crash when clearing diagnostics on untitled file
1 parent 3a4d3dc commit c8fa129

File tree

1 file changed

+4
-2
lines changed
  • apps/language_server/lib/language_server

1 file changed

+4
-2
lines changed

apps/language_server/lib/language_server/server.ex

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,7 +1471,8 @@ defmodule ElixirLS.LanguageServer.Server do
14711471
state.dialyzer_sup != nil
14721472
end
14731473

1474-
defp safely_read_file(file) do
1474+
defp safely_read_file("file:" <> _ = uri) do
1475+
file = SourceFile.Path.from_uri(uri)
14751476
case File.read(file) do
14761477
{:ok, text} ->
14771478
if String.valid?(text) do
@@ -1489,6 +1490,7 @@ defmodule ElixirLS.LanguageServer.Server do
14891490
nil
14901491
end
14911492
end
1493+
defp safely_read_file(_uri), do: nil
14921494

14931495
defp publish_diagnostics(state = %__MODULE__{project_dir: project_dir, source_files: source_files, last_published_diagnostics_uris: last_published_diagnostics_uris}) do
14941496
# we need to publish diagnostics for all uris in current diagnostics
@@ -1568,7 +1570,7 @@ defmodule ElixirLS.LanguageServer.Server do
15681570
Diagnostics.publish_file_diagnostics(
15691571
uri,
15701572
uri_diagnostics,
1571-
Map.get_lazy(source_files, uri, fn -> safely_read_file(SourceFile.Path.from_uri(uri)) end),
1573+
Map.get_lazy(source_files, uri, fn -> safely_read_file(uri) end),
15721574
version
15731575
)
15741576

0 commit comments

Comments
 (0)