From eceed512c16132bbaeadd591695e83cdb205ca79 Mon Sep 17 00:00:00 2001 From: Matt Baker Date: Mon, 19 Oct 2020 10:40:38 -0700 Subject: [PATCH] Bypass file_server for some file existence checks (#390) --- apps/language_server/lib/language_server/diagnostics.ex | 2 +- .../lib/language_server/providers/workspace_symbols.ex | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/language_server/lib/language_server/diagnostics.ex b/apps/language_server/lib/language_server/diagnostics.ex index d5e33f300..6027c61ed 100644 --- a/apps/language_server/lib/language_server/diagnostics.ex +++ b/apps/language_server/lib/language_server/diagnostics.ex @@ -114,7 +114,7 @@ defmodule ElixirLS.LanguageServer.Diagnostics do defp file_path(file, root_path) do path = Path.join([root_path, file]) - if File.exists?(path) do + if File.exists?(path, [:raw]) do {:ok, path} else file_path_in_umbrella(file, root_path) diff --git a/apps/language_server/lib/language_server/providers/workspace_symbols.ex b/apps/language_server/lib/language_server/providers/workspace_symbols.ex index 4ebabc071..b35ac683f 100644 --- a/apps/language_server/lib/language_server/providers/workspace_symbols.ex +++ b/apps/language_server/lib/language_server/providers/workspace_symbols.ex @@ -253,7 +253,7 @@ defmodule ElixirLS.LanguageServer.Providers.WorkspaceSymbols do with true <- Code.ensure_loaded?(module), path when not is_nil(path) <- module.module_info(:compile)[:source], path_binary = List.to_string(path), - true <- File.exists?(path_binary) do + true <- File.exists?(path_binary, [:raw]) do path_binary else _ -> nil @@ -265,7 +265,7 @@ defmodule ElixirLS.LanguageServer.Providers.WorkspaceSymbols do with beam_file when not is_nil(beam_file) <- ErlangSourceFile.get_beam_file(module, beam_file), erl_file = ErlangSourceFile.beam_file_to_erl_file(beam_file), - true <- File.exists?(erl_file) do + true <- File.exists?(erl_file, [:raw]) do erl_file else _ -> nil