summaryrefslogtreecommitdiff
path: root/lua/warp/col_selectors/grid.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/warp/col_selectors/grid.lua')
-rw-r--r--lua/warp/col_selectors/grid.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/lua/warp/col_selectors/grid.lua b/lua/warp/col_selectors/grid.lua
index ce99b96..7ad5847 100644
--- a/lua/warp/col_selectors/grid.lua
+++ b/lua/warp/col_selectors/grid.lua
@@ -44,7 +44,18 @@ M.strategy = function()
display = function()
local curpos = vim.api.nvim_win_get_cursor(0)
local line_at = vim.fn.getline(curpos[1])
- local unfiltered = big_line:sub(1, #line_at + 1)
+ local current_win = vim.api.nvim_get_current_win();
+ local wininfo = vim.fn.getwininfo(current_win)[1]
+
+ local width = wininfo.width - wininfo.textoff
+ if vim.o.virtualedit ~= 'all' then
+ width = math.min(#line_at + 1, width)
+ end
+ if vim.o.virtualedit == 'onemore' then
+ width = width + 1
+ end
+
+ local unfiltered = big_line:sub(1, width)
local line = unfiltered
if filter then