A customizable telescope.nvim extension to list the git submodules of your current project and interact with them through the git TUI of your choice through toggleterm.nvim.
features.mp4Using lazy.nvim
return { "nvim-telescope/telescope.nvim", dependencies = { { "agoodshort/telescope-git-submodules.nvim", dependencies = "akinsho/toggleterm.nvim", }, }, config = function() require("telescope").load_extension("git_submodules") end, }
The extension comes with the following defaults:
require("telescope").setup({ extensions = { git_submodules = { git_cmd = "lazygit", previewer = true, terminal_id = 9, terminal_display_name = "Lazygit", diffview_keymap = "<C-d>", }, }, })Property Type Default Value Description git_cmd string? "lazygit" git TUI command of your choice previewer boolean? true Preview submodule changes in Telescope terminal_id number? 9 Terminal ID toggleterm will use terminal_display_name string? "Lazygit" Terminal display name toggleterm will use diffview_keymap string? "" Keymap to trigger
:diffviewOpen -C<path>
for the highlighted submodule
The extension integrates pretty well (at least from my personal experience) with nvim-unception, if the same terminal_id
value is used in both configurations. Example in agoodshort's nvim-unception configuration
If you have diffview.nvim, you can use the diffview_keymap
to trigger :diffviewOpen -C<path>
for the highlighted submodule.
:diffviewOpen
to origin/HEAD
Inspired by lazygit.nvim
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4