From 51ddf680fe462847be7c7b41af0dd876507bb45d Mon Sep 17 00:00:00 2001 From: zachmahan Date: Sat, 6 Sep 2025 19:50:10 -0400 Subject: [PATCH 1/2] clamp cursor in nvdash to prevent crash --- lua/nvchad/nvdash/init.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lua/nvchad/nvdash/init.lua b/lua/nvchad/nvdash/init.lua index f36f3fb3..549d4656 100644 --- a/lua/nvchad/nvdash/init.lua +++ b/lua/nvchad/nvdash/init.lua @@ -188,7 +188,17 @@ M.open = function(buf, win, action) vim.wo[win].virtualedit = "all" if key_lines[1] then - api.nvim_win_set_cursor(win, { key_lines[1].i, key_lines[1].col }) + local row = key_lines[1].i + local col = key_lines[1].col + + local line = api.nvim_buf_get_lines(buf, row - 1, row, false)[1] or "" + if col > #line then + col = #line + elseif col < 0 then + col = 0 + end + + api.nvim_win_set_cursor(win, { row, col }) end local key_movements = function(n, cmd) From e169d4f71bac3a73f1674d4f87916325ad4e489a Mon Sep 17 00:00:00 2001 From: zachmahan Date: Sat, 6 Sep 2025 19:59:20 -0400 Subject: [PATCH 2/2] clamp key movements --- lua/nvchad/nvdash/init.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lua/nvchad/nvdash/init.lua b/lua/nvchad/nvdash/init.lua index 549d4656..4cef25c7 100644 --- a/lua/nvchad/nvdash/init.lua +++ b/lua/nvchad/nvdash/init.lua @@ -210,10 +210,20 @@ M.open = function(buf, win, action) if cmd and x.cmd then vim.cmd(x.cmd) else - return { x.i, x.col } + local line = api.nvim_buf_get_lines(buf, x.i - 1, x.i, false)[1] or "" + local col = math.max(0, math.min(x.col, #line)) + return { x.i, col } end end end + + if key_lines[1] then + local line = api.nvim_buf_get_lines(buf, key_lines[1].i - 1, key_lines[1].i, false)[1] or "" + local col = math.max(0, math.min(key_lines[1].col, #line)) + return { key_lines[1].i, col } + end + + return { 1, 0 } end map({ "k", "" }, function()