From 9d1cff8b9b5b747d3cba2da15201e359ebea33f7 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sun, 28 Jul 2024 23:38:33 +0200 Subject: [PATCH] Add git plugins --- modules/cli/nvim/lazy-lock.json | 15 ++++---- modules/cli/nvim/lua/plugins/git.lua | 57 ++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 7 deletions(-) diff --git a/modules/cli/nvim/lazy-lock.json b/modules/cli/nvim/lazy-lock.json index c611955..242423a 100644 --- a/modules/cli/nvim/lazy-lock.json +++ b/modules/cli/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { "ReplaceWithRegister": { "branch": "master", "commit": "832efc23111d19591d495dc72286de2fb0b09345" }, - "SchemaStore.nvim": { "branch": "main", "commit": "bb370d8ea2055ec3807205367a91d12b9c13dae9" }, + "SchemaStore.nvim": { "branch": "main", "commit": "6eb8cee613518fb065d23a81d01eeb42365d59c1" }, "auto-save.nvim": { "branch": "main", "commit": "5fe9ab0c42f0457f2a973e814a6352b8eeb04730" }, "blame.nvim": { "branch": "main", "commit": "20cf0918962fa2da787c4b25331f6024d1b1d808" }, "catppuccin": { "branch": "main", "commit": "10eda02ea4faa7d1f94e77a3410a4ae91c25c5f5" }, @@ -12,6 +12,7 @@ "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, "flit.nvim": { "branch": "main", "commit": "a9be4e76c30a128f1e51af448c8321bf8366bcd4" }, "git-conflict.nvim": { "branch": "main", "commit": "45cde6f0acf26d0e4b64acfa45349dd1da01e577" }, + "gitlinker.nvim": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" }, "gitsigns.nvim": { "branch": "main", "commit": "f074844b60f9e151970fbcdbeb8a2cd52b6ef25a" }, "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, "increment-activator": { "branch": "master", "commit": "b49fc24094f93aa29a7592034b97095b709c3528" }, @@ -20,26 +21,26 @@ "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" }, "leap.nvim": { "branch": "main", "commit": "3b1d76ee9cd5a12a8f7a42f0e91124332860205c" }, - "lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" }, "lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" }, "ltex_extra.nvim": { "branch": "dev", "commit": "57192d7ae5ba8cef3c10e90f2cd62d4a7cdaab69" }, "lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, + "mini-git": { "branch": "main", "commit": "45e4c7fad7fa8029959e8a6dced5085a713f3ac0" }, "mini.align": { "branch": "main", "commit": "68a8d3205f0e7ce1bded057f4a851f42ef8fc584" }, - "mini.icons": { "branch": "main", "commit": "352a25dce86c41ab9fe854dd37f60c36ea7048df" }, + "mini.icons": { "branch": "main", "commit": "8d35c9fbcce7f4c2f0404f694441f5782a407496" }, "mini.splitjoin": { "branch": "main", "commit": "db26e1c991ff5f8cf377e800ef7fba6b5618306b" }, - "neogen": { "branch": "main", "commit": "4a2f68d3eae0018b04132f1d4590e51484043354" }, + "neogen": { "branch": "main", "commit": "b2942f546c28fb27525dbdad8656549b9a28c846" }, "noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" }, "nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" }, "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, - "nvim-lspconfig": { "branch": "master", "commit": "9c762dcd457d2ab99edb3f3433cea9865ded47ad" }, + "nvim-lspconfig": { "branch": "master", "commit": "f95d371c1a274f60392edfd8ea5121b42dca736e" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-pqf": { "branch": "main", "commit": "148ee2ca8b06d83fd9bf6f9b9497724ad39a07d6" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, - "nvim-treesitter": { "branch": "master", "commit": "63be47f203d3e9174fdac3872fb9766e5bcc5a11" }, + "nvim-treesitter": { "branch": "master", "commit": "2d5133f67429f82547ea5fad33a0b1e7d4f78a1c" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-type-fmt": { "branch": "main", "commit": "6c1f520f04c1e4f924dae4e822262d7186b5ed59" }, "oil.nvim": { "branch": "master", "commit": "71c972fbd218723a3c15afcb70421f67340f5a6d" }, @@ -47,7 +48,7 @@ "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "statuscol.nvim": { "branch": "0.10", "commit": "b0de00dfcf583bdd94284d844aac1b134d47c578" }, "telescope-fzf-native.nvim": { "branch": "feature/69-prebuilt-release-binaries", "commit": "af1d3c6efa0124123272bba094a60e15682c9cd5" }, - "telescope.nvim": { "branch": "master", "commit": "47ab113de540d1d1d9cdf7dba76dc60ddd808bb8" }, + "telescope.nvim": { "branch": "master", "commit": "10b8a82b042caf50b78e619d92caf0910211973d" }, "todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" }, "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, "ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" }, diff --git a/modules/cli/nvim/lua/plugins/git.lua b/modules/cli/nvim/lua/plugins/git.lua index 08a9d90..7993818 100644 --- a/modules/cli/nvim/lua/plugins/git.lua +++ b/modules/cli/nvim/lua/plugins/git.lua @@ -12,6 +12,7 @@ return { on_attach = function(buffer) local gs = package.loaded.gitsigns + local function map(mode, l, r, desc) vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc }) end @@ -25,6 +26,7 @@ return { map("n", "gR", gs.reset_buffer, "Reset Buffer") map("n", "gp", gs.preview_hunk, "Preview Hunk") map({ "o", "x" }, "ih", ":Gitsigns select_hunk", "Git Select Hunk") + map({ "o", "x" }, "ah", ":Gitsigns select_hunk", "Git Select Hunk") end, }, }, @@ -68,4 +70,59 @@ return { end, }, }, + + { + "ruifm/gitlinker.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + config = true, + keys = { + { "gy", mode = { "n", "v" }, desc = "Yank remote git url" }, + { + "go", + function() + require("gitlinker").get_buf_range_url("n", { + action_callback = require "gitlinker.actions".open_in_browser + }) + end, + mode = "n", + desc = "Open in browser" + }, + { + "go", + function() + require("gitlinker").get_buf_range_url("v", { + action_callback = require "gitlinker.actions".open_in_browser + }) + end, + mode = "v", + desc = "Open in browser" + }, + }, + }, + + { + "echasnovski/mini-git", + main = 'mini.git', + config = true, + cmd = "Git", + keys = { + { + "gi", + function() + require("mini.git").show_at_cursor({}) + end, + desc = "Show info at cursor", + mode = { "n", "x" }, + }, + }, + init = function() + vim.api.nvim_create_autocmd("FileType", { + group = vim.api.nvim_create_augroup("MiniGit", { clear = true }), + pattern = "git", + callback = function() + vim.bo.foldexpr = "v:lua.MiniGit.diff_foldexpr()" + end, + }) + end + }, }