Please complete these steps and check these boxes (by putting an x inside
the brackets) before filing your PR:
[x] I have read and understood YCM's CONTRIBUTING document.
[x] I have read and understood YCM's CODE_OF_CONDUCT document.
[x] I have included tests for the changes in my PR. If not, I have included a
rationale for why I haven't.
[x] I understand my PR may be closed if it becomes obvious I didn't
actually perform all of these steps.
Why this change is necessary and useful
If a line for which detailed diagnostics are requested contains more than a single diagnostic with the same message, YCM will try options.pop( 'col' ) more than once.
We do not need to really iterate through the diagnostics once we have found the first one that is a match. If there's only one diag with the matching message, looping beyond that diagnostic is just a waste of time. If there's multiple diagnostics with the same message, it does not matter which one we display in the popup.
PR Prelude
Thank you for working on YCM! :)
Please complete these steps and check these boxes (by putting an
x
inside the brackets) before filing your PR:Why this change is necessary and useful
If a line for which detailed diagnostics are requested contains more than a single diagnostic with the same message, YCM will try
options.pop( 'col' )
more than once.We do not need to really iterate through the diagnostics once we have found the first one that is a match. If there's only one diag with the matching message, looping beyond that diagnostic is just a waste of time. If there's multiple diagnostics with the same message, it does not matter which one we display in the popup.
Hence, the added break at the end of the loop.
This change is![Reviewable](https://reviewable.io/review_button.svg)