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 ef28ff277..507c1c4be 100644 --- a/apps/language_server/lib/language_server/providers/workspace_symbols.ex +++ b/apps/language_server/lib/language_server/providers/workspace_symbols.ex @@ -348,13 +348,8 @@ defmodule ElixirLS.LanguageServer.Providers.WorkspaceSymbols do end defp query(query, server) do - case String.trim(query) do - "" -> - [] - - trimmed -> - GenServer.call(server, {:query, trimmed}) - end + trimmed = String.trim(query) + GenServer.call(server, {:query, trimmed}) end defp index(module_paths) do @@ -437,6 +432,11 @@ defmodule ElixirLS.LanguageServer.Providers.WorkspaceSymbols do :ok end + @spec get_results(state_t, String.t()) :: [symbol_information_t] + defp get_results(state, "") do + (state.modules ++ state.functions ++ state.types ++ state.callbacks) + end + @spec get_results(state_t, String.t()) :: [symbol_information_t] defp get_results(state, query) do query_downcase = String.downcase(query) diff --git a/apps/language_server/test/providers/workspace_symbols_test.exs b/apps/language_server/test/providers/workspace_symbols_test.exs index dcf86a3af..b581f031f 100644 --- a/apps/language_server/test/providers/workspace_symbols_test.exs +++ b/apps/language_server/test/providers/workspace_symbols_test.exs @@ -35,7 +35,9 @@ defmodule ElixirLS.LanguageServer.Providers.WorkspaceSymbolsTest do end test "empty query", %{server: server} do - assert {:ok, []} == WorkspaceSymbols.symbols("", server) + {status, all_symbols} = WorkspaceSymbols.symbols("", server) + assert :ok == status + assert 11 == length(all_symbols) assert_receive %{ "method" => "window/logMessage",