77 lines
2.8 KiB
Lua
77 lines
2.8 KiB
Lua
|
|
local cmd = require("jj.cmd")
|
|
local annotate = require("jj.annotate")
|
|
|
|
vim.keymap.set("n", "<leader>va", annotate.file, { desc = "JJ annotate file" })
|
|
vim.keymap.set("n", "<leader>vA", annotate.line, { desc = "JJ annotate line" })
|
|
vim.keymap.set("n", "<leader>vbc", cmd.bookmark_create, { desc = "JJ bookmark create" })
|
|
vim.keymap.set("n", "<leader>vbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" })
|
|
vim.keymap.set("n", "<leader>vbm", cmd.bookmark_move, { desc = "JJ bookmark move" })
|
|
vim.keymap.set("n", "<leader>vd", cmd.describe, { desc = "JJ describe" })
|
|
vim.keymap.set("n", "<leader>vl", cmd.log, { desc = "JJ log" })
|
|
vim.keymap.set("n", "<leader>ve", cmd.edit, { desc = "JJ edit" })
|
|
vim.keymap.set("n", "<leader>vn", cmd.new, { desc = "JJ new" })
|
|
vim.keymap.set("n", "<leader>vs", cmd.status, { desc = "JJ status" })
|
|
vim.keymap.set("n", "<leader>vS", cmd.squash, { desc = "JJ squash" })
|
|
vim.keymap.set("n", "<leader>vju", cmd.undo, { desc = "JJ undo" })
|
|
vim.keymap.set("n", "<leader>vjr", cmd.redo, { desc = "JJ redo" })
|
|
vim.keymap.set("n", "<leader>vr", cmd.rebase, { desc = "JJ rebase" })
|
|
vim.keymap.set("n", "<leader>vf", cmd.fetch, { desc = "JJ fetch" })
|
|
vim.keymap.set("n", "<leader>vx", cmd.abandon, { desc = "JJ abandon" })
|
|
vim.keymap.set("n", "<leader>vp", cmd.push, { desc = "JJ push" })
|
|
vim.keymap.set("n", "<leader>vpr", cmd.open_pr, { desc = "JJ open PR from bookmark in current revision or parent" })
|
|
vim.keymap.set("n", "<leader>vpl", function()
|
|
cmd.open_pr { list_bookmarks = true }
|
|
end, { desc = "JJ open PR listing available bookmarks" })
|
|
|
|
|
|
-- Diff commands
|
|
local diff = require("jj.diff")
|
|
vim.keymap.set("n", "<leader>vjd", function() diff.open_vdiff() end, { desc = "JJ diff current buffer" })
|
|
vim.keymap.set("n", "<leader>vjD", function() diff.open_hsplit() end, { desc = "JJ hdiff current buffer" })
|
|
|
|
-- Pickers
|
|
local picker = require("jj.picker")
|
|
vim.keymap.set("n", "<leader>vjs", function() picker.status() end, { desc = "JJ Picker status" })
|
|
vim.keymap.set("n", "<leader>vjh", function() picker.file_history() end, { desc = "JJ Picker history" })
|
|
|
|
-- Some functions like `log` can take parameters
|
|
vim.keymap.set("n", "<leader>vL", function()
|
|
cmd.log {
|
|
revisions = "all()", -- equivalent to jj log -r ::
|
|
}
|
|
end, { desc = "JJ log all" })
|
|
|
|
|
|
-- This is an alias i use for moving bookmarks its so good
|
|
vim.keymap.set("n", "<leader>vt", function()
|
|
cmd.j "tug"
|
|
cmd.log {}
|
|
end, { desc = "JJ tug" })
|
|
|
|
require("jj").setup({
|
|
diff = {
|
|
backend = "native",
|
|
},
|
|
cmd = {
|
|
describe = {
|
|
editor = {
|
|
type = "buffer",
|
|
}
|
|
}
|
|
},
|
|
describe = {
|
|
editor = {
|
|
type = "buffer",
|
|
}
|
|
}
|
|
})
|
|
|
|
require("hunk").setup()
|
|
require('jjsigns').setup({
|
|
enabled = true,
|
|
attach = {
|
|
auto = false,
|
|
}
|
|
})
|