From 15558cbc2f0264d32ddb1a5941e418092adf5b56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 11 Mar 2023 17:26:15 +0100 Subject: [PATCH] feat(nvim): add advanced-git-search-nvim --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/programs/nvim/default.nix | 1 + .../nvim/plugins/advanced-git-search-nvim.lua | 18 ++++++++++++++++++ overlays/vimPlugins.nix | 6 ++++++ 5 files changed, 47 insertions(+) create mode 100644 modules/programs/nvim/plugins/advanced-git-search-nvim.lua diff --git a/flake.lock b/flake.lock index 9a66708..68ff334 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "advanced-git-search-nvim": { + "flake": false, + "locked": { + "lastModified": 1677794481, + "narHash": "sha256-7G0WNcaIH1/4Zs4282UdWfRExdlAz6AHzqBlSu/qioQ=", + "owner": "aaronhallaert", + "repo": "advanced-git-search.nvim", + "rev": "e36797ade1af3d0404e14db83fd09db4e619e8dc", + "type": "github" + }, + "original": { + "owner": "aaronhallaert", + "repo": "advanced-git-search.nvim", + "type": "github" + } + }, "agenix": { "inputs": { "darwin": "darwin", @@ -840,6 +856,7 @@ }, "root": { "inputs": { + "advanced-git-search-nvim": "advanced-git-search-nvim", "agenix": "agenix", "arkenfox-userjs": "arkenfox-userjs", "asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver", diff --git a/flake.nix b/flake.nix index 6d7c237..4aceb5d 100644 --- a/flake.nix +++ b/flake.nix @@ -87,6 +87,11 @@ flake = false; }; + advanced-git-search-nvim = { + url = "github:aaronhallaert/advanced-git-search.nvim"; + flake = false; + }; + attic = { url = "github:zhaofengli/attic"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 8a6d1cb..0e79f21 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -76,6 +76,7 @@ in plenary-nvim popup-nvim promise-async + vim-fugitive vim-lion ] ++ pluginsWithConfig; }; diff --git a/modules/programs/nvim/plugins/advanced-git-search-nvim.lua b/modules/programs/nvim/plugins/advanced-git-search-nvim.lua new file mode 100644 index 0000000..9959064 --- /dev/null +++ b/modules/programs/nvim/plugins/advanced-git-search-nvim.lua @@ -0,0 +1,18 @@ +require("telescope").load_extension("advanced_git_search") +local advanced_git_search = require("telescope").extensions.advanced_git_search +vim.api.nvim_create_user_command( + "DiffCommitLine", + "lua require('telescope').extensions.advanced_git_search.diff_commit_line()", + { range = true } +) +require("which-key").register({ + g = { + name = "git", + b = { advanced_git_search.diff_branch_file, "diff branch file" }, + l = { vim.cmd.DiffCommitLine, "diff commit line", mode = "v" }, + f = { advanced_git_search.diff_commit_file, "diff commit file" }, + c = { advanced_git_search.search_log_content, "search log content" }, + C = { advanced_git_search.search_log_content_file, "search log content current file" }, + r = { advanced_git_search.checkout_reflog, "checkout reflog" }, + }, +}, { prefix = "" }) diff --git a/overlays/vimPlugins.nix b/overlays/vimPlugins.nix index 6efbecd..b9b6a4c 100644 --- a/overlays/vimPlugins.nix +++ b/overlays/vimPlugins.nix @@ -25,5 +25,11 @@ with lib.my; version = mkVersionInput inputs.lspsaga-nvim; src = inputs.lspsaga-nvim; }); + + advanced-git-search-nvim = prev.vimUtils.buildVimPluginFrom2Nix { + pname = "advanced-git-search-nvim"; + version = mkVersionInput inputs.advanced-git-search-nvim; + src = inputs.advanced-git-search-nvim; + }; }; }