summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.config/nvim/after/ftplugin/gitcommit.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/.config/nvim/after/ftplugin/gitcommit.lua b/.config/nvim/after/ftplugin/gitcommit.lua
index 856f8bd..0f97d93 100644
--- a/.config/nvim/after/ftplugin/gitcommit.lua
+++ b/.config/nvim/after/ftplugin/gitcommit.lua
@@ -15,10 +15,18 @@ vim.api.nvim_create_autocmd("BufWinEnter", {
group = vim.g.dotfiles.augroup,
buffer = 0,
callback = function()
+ local MIN_COL_FOR_VERTICAL_SPLIT = 200
+ local vert_split = vim.o.columns >= MIN_COL_FOR_VERTICAL_SPLIT
local gitcommit_window = vim.api.nvim_get_current_win()
- -- Open cached diff window
+ -- Open cached diff window (see `:help ft-gitcommit-plugin`)
vim.cmd.DiffGitCached()
- vim.cmd.wincmd("L")
+ vim.opt_local.winfixwidth = false
+ vim.opt_local.winfixheight = false
+ if vert_split then
+ vim.cmd.wincmd("L")
+ else
+ vim.cmd.wincmd("J")
+ end
-- Enable English spell check in the original window
-- If `'spell'` is set before `:DiffGitCached` it propagates to the cached diff window (that we don't want)
vim.api.nvim_set_option_value("spell", true, { win = gitcommit_window })