Compare commits
2 commits
a25b541650
...
e7082b885d
Author | SHA1 | Date | |
---|---|---|---|
Bruno BELANYI | e7082b885d | ||
Bruno BELANYI | 65d036f473 |
|
@ -48,4 +48,22 @@ M.list_lsp_clients = function(bufnr)
|
||||||
return names
|
return names
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- partially apply a function with given arguments
|
||||||
|
M.partial = function(f, ...)
|
||||||
|
local a = { ... }
|
||||||
|
local a_len = select("#", ...)
|
||||||
|
|
||||||
|
return function(...)
|
||||||
|
local tmp = { ... }
|
||||||
|
local tmp_len = select("#", ...)
|
||||||
|
|
||||||
|
-- Merge arg lists
|
||||||
|
for i = 1, tmp_len do
|
||||||
|
a[a_len + i] = tmp[i]
|
||||||
|
end
|
||||||
|
|
||||||
|
return f(unpack(a, 1, a_len + tmp_len))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
local gitsigns = require("gitsigns")
|
local gitsigns = require("gitsigns")
|
||||||
|
local utils = require("ambroisie.utils")
|
||||||
local wk = require("which-key")
|
local wk = require("which-key")
|
||||||
|
|
||||||
--- Transform `f` into a function which acts on the current visual selection
|
--- Transform `f` into a function which acts on the current visual selection
|
||||||
|
@ -11,16 +12,14 @@ local function make_visual(f)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function nav_hunk(dir)
|
local function nav_hunk(dir)
|
||||||
return function()
|
if vim.wo.diff then
|
||||||
if vim.wo.diff then
|
local map = {
|
||||||
local map = {
|
prev = "[c",
|
||||||
prev = "[c",
|
next = "]c",
|
||||||
next = "]c",
|
}
|
||||||
}
|
vim.cmd.normal({ map[dir], bang = true })
|
||||||
vim.cmd.normal({ map[dir], bang = true })
|
else
|
||||||
else
|
gitsigns.nav_hunk(dir)
|
||||||
gitsigns.nav_hunk(dir)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -33,8 +32,8 @@ gitsigns.setup({
|
||||||
|
|
||||||
local keys = {
|
local keys = {
|
||||||
-- Navigation
|
-- Navigation
|
||||||
["[c"] = { nav_hunk("prev"), "Previous hunk/diff" },
|
["[c"] = { utils.partial(nav_hunk, "prev"), "Previous hunk/diff" },
|
||||||
["]c"] = { nav_hunk("next"), "Next hunk/diff" },
|
["]c"] = { utils.partial(nav_hunk, "next"), "Next hunk/diff" },
|
||||||
|
|
||||||
-- Commands
|
-- Commands
|
||||||
["<leader>g"] = {
|
["<leader>g"] = {
|
||||||
|
|
Loading…
Reference in a new issue