Skip to content
slackline edited this page Dec 22, 2024 · 13 revisions

project.el

Emacs modes like eglot, the first-party LSP integration, rely on project.el to discover workspace roots. PR for JJ project root detecting is merged. but not included in released version(Planed to included on v2.9). Install projectile from git or add below codes on your emacs config. project.el's heuristics include checks for .git, which will fail in jj repositories that are not colocated. This can be addressed by adding ".jj" to project-vc-extra-root-markers, e.g.:

(use-package project
  :config
  (add-to-list 'project-vc-extra-root-markers ".jj"))

Projectile, an alternative package for project management, has built-in recognition of .jj as being workspace roots already.

ediff as a merge tool

.jjconfig.toml

[merge-tools.ediff]
program = 'sh'
merge-args = ['-c',
  'emacsclient -c --eval "(ediff-merge-files-with-ancestor \"$0\" \"$1\" \"$2\" nil \"$3\")"',
  '$left', '$right', '$base', '$output']

jujutsushi

jujutsushi - A emacs interface to jujutsu is an Emacs package for working with jj from within Emacs.

jujutsu.el

jujutsu.el: An Emacs interface for jujutsu, inspired by magit and humbly not attempting to match it in scope.

Clone this wiki locally