Kaynağa Gözat

feat(neovim): add Gitsigns functionality to command palette

Joe 1 yıl önce
ebeveyn
işleme
021fca8364
1 değiştirilmiş dosya ile 24 ekleme ve 5 silme
  1. 24 5
      .config/nvim/lua/plugins/git.lua

+ 24 - 5
.config/nvim/lua/plugins/git.lua

@@ -3,7 +3,7 @@ return {
         "lewis6991/gitsigns.nvim",
         enabled = true,
         lazy = false,
-        dependencies = { "nvim-telescope/telescope.nvim" },
+        dependencies = { "nvim-telescope/telescope.nvim", { "command-palette" } },
         config = function(_, opts)
             local gitsigns = require("gitsigns")
             gitsigns.setup {
@@ -28,6 +28,7 @@ return {
             local finders = require("telescope.finders")
             local conf = require("telescope.config").values
             local entry_display = require("telescope.pickers.entry_display")
+            local palette = require("command-palette")
 
             local open_picker = function(title, command)
                 local displayer = entry_display.create({
@@ -89,13 +90,31 @@ return {
                     end
                 }):find()
             end
-            vim.keymap.set("n", "Sgd",
+            local open_diff_picker =
                 function()
                     open_picker("Gitsigns Diff", "diff")
-                end)
-            vim.keymap.set("n", "Sgb", function()
+                end
+            local open_base_picker = function()
                 open_picker("Gitsigns Change Base", "base")
-            end)
+            end
+            vim.keymap.set("n", "Sgd", open_diff_picker)
+            vim.keymap.set("n", "Sgb", open_base_picker)
+            palette.add({
+                {
+                    "Gitsigns", "", {
+                    {
+                        "Diff file",
+                        "Open the Gitsigns differ for this file",
+                        open_diff_picker
+                    },
+                    {
+                        "Change diff base",
+                        "Change base branch for Gitsigns to diff again",
+                        open_base_picker
+                    }
+                }
+                }
+            })
         end
     }
 }