From b9c9b15ad752dd4a464fb687fc14e70d77528c55 Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Tue, 22 Apr 2025 13:34:41 +0200 Subject: [PATCH] perf(snippet): use "[count]|" to move cursor #33571 Problem: Flicker when using vim.snippet.jump(). Solution: Pass count instead of multiple keys. (cherry picked from commit d3e495ce03e3389c2c28ffcfe2e41c088a37f1ef) --- runtime/lua/vim/snippet.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/runtime/lua/vim/snippet.lua b/runtime/lua/vim/snippet.lua index 6d572fed34..e84a9e376a 100644 --- a/runtime/lua/vim/snippet.lua +++ b/runtime/lua/vim/snippet.lua @@ -284,9 +284,7 @@ local function select_tabstop(tabstop) --- @param row integer --- @param col integer local function move_cursor_to(row, col) - local line = vim.fn.getline(row) --[[ @as string ]] - col = math.max(vim.fn.strchars(line:sub(1, col)) - 1, 0) - feedkeys(string.format('%sG0%s', row, string.rep('', col))) + feedkeys(string.format('%sG%s|', row, col)) end local range = tabstop:get_range()