-- This plugin aims to be something like vim-fugitive but for driving the jj-vcs CLI. -- https://github.com/NicolasGB/jj.nvim return { "jj.nvim", cmd = { "J" }, after = function() require("jj").setup({ ["describe_editor"] = "input" }) local jj = require("jj.cmd") vim.keymap.set("n", "jl", jj.log, { desc = "JJ log" }) vim.keymap.set("n", "jl", jj.log, { desc = "JJ log" }) vim.keymap.set("n", "jd", jj.describe, { desc = "JJ describe" }) vim.keymap.set("n", "je", jj.edit, { desc = "JJ edit" }) vim.keymap.set("n", "jn", jj.new, { desc = "JJ new" }) vim.keymap.set("n", "js", jj.status, { desc = "JJ status" }) vim.keymap.set("n", "dj", jj.diff, { desc = "JJ diff" }) vim.keymap.set("n", "sj", jj.squash, { desc = "JJ squash" }) -- Pickers local picker = require("jj.picker") vim.keymap.set("n", "gj", picker.status, { desc = "JJ Picker status" }) vim.keymap.set("n", "gl", picker.file_history, { desc = "JJ Picker file history" }) -- Some functions like `describe` or `log` can take parameters vim.keymap.set("n", "jL", function() jj.log({ revisions = "'all()'", }) end, { desc = "JJ log all" }) -- tug is an alias to move a bookmark vim.keymap.set("n", "jt", function() local cmd = require("jj.cmd") cmd.j("tug") cmd.log({}) end, { desc = "JJ tug" }) end, }