Skip to content

Commit 8b3256a

Browse files
committed
fix a common crash with dynamic module name
1 parent c2feeb3 commit 8b3256a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

apps/language_server/lib/language_server/providers/document_symbols.ex

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -526,12 +526,16 @@ defmodule ElixirLS.LanguageServer.Providers.DocumentSymbols do
526526
"[" <> list_stringified <> "]"
527527
end
528528

529-
defp extract_module_name({:__aliases__, location, [{:__MODULE__, _, nil} = head | tail]}) do
529+
defp extract_module_name({:__aliases__, location, [head | tail]}) when not is_atom(head) do
530530
extract_module_name(head) <> "." <> extract_module_name({:__aliases__, location, tail})
531531
end
532532

533533
defp extract_module_name({:__aliases__, _location, module_names}) do
534-
Enum.join(module_names, ".")
534+
if Enum.all?(module_names, &is_atom/1) do
535+
Enum.join(module_names, ".")
536+
else
537+
"# unknown"
538+
end
535539
end
536540

537541
defp extract_module_name({:__MODULE__, _location, nil}) do

0 commit comments

Comments
 (0)