dotfiles/nvim/lua/config/helpers/visual.lua

20 lines
484 B
Lua
Raw Normal View History

2024-01-26 17:47:29 +01:00
---@class VisualArea
---@field sr number Start row
---@field sc number Start col
---@field er number End row
---@field ec number End col
---Get current visual selection area
---@return VisualArea
return function()
2024-06-13 21:48:16 +02:00
local select = vim.fn.getpos 'v'
local cursor = vim.fn.getpos '.'
local sr, er = select[2], cursor[2]
local sc, ec = select[3], cursor[3]
2024-01-26 17:47:29 +01:00
2024-06-13 21:48:16 +02:00
if sc > ec then sc, ec = ec, sc end
if sr > er then sr, er = er, sr end
2024-01-26 17:47:29 +01:00
2024-06-13 21:48:16 +02:00
return { sr = sr, sc = sc, er = er, ec = ec }
2024-01-26 17:47:29 +01:00
end