mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +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:
		 TheBlob42
					TheBlob42
				
			
				
					committed by
					
						![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
			
				
	
			
			
			![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
						parent
						
							6b820258cd
						
					
				
				
					commit
					2e4baa3679
				
			| @@ -119,7 +119,7 @@ local Tabstop = {} | |||||||
| function Tabstop.new(index, bufnr, range, choices) | function Tabstop.new(index, bufnr, range, choices) | ||||||
|   local extmark_id = vim.api.nvim_buf_set_extmark(bufnr, snippet_ns, range[1], range[2], { |   local extmark_id = vim.api.nvim_buf_set_extmark(bufnr, snippet_ns, range[1], range[2], { | ||||||
|     right_gravity = true, |     right_gravity = true, | ||||||
|     end_right_gravity = true, |     end_right_gravity = false, | ||||||
|     end_line = range[3], |     end_line = range[3], | ||||||
|     end_col = range[4], |     end_col = range[4], | ||||||
|     hl_group = hl_group, |     hl_group = hl_group, | ||||||
| @@ -170,7 +170,7 @@ function Tabstop:set_right_gravity(right_gravity) | |||||||
|   local range = self:get_range() |   local range = self:get_range() | ||||||
|   self.extmark_id = vim.api.nvim_buf_set_extmark(self.bufnr, snippet_ns, range[1], range[2], { |   self.extmark_id = vim.api.nvim_buf_set_extmark(self.bufnr, snippet_ns, range[1], range[2], { | ||||||
|     right_gravity = right_gravity, |     right_gravity = right_gravity, | ||||||
|     end_right_gravity = true, |     end_right_gravity = not right_gravity, | ||||||
|     end_line = range[3], |     end_line = range[3], | ||||||
|     end_col = range[4], |     end_col = range[4], | ||||||
|     hl_group = hl_group, |     hl_group = hl_group, | ||||||
|   | |||||||
| @@ -249,7 +249,11 @@ describe('vim.snippet', function() | |||||||
|     feed('<Tab>') |     feed('<Tab>') | ||||||
|     poke_eventloop() |     poke_eventloop() | ||||||
|     feed(',2') |     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) |   end) | ||||||
|  |  | ||||||
|   it('updates snippet state when built-in completion menu is visible', function() |   it('updates snippet state when built-in completion menu is visible', function() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user