[user]
name = "Antoine Martin"
email = "antoine@alarsyo.net"

[ui]
diff-editor = ":builtin"
paginate = "auto"
editor = "vim"
pager = "less -FRX"
default-command = "logstatus"

[ui.movement]
edit = false

[git]
subprocess = true

[snapshot]
auto-track = "none()"

[aliases]
pdiff = ["diff", "-r", "@-"]
tug = ["bookmark", "move", "--from", "closest_bookmark(@-)", "--to", "@-"]
ll = ["log", "-T", "builtin_log_detailed"]
l = ["log", "-T", "builtin_log_compact"]
logstatus = ["util", "exec", "--", "sh", "-c", "jj status && jj log"]

[revset-aliases]
'closest_bookmark(to)' = 'heads(::to & bookmarks())'

[templates]
log = "builtin_log_comfortable"

log_node = '''
coalesce(
  if(!self, label("elided", "~")),
  label(
    separate(" ",
      if(current_working_copy, "working_copy"),
      if(immutable, "immutable"),
      if(conflict, "conflict"),
      if(description.starts_with("wip:"), "wip"),
      if(description.starts_with("private:"), "private"),
    ),
    coalesce(
      if(current_working_copy, "@"),
      if(immutable, "◆"),
      if(conflict, "×"),
      if(description.starts_with("wip:"), "!"),
      if(description.starts_with("private:"), "!"),
      "○",
    )
  )
)
'''

draft_commit_description = "commit_description_verbose(self)"

[template-aliases]
"commit_description_verbose(commit)" = '''
concat(
  commit_description(commit),
  "JJ: ignore-rest\n",
  diff.git(),
)
'''
"changelog_entry(file)" = '''
concat(
  "* ",
  f.path(),
  ":\n",
)
'''
"commit_description_changelog(commit)" = '''
concat(
  commit.description(), "\n",
  surround("", "\n", diff.files().map(|f| if(!commit.description().contains(f.path()),
                                             changelog_entry(f)
                                            )
                                     ).join("")),
  "JJ: This commit contains the following changes:\n",
  indent("JJ:    ", diff.stat(72)),
)
'''
"commit_description(commit)" = '''
concat(
  commit.description(), "\n",
  "JJ: This commit contains the following changes:\n",
  indent("JJ:    ", diff.stat(72)),
)
'''

[[--scope]]
--when.repositories = ["~/work/lrde/"]
[--scope.user]
email = "amartin@lrde.epita.fr"

[[--scope]]
--when.repositories = ["~/work/prologin/"]
[--scope.user]
email = "antoine.martin@prologin.org"

[[--scope]]
--when.repositories = ["~/work/epita/"]
[--scope.user]
email = "antoine4.martin@epita.fr"