File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed
apps/language_server/lib/language_server Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -180,6 +180,8 @@ defmodule ElixirLS.LanguageServer.Dialyzer.Analyzer do
180
180
main_loop ( state )
181
181
end
182
182
183
+ def all_warns , do: @ default_warns ++ @ non_default_warns
184
+
183
185
def matching_tags ( warn_opts ) do
184
186
default_warns =
185
187
unless :persistent_term . get ( :language_server_test_mode , false ) do
Original file line number Diff line number Diff line change @@ -1787,6 +1787,24 @@ defmodule ElixirLS.LanguageServer.Server do
1787
1787
else
1788
1788
IO . warn ( "Invalid `dialyzerWarnOpts` #{ inspect ( dialyzer_warn_opts ) } " )
1789
1789
end
1790
+
1791
+ all_warns = ElixirLS.LanguageServer.Dialyzer.Analyzer . all_warns ( ) |> Enum . map ( & to_string / 1 )
1792
+
1793
+ for opt <- dialyzer_warn_opts , opt not in all_warns do
1794
+ Logger . error ( "Invalid `dialyzerWarnOpts`: unknown warning option `#{ opt } `" )
1795
+
1796
+ JsonRpc . show_message (
1797
+ :error ,
1798
+ "Invalid `dialyzerWarnOpts` in configuration. Unknown warning option `#{ opt } `."
1799
+ )
1800
+
1801
+ unless :persistent_term . get ( :language_server_test_mode , false ) do
1802
+ Process . sleep ( 2000 )
1803
+ System . halt ( 1 )
1804
+ else
1805
+ IO . warn ( "Invalid `dialyzerWarnOpts`: unknown warning option `#{ opt } `" )
1806
+ end
1807
+ end
1790
1808
end
1791
1809
1792
1810
dialyzer_formats = [
You can’t perform that action at this time.
0 commit comments