feat(nvim): keymap changes for git operations
This commit is contained in:
parent
e30f58d181
commit
d8d32f2813
3 changed files with 31 additions and 37 deletions
|
@ -1,4 +1,6 @@
|
||||||
local prefix = "<leader>gC"
|
local prefix_conflicts = "<leader>gc"
|
||||||
|
local prefix_diffs = "<leader>gd"
|
||||||
|
|
||||||
local function toggle_diffview(cmd)
|
local function toggle_diffview(cmd)
|
||||||
if next(require("diffview.lib").views) == nil then
|
if next(require("diffview.lib").views) == nil then
|
||||||
vim.cmd(cmd)
|
vim.cmd(cmd)
|
||||||
|
@ -12,9 +14,9 @@ return {
|
||||||
"sindrets/diffview.nvim",
|
"sindrets/diffview.nvim",
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gD", function() toggle_diffview("DiffviewFileHistory") end, desc = "Diff Repo" },
|
{ prefix_diffs .. "D", function() toggle_diffview("DiffviewFileHistory") end, desc = "Diff Repo" },
|
||||||
{ "<leader>gd", function() toggle_diffview("DiffviewOpen") end, desc = "Diff View" },
|
{ prefix_diffs .. "d", function() toggle_diffview("DiffviewOpen") end, desc = "Diff View" },
|
||||||
{ "<leader>gF", function() toggle_diffview("DiffviewFileHistory %") end, desc = "Diff Current File" },
|
{ prefix_diffs .. "f", function() toggle_diffview("DiffviewFileHistory %") end, desc = "Diff Current File History" },
|
||||||
},
|
},
|
||||||
opts = function(_, opts)
|
opts = function(_, opts)
|
||||||
local actions = require("diffview.actions")
|
local actions = require("diffview.actions")
|
||||||
|
@ -33,24 +35,24 @@ return {
|
||||||
opts.keymaps = {
|
opts.keymaps = {
|
||||||
--stylua: ignore
|
--stylua: ignore
|
||||||
view = {
|
view = {
|
||||||
{ "n", prefix .. "o", actions.conflict_choose("ours"), { desc = "Choose the OURS version of a conflict" } },
|
{ "n", prefix_conflicts .. "o", actions.conflict_choose("ours"), { desc = "Ours" } },
|
||||||
{ "n", prefix .. "t", actions.conflict_choose("theirs"), { desc = "Choose the THEIRS version of a conflict" } },
|
{ "n", prefix_conflicts .. "t", actions.conflict_choose("theirs"), { desc = "Theirs" } },
|
||||||
{ "n", prefix .. "b", actions.conflict_choose("base"), { desc = "Choose the BASE version of a conflict" } },
|
{ "n", prefix_conflicts .. "b", actions.conflict_choose("base"), { desc = "Base" } },
|
||||||
{ "n", prefix .. "a", actions.conflict_choose("all"), { desc = "Choose all the versions of a conflict" } },
|
{ "n", prefix_conflicts .. "a", actions.conflict_choose("all"), { desc = "All" } },
|
||||||
{ "n", prefix .. "x", actions.conflict_choose("none"), { desc = "Delete the conflict region" } },
|
{ "n", prefix_conflicts .. "d", actions.conflict_choose("none"), { desc = "Delete" } },
|
||||||
{ "n", prefix .. "O", actions.conflict_choose_all("ours"), { desc = "Choose the OURS version of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "O", actions.conflict_choose_all("ours"), { desc = "Ours (File)" } },
|
||||||
{ "n", prefix .. "T", actions.conflict_choose_all("theirs"), { desc = "Choose the THEIRS version of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "T", actions.conflict_choose_all("theirs"), { desc = "Theirs (File)" } },
|
||||||
{ "n", prefix .. "B", actions.conflict_choose_all("base"), { desc = "Choose the BASE version of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "B", actions.conflict_choose_all("base"), { desc = "Base (File)" } },
|
||||||
{ "n", prefix .. "A", actions.conflict_choose_all("all"), { desc = "Choose all the versions of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "A", actions.conflict_choose_all("all"), { desc = "All (File)" } },
|
||||||
{ "n", prefix .. "X", actions.conflict_choose_all("none"), { desc = "Delete the conflict region for the whole file" } },
|
{ "n", prefix_conflicts .. "D", actions.conflict_choose_all("none"), { desc = "Delete (File)" } },
|
||||||
},
|
},
|
||||||
--stylua: ignore
|
--stylua: ignore
|
||||||
file_panel = {
|
file_panel = {
|
||||||
{ "n", prefix .. "O", actions.conflict_choose_all("ours"), { desc = "Choose the OURS version of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "O", actions.conflict_choose_all("ours"), { desc = "Ours (File)" } },
|
||||||
{ "n", prefix .. "T", actions.conflict_choose_all("theirs"), { desc = "Choose the THEIRS version of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "T", actions.conflict_choose_all("theirs"), { desc = "Theirs (File)" } },
|
||||||
{ "n", prefix .. "B", actions.conflict_choose_all("base"), { desc = "Choose the BASE version of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "B", actions.conflict_choose_all("base"), { desc = "Base (File)" } },
|
||||||
{ "n", prefix .. "A", actions.conflict_choose_all("all"), { desc = "Choose all the versions of a conflict for the whole file" } },
|
{ "n", prefix_conflicts .. "A", actions.conflict_choose_all("all"), { desc = "All (File)" } },
|
||||||
{ "n", prefix .. "X", actions.conflict_choose_all("none"), { desc = "Delete the conflict region for the whole file" } },
|
{ "n", prefix_conflicts .. "X", actions.conflict_choose_all("none"), { desc = "Delete (File)" } },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
|
@ -68,7 +70,8 @@ return {
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
spec = {
|
spec = {
|
||||||
{ prefix, group = "conflicts", icon = " " },
|
{ prefix_conflicts, group = "conflicts", icon = " " },
|
||||||
|
{ prefix_diffs, group = "diff", icon = " " },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
local prefix = "<leader>gC"
|
local prefix = "<leader>gc"
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
vim.api.nvim_create_autocmd("User", {
|
||||||
pattern = "GitConflictDetected",
|
pattern = "GitConflictDetected",
|
||||||
|
@ -11,27 +11,19 @@ return {
|
||||||
{
|
{
|
||||||
"akinsho/git-conflict.nvim",
|
"akinsho/git-conflict.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
default_mappings = {
|
default_mappings = false,
|
||||||
ours = prefix .. "o",
|
disable_diagnostics = true,
|
||||||
theirs = prefix .. "t",
|
|
||||||
none = prefix .. "n",
|
|
||||||
both = prefix .. "b",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
cmd = {
|
|
||||||
"GitConflictChooseTheirs",
|
|
||||||
"GitConflictChooseOurs",
|
|
||||||
"GitConflictChooseBoth",
|
|
||||||
"GitConflictListQf",
|
|
||||||
"GitConflictRefresh",
|
|
||||||
"GitConflictNextConflict",
|
|
||||||
"GitConflictPrevConflict",
|
|
||||||
},
|
},
|
||||||
|
event = "VeryLazy",
|
||||||
keys = {
|
keys = {
|
||||||
{ "]g", "<cmd>GitConflictNextConflict<cr>", desc = "Next Conflict" },
|
{ "]g", "<cmd>GitConflictNextConflict<cr>", desc = "Next Conflict" },
|
||||||
{ "[g", "<cmd>GitConflictPrevConflict<cr>", desc = "Previous Conflict" },
|
{ "[g", "<cmd>GitConflictPrevConflict<cr>", desc = "Previous Conflict" },
|
||||||
{ prefix .. "l", "<cmd>GitConflictListQf<cr>", desc = "List Conflicts" },
|
{ prefix .. "l", "<cmd>GitConflictListQf<cr>", desc = "List Conflicts" },
|
||||||
{ prefix .. "r", "<cmd>GitConflictRefresh<cr>", desc = "Refresh Conflicts" },
|
{ prefix .. "r", "<cmd>GitConflictRefresh<cr>", desc = "Refresh Conflicts" },
|
||||||
|
{ prefix .. "b", mode = { "n", "v" }, "<cmd>GitConflictChooseBoth<cr>", desc = "Both" },
|
||||||
|
{ prefix .. "o", mode = { "n", "v" }, "<cmd>GitConflictChooseOurs<cr>", desc = "Ours" },
|
||||||
|
{ prefix .. "t", mode = { "n", "v" }, "<cmd>GitConflictChooseTheirs<cr>", desc = "Theirs" },
|
||||||
|
{ prefix .. "n", mode = { "n", "v" }, "<cmd>GitConflictChooseNone<cr>", desc = "None" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -98,7 +98,6 @@ return {
|
||||||
current = false,
|
current = false,
|
||||||
sort_lastused = true,
|
sort_lastused = true,
|
||||||
}) end, desc = "Buffers" },
|
}) end, desc = "Buffers" },
|
||||||
{ "<leader>gB", function() Snacks.picker.git_branches() end, desc = "Git Branches" },
|
|
||||||
{ "<leader>go", function() Snacks.gitbrowse() end, desc = "Git Open Line" },
|
{ "<leader>go", function() Snacks.gitbrowse() end, desc = "Git Open Line" },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue