mercurial/templater.py
changeset 21821 4a445dc5abff
parent 21798 f2c617ff2abc
child 21822 028a48105191
equal deleted inserted replaced
21820:cce404b0c918 21821:4a445dc5abff
   464     pat = stringify(args[0][0](context, mapping, args[0][1]))
   464     pat = stringify(args[0][0](context, mapping, args[0][1]))
   465     rpl = stringify(args[1][0](context, mapping, args[1][1]))
   465     rpl = stringify(args[1][0](context, mapping, args[1][1]))
   466     src = stringify(_evalifliteral(args[2], context, mapping))
   466     src = stringify(_evalifliteral(args[2], context, mapping))
   467     yield re.sub(pat, rpl, src)
   467     yield re.sub(pat, rpl, src)
   468 
   468 
       
   469 def startswith(context, mapping, args):
       
   470     if len(args) != 2:
       
   471         raise error.ParseError(_("startswith expects two arguments"))
       
   472 
       
   473     patn = stringify(args[0][0](context, mapping, args[0][1]))
       
   474     text = stringify(args[1][0](context, mapping, args[1][1]))
       
   475     if text.startswith(patn):
       
   476         return text
       
   477     return ''
       
   478 
       
   479 
   469 methods = {
   480 methods = {
   470     "string": lambda e, c: (runstring, e[1]),
   481     "string": lambda e, c: (runstring, e[1]),
   471     "rawstring": lambda e, c: (runrawstring, e[1]),
   482     "rawstring": lambda e, c: (runrawstring, e[1]),
   472     "symbol": lambda e, c: (runsymbol, e[1]),
   483     "symbol": lambda e, c: (runsymbol, e[1]),
   473     "group": lambda e, c: compileexp(e[1], c),
   484     "group": lambda e, c: compileexp(e[1], c),
   488     "label": label,
   499     "label": label,
   489     "pad": pad,
   500     "pad": pad,
   490     "revset": revset,
   501     "revset": revset,
   491     "rstdoc": rstdoc,
   502     "rstdoc": rstdoc,
   492     "shortest": shortest,
   503     "shortest": shortest,
       
   504     "startswith": startswith,
   493     "strip": strip,
   505     "strip": strip,
   494     "sub": sub,
   506     "sub": sub,
   495 }
   507 }
   496 
   508 
   497 # template engine
   509 # template engine