diff dot_hgrc @ 1080:69ab3fcec57a draft

feat: highlight nodes based on stack state
author Zeger Van de Vannet <zeger@vandevan.net>
date Fri, 21 Feb 2025 10:34:21 +0100
parents 841ee6509f68
children
line wrap: on
line diff
--- a/dot_hgrc	Tue Jan 07 09:11:41 2025 +0100
+++ b/dot_hgrc	Fri Feb 21 10:34:21 2025 +0100
@@ -116,10 +116,11 @@
 
 [templatealias]
 commitinfo = '{date|shortdate} {pad(label("grep.user", author|person), 25, left=True, truncate=True)}  {desc|strip|firstline}'
-stack_state = '{ifcontains("current", state, ifeq(state, "current", state, sub("current ", "", state)), state)}'
+stack_state = '{ifcontains("current", state, ifeq(state, "current", state, sub("current ?", "", state)), state)}'
+stack_label = '{ifcontains("current", state, "current", ifcontains("content divergent", state, "orphan", ifcontains("orphan", state, "orphan", state)))}'
 
 [templates]
-oneline_stack = '{pad("{label("stack.index", "s{stack_index}")}{label("stack.state.{state}", symbol)}", 5, left=True)} {label("stack.state.{state}", pad(stack_state, 8))} {label("stack.state.{state}", node|short)} {commitinfo}\n'
+oneline_stack = '{pad("{label("stack.index", "s{stack_index}")}{label("stack.state.{state}", symbol)}", 5, left=True)} {label("stack.state.{stack_label}", "{pad(stack_state, 8)} {node|short}")} {commitinfo}\n'
 oneline = '{ifcontains(graphnode, "x*", graphnode, ' ')} {label("changeset.{phase}", node|short)} {pad(label("log.branch", fqbn), 30, truncate=True)} {pad(commitinfo, termwidth - 50, truncate=True)}\n'
 
 [color]
@@ -150,6 +151,7 @@
 outgoing = outgoing --template=oneline
 out = outgoing --template=oneline
 mark = resolve --mark
+pushall = !hg --config commands.push.require-revs=no push
 
 [rhg]
 on-unsupported = fallback