fix: blame incompatible neovim function #1406
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.
This PR addresses #1405 and #1388, which are caused by the incompatible function signature
vim.str_utfindex
in Neovim v0.11.vim.str_utfindex
before 0.11:vim.str_utfindex
since 0.11:At first, I considered simply using a helper function to wrap the incompatible functions, but that felt too tedious for such a common task. Then I found the vimscript API function
vim.fn.strdisplaywidth
, which seems to do the job and makes more sense in this context.You can find these implementations in the two separate commits. Both commits work fine.
Vim functions: strchars vs strwidth vs strlen vs strdisplaywidth for reference.
Also, many thanks to Lewis. Gitsigns is awesome!