18 lines
713 B
Lua
18 lines
713 B
Lua
local cr = vim.api.nvim_replace_termcodes("<CR>", true, false, true)
|
|
|
|
vim.keymap.set("n", "<CR>", function()
|
|
local worktree = vim.b.git_worktree
|
|
-- Anchor past the leading graph chars (matches the leading sha column,
|
|
-- not any hex word that happens to appear later in the subject).
|
|
local sha = worktree
|
|
and vim.api
|
|
.nvim_get_current_line()
|
|
:match("^[*|/\\_ ]*(%x%x%x%x%x%x%x+)")
|
|
if sha then
|
|
require("git.show").open_commit(worktree, sha, { split = false })
|
|
else
|
|
-- "n" mode = no remap, so this doesn't recurse into our mapping.
|
|
vim.api.nvim_feedkeys(cr, "n", false)
|
|
end
|
|
end, { buffer = 0, silent = true, desc = "Open commit" })
|