Skip to content

Commit 2fb89d5

Browse files
committed
do not crash if project dir cannot be changed to
1 parent 7b87d8a commit 2fb89d5

File tree

1 file changed

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

1 file changed

+9
-2
lines changed

apps/language_server/lib/language_server/server.ex

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1679,8 +1679,15 @@ defmodule ElixirLS.LanguageServer.Server do
16791679
state
16801680

16811681
is_nil(prev_project_dir) ->
1682-
File.cd!(project_dir)
1683-
%{state | project_dir: File.cwd!(), mix_project?: File.exists?(MixfileHelpers.mix_exs())}
1682+
with :ok <- File.cd(project_dir),
1683+
{:ok, resolved_project_dir} <- File.cwd() do
1684+
%{state | project_dir: resolved_project_dir, mix_project?: File.exists?(MixfileHelpers.mix_exs())}
1685+
else
1686+
{:error, reason} ->
1687+
JsonRpc.show_message(:error, "Unable to change directory into #{project_dir}: #{inspect(reason)}. " <>
1688+
"Please make sure the directory exists and you have necessary permissions")
1689+
state
1690+
end
16841691

16851692
prev_project_dir != project_dir ->
16861693
JsonRpc.show_message(

0 commit comments

Comments
 (0)