1 -- This plugin aims to be something like vim-fugitive but for driving the jj-vcs CLI.
2 -- https://github.com/NicolasGB/jj.nvim
7 require("jj").setup({ ["describe_editor"] = "input" })
8 local jj = require("jj.cmd")
9 vim.keymap.set("n", "<leader>jl", jj.log, { desc = "JJ log" })
10 vim.keymap.set("n", "<leader>jl", jj.log, { desc = "JJ log" })
11 vim.keymap.set("n", "<leader>jd", jj.describe, { desc = "JJ describe" })
12 vim.keymap.set("n", "<leader>je", jj.edit, { desc = "JJ edit" })
13 vim.keymap.set("n", "<leader>jn", jj.new, { desc = "JJ new" })
14 vim.keymap.set("n", "<leader>js", jj.status, { desc = "JJ status" })
15 vim.keymap.set("n", "<leader>dj", jj.diff, { desc = "JJ diff" })
16 vim.keymap.set("n", "<leader>sj", jj.squash, { desc = "JJ squash" })
19 local picker = require("jj.picker")
20 vim.keymap.set("n", "<leader>gj", picker.status, { desc = "JJ Picker status" })
21 vim.keymap.set("n", "<leader>gl", picker.file_history, { desc = "JJ Picker file history" })
23 -- Some functions like `describe` or `log` can take parameters
24 vim.keymap.set("n", "<leader>jL", function()
26 revisions = "'all()'",
28 end, { desc = "JJ log all" })
30 -- tug is an alias to move a bookmark
31 vim.keymap.set("n", "<leader>jt", function()
32 local cmd = require("jj.cmd")
35 end, { desc = "JJ tug" })