File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed
apps/language_server/lib/language_server Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -1097,12 +1097,14 @@ defmodule ElixirLS.LanguageServer.Server do
1097
1097
enable_dialyzer =
1098
1098
Dialyzer . check_support ( ) == :ok && Map . get ( settings , "dialyzerEnabled" , true )
1099
1099
1100
+ env_vars = Map . get ( settings , "envVariables" )
1100
1101
mix_env = Map . get ( settings , "mixEnv" , "test" )
1101
1102
mix_target = Map . get ( settings , "mixTarget" )
1102
1103
project_dir = Map . get ( settings , "projectDir" )
1103
1104
1104
1105
state =
1105
1106
state
1107
+ |> maybe_set_env_vars ( env_vars )
1106
1108
|> set_mix_env ( mix_env )
1107
1109
|> maybe_set_mix_target ( mix_target )
1108
1110
|> set_project_dir ( project_dir )
@@ -1127,6 +1129,20 @@ defmodule ElixirLS.LanguageServer.Server do
1127
1129
end
1128
1130
end
1129
1131
1132
+ defp maybe_set_env_vars ( state = % __MODULE__ { } , nil ) , do: state
1133
+
1134
+ defp maybe_set_env_vars ( state = % __MODULE__ { } , env ) do
1135
+ prev_env = state . settings [ "envVariables" ]
1136
+
1137
+ if is_nil ( prev_env ) or env == prev_env do
1138
+ System . put_env ( env )
1139
+ else
1140
+ JsonRpc . show_message ( :warning , "You must restart ElixirLS after changing environment variables" )
1141
+ end
1142
+
1143
+ state
1144
+ end
1145
+
1130
1146
defp set_mix_env ( state = % __MODULE__ { } , env ) do
1131
1147
prev_env = state . settings [ "mixEnv" ]
1132
1148
You can’t perform that action at this time.
0 commit comments