Skip to content

Customizing

Essential Settings

User Option: majutsu-jj-executable

Path to the jj binary (default: "jj").

User Option: majutsu-jj-global-arguments

Global arguments passed to all jj commands (default: ("--no-pager" "--color=always")).

User Option: majutsu-jj-diffstat-columns

Column width used only for jj diff --stat (default: 80). Set to nil to inherit terminal width. Raise it if you want more full path visibility; keep it near 80 if you prefer compact stat bars.

User Option: majutsu-transient-default-action

Key used for primary/default action suffixes in Majutsu transients (default: RET). Set it to another key description, such as ., to move the default action key.

User Option: majutsu-show-process-buffer-hint

Whether to append a process-buffer hint to jj errors. The displayed key is resolved from the active bindings, so Vanilla normally shows $ and Evil normally shows `.

User Option: majutsu-debug

Enable debug logging for jj operations.

User Option: majutsu-show-command-output

Show jj command output in messages.

Confirmation Settings

User Option: majutsu-confirm-critical-actions

If non-nil, prompt for confirmation before critical operations like abandon, undo, redo, rebase.

User Option: majutsu-no-confirm

A list of symbols for actions Majutsu should not confirm, or t to never confirm. Valid symbols: undo, redo, abandon, bookmark-delete, tag-delete, git-remote-remove, rebase, workspace-forget, and workspace-trash.

User Option: majutsu-slow-confirm

A list from the same action set that should use yes-or-no-p instead of y-or-n-p, or t for all of them.

Process Options

User Option: majutsu-process-popup-time

Popup the process buffer if a command takes longer than this many seconds. -1 means never, 0 means immediately.

User Option: majutsu-process-log-max

Maximum number of sections to keep in a process log buffer (default: 32).

User Option: majutsu-process-apply-ansi-colors

When non-nil, convert ANSI escapes in jj output to text properties.

User Option: majutsu-process-timestamp-format

Format string for process log section timestamps.

User Option: majutsu-jj-environment

Extra KEY=VALUE entries prepended to subprocess environments for all jj invocations (local and TRAMP), applied centrally by majutsu-process.

Display Options

User Option: majutsu-log-commit-columns

Flat log row column declarations controlling templates, modules, face policy, and postprocessing. For protocol details, module semantics, and examples, see Inspecting -> Log Buffer.

Template family: majutsu-log-template-<field>

Template forms consumed by log fields. For newline and control-character rules, see Inspecting -> Log Buffer.

User Option: majutsu-log-sections-hook

Hook run to insert sections in the log buffer.

User Option: majutsu-display-buffer-function

Magit-style display strategy (default: majutsu-display-buffer-traditional). Built-in alternatives are majutsu-display-buffer-same-window-except-diff-v1, majutsu-display-buffer-fullframe-log-v1, majutsu-display-buffer-fullframe-log-topleft-v1, majutsu-display-buffer-fullcolumn-most-v1, and display-buffer.

User Option: majutsu-pre-display-buffer-hook

Hook run before displaying a buffer.

User Option: majutsu-post-display-buffer-hook

Normal hook run after displaying a buffer.

User Option: majutsu-bury-buffer-function

Function used by q to bury/quit Majutsu buffers (default: majutsu-mode-quit-window; alternatives include quit-window and majutsu-restore-window-configuration).

Diff Options

User Option: majutsu-diff-refine-hunk

Whether to show word-granularity differences inside hunks. nil disables, t refines the current hunk, and 'all refines all hunks.

User Option: majutsu-diff-fontify-hunk

Whether to apply syntax highlighting to diff hunks. nil disables, t fontifies a hunk when it becomes current, and 'all fontifies all hunks immediately. This is synchronous and can be slow on large diffs.

User Option: majutsu-diff-refine-ignore-whitespace

Whether to ignore whitespace while refining hunks.

User Option: majutsu-diff-paint-whitespace

Whether to highlight whitespace issues inside diff hunks.

User Option: majutsu-diff-highlight-trailing

Whether to mark trailing whitespace in diff hunks.

Buffer Hooks

User Option: majutsu-create-buffer-hook

Normal hook run when a new Majutsu buffer is created.

User Option: majutsu-setup-buffer-hook

Normal hook run after displaying the buffer.

User Option: majutsu-post-create-buffer-hook

Normal hook run after the initial refresh.

User Option: majutsu-refresh-buffer-hook

Normal hook run after refreshing.

Description Options

User Option: majutsu-jjdescription-major-mode

Major mode used for editing JJ description buffers (default: text-mode).

User Option: majutsu-jjdescription-summary-max-length

Column beyond which summary line characters are highlighted (default: 68, same as Magit). Set this option to nil to disable highlighting; zero highlights the entire nonempty summary.

User Option: majutsu-jjdescription-fill-column

Local fill-column used in JJ description buffers (default: 72). A positive integer enables Auto Fill for the body but never folds the summary line; filling is delegated to the selected major mode, so constructs that mode protects (such as Org headings, tables, and blocks) remain intact. Set this option to nil to disable Auto Fill and leave the buffer's current fill-column unchanged.

User Option: majutsu-jjdescription-comment-prefix

Comment prefix used in JJ description buffers (default: "JJ:").

Face: majutsu-jjdescription-change-id-face

Face used for JJ Change ID values.

Minor mode: global-majutsu-jjdescription-mode

Global minor mode to enable JJ description buffer enhancements.

Evil Integration

User Option: majutsu-evil-enable-integration

Set to nil to disable automatic Evil bindings.

User Option: majutsu-evil-initial-state

The Evil state to start in (default: normal).

When Evil integration is enabled, the dispatcher displays and accepts the same Evil-facing top-level keys used in Majutsu buffers, including x, L, _, *, u, C-r, and `. The global Evil v binding remains Visual state; open evolog from the dispatcher with ? v.