view mercurial/templates/map-cmdline.show @ 32059:0ea1d9a750da stable

show: add basic labels to work template `hg show work` is much more usable if output is colored. This patch implements coloring via label() in a very hacky way. In a default Mercurial install, you'll see yellow node labels for all phases. Branches and bookmarks use the same formatting as the commit message. So this change doesn't help much in a default install. But if you have a custom colors defined for these things, output is much more readable. The implementation obviously needs some work. But for a minor change on a feature that isn't convered by BC, this seems like a clear win for the feature in 4.2.
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 18 Apr 2017 11:10:08 -0700
parents 0bb157bebb43
children 11f768258dcc
line wrap: on
line source

# TODO there are a few deficiencies in this file:
# * Due to the way the file is loaded, references to other entities in the
#   template doesn't work. That requires us to inline.
# * The "namespace" of the labels needs to be worked out. We currently
#   piggyback on existing values so color works.
# * Obsolescence isn't considered for node labels. See _cset_labels in
#   map-cmdline.default.
showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, 5)}\n'
showwork = '{label("log.changeset changeset.{phase}", shortest(node, 5))}{if(branches, " ({label("log.branch", branch)})")}{if(bookmarks, " ({label("log.bookmarks", bookmarks)})")} {label("log.description", desc|firstline)}'