mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
fix(snippet): setting end_right_gravity (#35061)
When right_gravity is set to true for deactivating tabstop expansion we
have to set end_right_gravity to false to avoid expanding the tabstop
region on the right side. Vice versa for activating tabstop expansion
again.
(cherry picked from commit dff78f580d
)
This commit is contained in:

committed by
github-actions[bot]
![github-actions[bot]](/assets/img/avatar_default.png)
parent
6b820258cd
commit
2e4baa3679
@@ -119,7 +119,7 @@ local Tabstop = {}
|
||||
function Tabstop.new(index, bufnr, range, choices)
|
||||
local extmark_id = vim.api.nvim_buf_set_extmark(bufnr, snippet_ns, range[1], range[2], {
|
||||
right_gravity = true,
|
||||
end_right_gravity = true,
|
||||
end_right_gravity = false,
|
||||
end_line = range[3],
|
||||
end_col = range[4],
|
||||
hl_group = hl_group,
|
||||
@@ -170,7 +170,7 @@ function Tabstop:set_right_gravity(right_gravity)
|
||||
local range = self:get_range()
|
||||
self.extmark_id = vim.api.nvim_buf_set_extmark(self.bufnr, snippet_ns, range[1], range[2], {
|
||||
right_gravity = right_gravity,
|
||||
end_right_gravity = true,
|
||||
end_right_gravity = not right_gravity,
|
||||
end_line = range[3],
|
||||
end_col = range[4],
|
||||
hl_group = hl_group,
|
||||
|
@@ -249,7 +249,11 @@ describe('vim.snippet', function()
|
||||
feed('<Tab>')
|
||||
poke_eventloop()
|
||||
feed(',2')
|
||||
eq({ 'for i=1,10,2 do', '\t', 'end' }, buf_lines(0))
|
||||
-- Make sure changes on previous tabstops does not change following ones
|
||||
feed('<S-Tab>')
|
||||
poke_eventloop()
|
||||
feed('20')
|
||||
eq({ 'for i=1,20,2 do', '\t', 'end' }, buf_lines(0))
|
||||
end)
|
||||
|
||||
it('updates snippet state when built-in completion menu is visible', function()
|
||||
|
Reference in New Issue
Block a user