mercurial/templates/map-cmdline.status
author Yuya Nishihara <yuya@tcha.org>
Sat, 27 Jun 2015 17:25:01 +0900
changeset 25705 48919d246a47
parent 25628 9c647f427aef
child 29000 2d3837a4bded
permissions -rw-r--r--
revset: add function to build dict of positional and keyword arguments Keyword arguments will be convenient for functions that will take more than one optional or boolean flags. For example, file(pattern[, subrepos=false]) subrepo([[pattern], status]) Because I don't think all functions should accept key=value syntax, getkwargs() does not support variadic functions such as 'ancestor(*changeset)'. The core logic is placed in the parser module because keyword arguments will be more useful in the templater, where functions take more options. Test cases will be added by the next patch.

%include map-cmdline.default

# Override base templates
changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{summary}{lfiles}\n'
changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{description}{lfiles}\n'
changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{extras}{description}{lfiles}\n'

# Override the file templates
lfiles = '{if(files,
              label('ui.note log.files',
                    'files:\n'))}{lfile_mods}{lfile_adds}{lfile_copies_switch}{lfile_dels}'

# Exclude copied files, will display those in lfile_copies_switch
lfile_adds  = '{file_adds % "{ifcontains(file, file_copies_switch,
                                         '',
                                         '{lfile_add}')}"}'
lfile_add = '{label("status.added", "A {file}\n")}'

lfile_copies_switch = '{file_copies_switch % "{lfile_copy_orig}{lfile_copy_dest}"}'
lfile_copy_orig = '{label("status.added", "A {name}\n")}'
lfile_copy_dest = '{label("status.copied", "  {source}\n")}'

lfile_mods = '{file_mods % "{label('status.modified', 'M {file}\n')}"}'

lfile_dels = '{file_dels % "{label('status.removed', 'R {file}\n')}"}'