diff options
author | José Valim <jose.valim@dashbit.co> | 2023-05-16 11:52:59 +0200 |
---|---|---|
committer | José Valim <jose.valim@dashbit.co> | 2023-05-16 11:52:59 +0200 |
commit | a0f0f75ee86d01a7ccc7012a1e6cd3f019bd3d43 (patch) | |
tree | 873da86913bd03642d0d1048174362167c0e84b1 /lib/elixir/src/elixir_errors.erl | |
parent | 77c95d529bcb91b2e9190b1546ad60de6c0fb84b (diff) | |
download | elixir-a0f0f75ee86d01a7ccc7012a1e6cd3f019bd3d43.tar.gz |
Add Code.with_diagnostics/2, closes #12276
Diffstat (limited to 'lib/elixir/src/elixir_errors.erl')
-rw-r--r-- | lib/elixir/src/elixir_errors.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/elixir/src/elixir_errors.erl b/lib/elixir/src/elixir_errors.erl index 4a907f207..16874a1d6 100644 --- a/lib/elixir/src/elixir_errors.erl +++ b/lib/elixir/src/elixir_errors.erl @@ -33,7 +33,7 @@ print_diagnostic(#{severity := Severity, message := Message, stacktrace := Stack [["\n ", 'Elixir.Exception':format_stacktrace_entry(E)] || E <- Stacktrace] end, io:put_chars(standard_error, [prefix(Severity), Message, Location, "\n\n"]), - ok. + Diagnostic. emit_diagnostic(Severity, Position, File, Message, Stacktrace) -> Diagnostic = #{ @@ -44,7 +44,11 @@ emit_diagnostic(Severity, Position, File, Message, Stacktrace) -> stacktrace => Stacktrace }, - print_diagnostic(Diagnostic), + case get(elixir_code_diagnostics) of + undefined -> print_diagnostic(Diagnostic); + {Tail, true} -> put(elixir_code_diagnostics, {[print_diagnostic(Diagnostic) | Tail], true}); + {Tail, false} -> put(elixir_code_diagnostics, {[Diagnostic | Tail], false}) + end, case get(elixir_compiler_info) of undefined -> ok; |