Unison Local - Search for docs by exact name, not suffix #4485
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.
Overview
Fixes #4277
The local ui would often show the docs for the wrong term if the term-name was a valid suffix of some other definition in your lib (or elsewhere in the project).
Now it doesn't 🎉
Implementation notes
Adds the requirement to specify what kind of search you want when looking up HQ names from a
NamesWithHistory
. It used to ALWAYS do a suffix search, but sometimes you know exactly what you want 👍🏼Share already has the correct behaviour here, but here's the fix for Local.
Test coverage
Tested the reproduction from #4277 against both and it now behaves correctly when:
Controversial opinions
It's slightly more annoying to specify what kind of search you want in all these spots, but I think we'll see even more bugs like this pop up unless we make the caller choose.
Side benefit that it's more performant to look up by the exact name if you know you have it.
Loose ends
None