Adds tab-completion for Share project/branches/releases on clone/pull/push/lib.install #5782
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
Does what it says on the tin; e.g.
tab-complete.mp4
Supports completing users, projects, branches, contributors and releases.
Implementation notes
This just calls Share's omnisearch under the hood.
Interesting/controversial decisions
Currently this just manually builds the query URLs rather than using a Servant client or w/e;
For critical things the servant client still makes sense, but for things like there where the worst case is just that tab-completion doesn't work it's not a big deal, doing the servant-client version would require moving a ton of APIs from Share to the unison package, and would require stabilizing them them into a versioned UCM API; all of which is just kinda annoying to do.
If we find it's breaking often we can move it in the future, but I don't expect that to be the case.
Test coverage
I don't want automated tests to rely on share availability, so I just tested it manually.
Loose ends
It would be really cool to somehow rig up fzf to this at some point, not quite sure what that'd look like though.