97 lines
1.5 KiB
Lua
97 lines
1.5 KiB
Lua
local M = {}
|
|
|
|
M.setup = function(opts) end
|
|
|
|
M.isRightMost = function()
|
|
local curWin = vim.fn.winnr()
|
|
vim.cmd([[wincmd l]])
|
|
local rightWin = vim.fn.winnr()
|
|
if curWin == rightWin then
|
|
return true
|
|
else
|
|
vim.cmd([[wincmd h]])
|
|
return false
|
|
end
|
|
end
|
|
|
|
M.isLeftMost = function()
|
|
local curWin = vim.fn.winnr()
|
|
vim.cmd([[wincmd h]])
|
|
local leftWin = vim.fn.winnr()
|
|
if curWin == leftWin then
|
|
return true
|
|
else
|
|
vim.cmd([[wincmd l]])
|
|
return false
|
|
end
|
|
end
|
|
|
|
M.isBottomMost = function()
|
|
local curWin = vim.fn.winnr()
|
|
vim.cmd([[wincmd j]])
|
|
local bottomWin = vim.fn.winnr()
|
|
if curWin == bottomWin then
|
|
return true
|
|
else
|
|
vim.cmd([[wincmd k]])
|
|
return false
|
|
end
|
|
end
|
|
|
|
M.isTopMost = function()
|
|
local curWin = vim.fn.winnr()
|
|
vim.cmd([[wincmd k]])
|
|
local topWin = vim.fn.winnr()
|
|
if curWin == topWin then
|
|
return true
|
|
else
|
|
vim.cmd([[wincmd j]])
|
|
return false
|
|
end
|
|
end
|
|
|
|
M.ResizeLeft = function()
|
|
if M.isRightMost() then
|
|
if not M.isLeftMost() then
|
|
vim.cmd([[wincmd 5 >]])
|
|
end
|
|
else
|
|
vim.cmd([[wincmd 5 <]])
|
|
end
|
|
end
|
|
|
|
M.ResizeRight = function()
|
|
if M.isRightMost() then
|
|
if not M.isLeftMost() then
|
|
vim.cmd([[wincmd 5 <]])
|
|
end
|
|
else
|
|
vim.cmd([[wincmd 5 >]])
|
|
end
|
|
end
|
|
|
|
M.ResizeUp = function()
|
|
if M.isBottomMost() then
|
|
if not M.isTopMost() then
|
|
vim.cmd([[wincmd 5 +]])
|
|
else
|
|
vim.cmd([[wincmd 5 -]])
|
|
end
|
|
else
|
|
vim.cmd([[wincmd 5 -]])
|
|
end
|
|
end
|
|
|
|
M.ResizeDown = function()
|
|
if M.isBottomMost() then
|
|
if not M.isTopMost() then
|
|
vim.cmd([[wincmd 5 -]])
|
|
else
|
|
vim.cmd([[wincmd 5 +]])
|
|
end
|
|
else
|
|
vim.cmd([[wincmd 5 +]])
|
|
end
|
|
end
|
|
|
|
return M
|