Support for line completion (<C-x><C-l>) #3048
Merged
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.
What this PR does / why we need it:
This adds support for Vim's line completion mode:
The line completion hotkey
<C-x><C-l>
opens up a Quick Pick menu. Standard autocompletion wasn't used because extensions like ours can't limit the suggestions to just our own. I tried implementing it that way at first, and results were overwhelming. Quick Pick has the added benefit of being able to do additional searching within the list, so I actually prefer it for this use case.Completions come from vscode's open editors list. The current file is prioritized, and search starts from the cursor position.
See a video here:
Which issue(s) this PR fixes
#2141 - Just the line completion aspect.
Special notes for your reviewer:
I realized in testing it is slightly different than vanilla Vim, as results closest to the cursor are prioritized, but I'm leaving it as is and am happy to hear feedback. Usually I'd change it to mirror Vim, though in this case I think that is a worse experience (I'd be more likely to use a completion just below the cursor than at bottom of the file).