From 99a2f96cf0f54034201b40d878aa9bb21b72cdf2 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 6 Apr 2025 16:04:24 +0200 Subject: [PATCH] plugins/telescope/advanced-git-search: init --- flake/dev/list-plugins/list-plugins.py | 1 + .../extensions/advanced-git-search.nix | 16 ++++++ .../by-name/telescope/extensions/default.nix | 1 + .../by-name/telescope/advanced-git-search.nix | 57 +++++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 plugins/by-name/telescope/extensions/advanced-git-search.nix create mode 100644 tests/test-sources/plugins/by-name/telescope/advanced-git-search.nix diff --git a/flake/dev/list-plugins/list-plugins.py b/flake/dev/list-plugins/list-plugins.py index fdaf886c..37479e0f 100755 --- a/flake/dev/list-plugins/list-plugins.py +++ b/flake/dev/list-plugins/list-plugins.py @@ -77,6 +77,7 @@ KNOWN_PATHS: dict[ ), } for telescope_extension_name, has_depr_warnings in { + "advanced-git-search": False, "file-browser": True, "frecency": True, "fzf-native": True, diff --git a/plugins/by-name/telescope/extensions/advanced-git-search.nix b/plugins/by-name/telescope/extensions/advanced-git-search.nix new file mode 100644 index 00000000..45e4c130 --- /dev/null +++ b/plugins/by-name/telescope/extensions/advanced-git-search.nix @@ -0,0 +1,16 @@ +let + mkExtension = import ./_mk-extension.nix; +in +mkExtension { + name = "advanced-git-search"; + extensionName = "advanced_git_search"; + package = "advanced-git-search-nvim"; + + settingsExample = { + diff_plugin = "diffview"; + git_flags = [ + "-c" + "delta.side-by-side=false" + ]; + }; +} diff --git a/plugins/by-name/telescope/extensions/default.nix b/plugins/by-name/telescope/extensions/default.nix index 568d95b7..a201c953 100644 --- a/plugins/by-name/telescope/extensions/default.nix +++ b/plugins/by-name/telescope/extensions/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./advanced-git-search.nix ./file-browser.nix ./frecency.nix ./fzf-native.nix diff --git a/tests/test-sources/plugins/by-name/telescope/advanced-git-search.nix b/tests/test-sources/plugins/by-name/telescope/advanced-git-search.nix new file mode 100644 index 00000000..bb1a743c --- /dev/null +++ b/tests/test-sources/plugins/by-name/telescope/advanced-git-search.nix @@ -0,0 +1,57 @@ +{ + empty = { + plugins = { + telescope = { + enable = true; + extensions.advanced-git-search.enable = true; + }; + web-devicons.enable = true; + }; + }; + + defaults = { + plugins = { + web-devicons.enable = true; + telescope = { + enable = true; + + extensions.advanced-git-search = { + enable = true; + + settings = { + browse_command = "GBrowse {commit_hash}"; + diff_plugin = "fugitive"; + git_flags = [ ]; + git_diff_flags = [ ]; + git_log_flags = [ ]; + show_builtin_git_pickers = false; + + entry_default_author_or_date = "author"; + keymaps = { + toggle_date_author = ""; + open_commit_in_browser = ""; + copy_commit_hash = ""; + show_entire_commit = ""; + }; + }; + }; + }; + }; + }; + + example = { + plugins = { + web-devicons.enable = true; + telescope = { + enable = true; + + extensions.advanced-git-search = { + enable = true; + + settings = { + }; + }; + }; + }; + }; +}