Plugin for neovim for "interactive commits".
By default it uses a custom flavor of conventional commits (check the config commit_types
)
Note: If an error occured on commit the last commit is stored (for the current session) and on restore you will be asked what to do with it:
- Lazy:
require('lazy').setup({
{
'melmass/icommit.nvim',
opts = {},
dependencies = {
'MunifTanjim/nui.nvim',
}
}
)
This is the default config:
{
command_name = "Icommit",
-- check for staged file at each run.
-- This is quite slow and the reason for the restore system.
check_staged = false,
-- If you completely want to override the commit_types set this to true
-- otherwise commit_types you provide are merged to the defaults
skip_core_types = false,
commit_types = {
feat = "✨",
fix = "🐛",
ci = "🤖",
docs = "📚",
style = "💎",
refactor = "📦",
test = "🚨",
tag = "🔖",
chore = "🧹",
revert = "⏪",
perf = "🚀",
wip = "🚧",
release = "📦",
},
-- Default keymaps to select, close or submit a pane
keymap = {
focus_next = { "j", "<Down>", "<Tab>" },
focus_prev = { "k", "<Up>", "<S-Tab>" },
close = { "<Esc>", "<C-c>" },
submit = { "<CR>" },
},
}