diff options
| author | 2025-05-29 14:53:31 +0300 | |
|---|---|---|
| committer | 2025-05-29 14:53:31 +0300 | |
| commit | ed137a15ff54dd4fc9a30183d9d626ae6f0cff50 (patch) | |
| tree | d84002bcf418ad6c09c0e163f75a869006c3fc84 /nvim/lua/myplugins/resize.lua | |
| parent | Обновления конфигов (diff) | |
| download | dotfiles-ed137a15ff54dd4fc9a30183d9d626ae6f0cff50.tar.gz dotfiles-ed137a15ff54dd4fc9a30183d9d626ae6f0cff50.tar.bz2 dotfiles-ed137a15ff54dd4fc9a30183d9d626ae6f0cff50.tar.xz dotfiles-ed137a15ff54dd4fc9a30183d9d626ae6f0cff50.zip | |
29.05.2025
Diffstat (limited to 'nvim/lua/myplugins/resize.lua')
| -rw-r--r-- | nvim/lua/myplugins/resize.lua | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/nvim/lua/myplugins/resize.lua b/nvim/lua/myplugins/resize.lua new file mode 100644 index 0000000..8af6c3b --- /dev/null +++ b/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 |
