[PATCH] templater: introduce indent function
Ryan McElroy
rm at fb.com
Fri Apr 10 01:11:20 CDT 2015
On 4/4/2015 6:23 AM, Yuya Nishihara wrote:
> On Sat, 4 Apr 2015 01:19:52 -0700, Ryan McElroy wrote:
>> # HG changeset patch
>> # User Ryan McElroy <rmcelroy at fb.com>
>> # Date 1428134632 25200
>> # Sat Apr 04 01:03:52 2015 -0700
>> # Node ID e2af17e4887916089a49b2d3331a725c840fbce6
>> # Parent 4a4018831d2ebc3c9cae9c6613e6a2497b4f0993
>> templater: introduce indent function
>>
>> diff --git a/mercurial/templater.py b/mercurial/templater.py
>> --- a/mercurial/templater.py
>> +++ b/mercurial/templater.py
>> @@ -301,6 +301,20 @@ def pad(context, mapping, args):
>> else:
>> return text.ljust(width, fillchar)
>>
>> +def indent(context, mapping, args):
>> + """:indent(text, indentchars): Indents all non-empty lines except the first
>> + with the characters given in the indentchars string.
>> + Example: indent('hello\\nworld', ' ') == "hello\\n world"
>> + """
>> + if len(args) != 2:
>> + # i18n: "indent" is a keyword
>> + raise error.ParseError(_("indent() expects two arguments"))
>> +
>> + text = args[0][0](context, mapping, args[0][1])
>> + indent = args[1][0](context, mapping, args[1][1])
> They'll need stringify() to evaluate generator and avoid TypeError.
>
> {indent(sub(desc, "foo", "bar"), " ")}
> {indent(date, " ")}
>
Okay, I'll add this in v2 and add a test. Thanks for noticing.
More information about the Mercurial-devel
mailing list