From 942e334cb57e1ceff45111ed73d18591347dc313 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 17 Apr 2024 20:11:56 +0100 Subject: [PATCH] Re-add vim-fugitive This reverts commit 75f3877a13bfdc48787b69bd121331bd01ec24e3. --- after/plugin/fugitive.lua | 23 +++++++++++++++++++++++ after/plugin/gitsigns.lua | 18 +++++++++--------- lib/default.nix | 1 + 3 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 after/plugin/fugitive.lua diff --git a/after/plugin/fugitive.lua b/after/plugin/fugitive.lua new file mode 100644 index 0000000..18df603 --- /dev/null +++ b/after/plugin/fugitive.lua @@ -0,0 +1,23 @@ +vim.keymap.set("n", "gc", "Git commitK") +vim.keymap.set("n", "gs", "GitK") + +vim.api.nvim_create_autocmd("BufWinEnter", { + pattern = "*", + + callback = function() + if vim.bo.ft ~= "fugitive" then + return + end + + local bufnr = vim.api.nvim_get_current_buf() + local opts = { buffer = bufnr, remap = false } + + vim.keymap.set("n", "p", function() + vim.cmd.Git "push" + end, opts) + + vim.keymap.set("n", "P", function() + vim.cmd.Git { "pull", "--rebase" } + end, opts) + end, +}) diff --git a/after/plugin/gitsigns.lua b/after/plugin/gitsigns.lua index 44fd8a4..1d5389d 100644 --- a/after/plugin/gitsigns.lua +++ b/after/plugin/gitsigns.lua @@ -15,22 +15,22 @@ local vmap = require("opdavies.keymap").vmap nmap { "[h", "Gitsigns prev_hunk" } nmap { "]h", "Gitsigns next_hunk" } -nmap { "gR", gitsigns.reset_buffer } -nmap { "gS", gitsigns.stage_buffer } -nmap { "gb", gitsigns.blame_line } -nmap { "gp", gitsigns.preview_hunk } -nmap { "gr", gitsigns.reset_hunk } -nmap { "gs", gitsigns.stage_hunk } -nmap { "gu", gitsigns.undo_stage_hunk } +nmap { "hR", gitsigns.reset_buffer } +nmap { "hS", gitsigns.stage_buffer } +nmap { "hb", gitsigns.blame_line } +nmap { "hp", gitsigns.preview_hunk } +nmap { "hr", gitsigns.reset_hunk } +nmap { "hs", gitsigns.stage_hunk } +nmap { "hu", gitsigns.undo_stage_hunk } vmap { - "gr", + "hr", function() gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } end, } vmap { - "gs", + "hs", function() gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } end, diff --git a/lib/default.nix b/lib/default.nix index 32e10e0..8ee5294 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -153,6 +153,7 @@ in rec { # Git vimPlugins.committia-vim vimPlugins.diffview-nvim + vimPlugins.vim-fugitive # Debugging vimPlugins.nvim-dap