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
180180 main_loop ( state )
181181 end
182182
183+ def all_warns , do: @ default_warns ++ @ non_default_warns
184+
183185 def matching_tags ( warn_opts ) do
184186 default_warns =
185187 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
17871787 else
17881788 IO . warn ( "Invalid `dialyzerWarnOpts` #{ inspect ( dialyzer_warn_opts ) } " )
17891789 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
17901808 end
17911809
17921810 dialyzer_formats = [
You can’t perform that action at this time.
0 commit comments