feat: use vim.uv.spawn instead of vim.fn.jobstart #53
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.
The current code uses
vim.schedule_wrap
to callvim.fn.jobstart
for runningrg
. This can be replaced byuv.spawn
that can be called “in fast event”. This makes it runrg
as soon as cmp starts to complete.But this change has 2 problems.
vim.fn.json_decode
cannot be called in fast event. We should always usevim.json.decode
, so we must remove support for Neovim older than v0.6.uv.spawn
always run a process directly (without shell). Nowadditional_arguments
option should be an array instead of string.I think benefits we can get by this change are larger than these breaking changes.