Report bsp diagnostics in end of incremental cycle #782
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
...instead of reporting at the end of the compilation.
This commit intends to report as early as possible in the case where
several expensive incremental cycles are triggered. An example of this
case can be found in scalameta/metals#438
What this PR does is conceptually simple:
that comply with any of these requirements:
nothing as problems have already been reported by
logFull
)(bloop appropriately clears diagnostics)
reportAllPreviousProblems
is true. This happens in the firstcompilation of a target via BSP and it's only done at the end of the
compilation, so in every intermediate incremental cycle it's false.
This bit of logic avoids repeating the handling of reported problems.
This change is already tested by our previous infrastructure.