From 97af93b2a8ebc89364852e3f63e9fd8cfedaeedf Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Mon, 9 Jun 2025 13:43:45 +0300 Subject: =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D1=91=D0=BB=20dotfiles?= =?UTF-8?q?=20=D0=BD=D0=B0=20stow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/nvim/lua/myplugins/resize.lua | 97 ++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 config/nvim/lua/myplugins/resize.lua (limited to 'config/nvim/lua/myplugins/resize.lua') diff --git a/config/nvim/lua/myplugins/resize.lua b/config/nvim/lua/myplugins/resize.lua new file mode 100644 index 0000000..8af6c3b --- /dev/null +++ b/config/nvim/lua/myplugins/resize.lua @@ -0,0 +1,97 @@ +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 -- cgit v1.2.3