Skip to content

Commit

Permalink
feat(ui): added custom commands for lazygit and opening a terminal fo…
Browse files Browse the repository at this point in the history
…r a plugin
  • Loading branch information
folke committed Dec 24, 2022
1 parent 7d02da2 commit be3909c
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 7 deletions.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,31 @@ return {
task = "",
},
throttle = 20, -- how frequently should the ui process render events
custom_keys = {
-- you can define custom key maps here.
-- To disable one of the defaults, set it to false

-- open lazygit log
["<localleader>l"] = function(plugin)
require("lazy.util").open_cmd({ "lazygit", "log" }, {
cwd = plugin.dir,
terminal = true,
close_on_exit = true,
enter = true,
})
end,

-- open a terminal for the plugin dir
["<localleader>t"] = function(plugin)
require("lazy.util").open_cmd({ vim.go.shell }, {
cwd = plugin.dir,
terminal = true,
close_on_exit = true,
enter = true,
})
end,
},
},
diff = {
-- diff command <d> can be one of:
-- * browser: opens the github compare view. Note that this is always mapped to <K> as well,
Expand Down
4 changes: 3 additions & 1 deletion TODO.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## ✅ TODO
# ✅ TODO

- [x] fancy UI to manage all your Neovim plugins
- [x] auto lazy-loading of lua modules
Expand Down Expand Up @@ -46,6 +46,8 @@

- [ ] document highlight groups
- [ ] document user events
- [ ] document API, like lazy.plugins()
- [ ] icons

- [x] check in cache if rtp files match
- [x] I think the installation section, specifically the loading part, could use an
Expand Down
25 changes: 25 additions & 0 deletions lua/lazy/core/config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,31 @@ M.defaults = {
task = "",
},
throttle = 20, -- how frequently should the ui process render events
custom_keys = {
-- you can define custom key maps here.
-- To disable one of the defaults, set it to false

-- open lazygit log
["<localleader>l"] = function(plugin)
require("lazy.util").open_cmd({ "lazygit", "log" }, {
cwd = plugin.dir,
terminal = true,
close_on_exit = true,
enter = true,
})
end,

-- open a terminal for the plugin dir
["<localleader>t"] = function(plugin)
require("lazy.util").open_cmd({ vim.go.shell }, {
cwd = plugin.dir,
terminal = true,
close_on_exit = true,
enter = true,
})
end,
},
},
diff = {
-- diff command <d> can be one of:
-- * browser: opens the github compare view. Note that this is always mapped to <K> as well,
Expand Down
14 changes: 8 additions & 6 deletions lua/lazy/view/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,14 @@ function M.create(opts)
end)

for key, handler in pairs(Config.options.ui.custom_keys) do
self:on_key(key, function()
local plugin = self.render:get_plugin()
if plugin then
handler(plugin)
end
end)
if handler then
self:on_key(key, function()
local plugin = self.render:get_plugin()
if plugin then
handler(plugin)
end
end)
end
end

self:setup_patterns()
Expand Down

0 comments on commit be3909c

Please sign in to comment.