From 13f4073e88d09e0ea543f8b7ab8e05e992471932 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Wed, 21 Jan 2026 11:54:45 +0100 Subject: [PATCH] Configure jj.nvim --- modules/cli/zsh/default.nix | 2 ++ nvim/lua/plugins/git.lua | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/modules/cli/zsh/default.nix b/modules/cli/zsh/default.nix index 1153f3d..19f8317 100644 --- a/modules/cli/zsh/default.nix +++ b/modules/cli/zsh/default.nix @@ -65,6 +65,8 @@ ja = "jj abandon"; jsq = "jj squash"; jsqi = "jj squash -i"; + jsp = "jj split"; + jspi = "jj split -i"; # k8s k = "kubectl"; diff --git a/nvim/lua/plugins/git.lua b/nvim/lua/plugins/git.lua index 7a1bd9d..bd00283 100644 --- a/nvim/lua/plugins/git.lua +++ b/nvim/lua/plugins/git.lua @@ -83,4 +83,40 @@ return { require("git-conflict").setup(plug.opts) end }, + + { + "jj", + event = "DeferredUIEnter", + opts = {}, + after = function(plug) + require("jj").setup(plug.opt) + + local cmd = require("jj.cmd") + vim.keymap.set("n", "jd", cmd.describe, { desc = "JJ describe" }) + vim.keymap.set("n", "jl", cmd.log, { desc = "JJ log" }) + vim.keymap.set("n", "jL", function() + cmd.log({ revisions = "'all()'" }) + end, { desc = "JJ log all" }) + vim.keymap.set("n", "je", cmd.edit, { desc = "JJ edit" }) + vim.keymap.set("n", "jn", cmd.new, { desc = "JJ new" }) + vim.keymap.set("n", "jsq", cmd.squash, { desc = "JJ squash" }) + vim.keymap.set("n", "ju", cmd.undo, { desc = "JJ undo" }) + vim.keymap.set("n", "jy", cmd.redo, { desc = "JJ redo" }) + vim.keymap.set("n", "jr", cmd.rebase, { desc = "JJ rebase" }) + vim.keymap.set("n", "jbc", cmd.bookmark_create, { desc = "JJ bookmark create" }) + vim.keymap.set("n", "jbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" }) + vim.keymap.set("n", "jbm", cmd.bookmark_move, { desc = "JJ bookmark move" }) + vim.keymap.set("n", "ja", cmd.abandon, { desc = "JJ abandon" }) + vim.keymap.set("n", "jf", cmd.fetch, { desc = "JJ fetch" }) + vim.keymap.set("n", "jp", cmd.push, { desc = "JJ push" }) + vim.keymap.set("n", "jpr", cmd.open_pr, { desc = "JJ PR" }) + vim.keymap.set("n", "jpl", function() + cmd.open_pr({ list_bookmarks = true }) + end, { desc = "JJ PR list" }) + vim.keymap.set("n", "jt", function() + cmd.j("tug") + cmd.log() + end, { desc = "JJ tug" }) + end + }, }