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

20 lines
491 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()
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]
if sc > ec then sc, ec = ec, sc end
if sr > er then sr, er = er, sr end
return { sr = sr, sc = sc, er = er, ec = ec }
end