jj
change
commit b24dd6c9c3d653a20680e342cc58258064e9ec04
author Alpha Chen <alpha@kejadlen.dev>
date
parent cdfe23af
diff --git a/.config/jj/config.toml b/.config/jj/config.toml
new file mode 100644
index 00000000..6ecdb8a6
--- /dev/null
+++ b/.config/jj/config.toml
@@ -0,0 +1,34 @@
+[user]
+name = "Alpha Chen"
+email = "alpha@kejadlen.dev"
+
+[ui]
+diff-editor = ",jj-dirdiff"
+
+[diff.color-words]
+max-inline-alternation = 0
+
+[colors]
+"diff modified" = "blue"
+"diff token" = { underline = false }
+
+[signing]
+backend = "ssh"
+key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCttH8nEfk1uZ2291P4mbCoNcHxnr9iNBlbZckykeZ8"
+backends.ssh.program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
+
+[git]
+sign-on-push = true
+
+[templates]
+draft_commit_description = '''
+concat(
+  description,
+  surround(
+    "\nJJ: This commit contains the following changes:\n", "",
+    indent("JJ:     ", diff.stat(72)),
+  ),
+  "\nJJ: ignore-rest\n",
+  diff.git(),
+)
+'''
diff --git a/.gitignore b/.gitignore
index 06592eb1..a9c24aa7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@ private
 !.config/ghostty
 !.config/irb
 .config/irb/irb_history
+!.config/jj
 !.config/kitty
 !.config/nvim
 !.config/neovide
diff --git a/.gitmodules b/.gitmodules
index a9ba1265..320b91ad 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -154,3 +154,7 @@
 	path = .local/share/nvim/site/pack/alpha/start/mini-align
 	url = https://github.com/echasnovski/mini.align.git
 	branch = main
+[submodule "dirdiff"]
+	path = .local/share/nvim/site/pack/alpha/start/dirdiff
+	url = https://github.com/will133/vim-dirdiff.git
+	branch = master
diff --git a/.local/share/nvim/site/pack/alpha/start/dirdiff b/.local/share/nvim/site/pack/alpha/start/dirdiff
new file mode 160000
index 00000000..84bc8999
--- /dev/null
+++ b/.local/share/nvim/site/pack/alpha/start/dirdiff
@@ -0,0 +1 @@
+Subproject commit 84bc8999fde4b3c2d8b228b560278ab30c7ea4c9
diff --git a/bin/,jj-dirdiff b/bin/,jj-dirdiff
new file mode 100755
index 00000000..6f1f75ba
--- /dev/null
+++ b/bin/,jj-dirdiff
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# https://github.com/jj-vcs/jj/wiki/Vim#dirdiff-plugin
+
+# Shell-escape each path:
+DIR1=$(printf '%q' "$1"); shift
+DIR2=$(printf '%q' "$1"); shift
+nvim "$@" -c "DirDiff $DIR1 $DIR2"