comparison mercurial/parser.py @ 26231:87c9c562c37a

parser: move unescape helper from templater revset and fileset have a similar problem, so let's make it a common helper function.
author Yuya Nishihara <yuya@tcha.org>
date Thu, 10 Sep 2015 23:25:10 +0900
parents 7448df709b2e
children 639e0f1e8ffa
comparison
equal deleted inserted replaced
26230:6b16a3538c20 26231:87c9c562c37a
120 "argument '%(key)s'") 120 "argument '%(key)s'")
121 % {'func': funcname, 'key': k}) 121 % {'func': funcname, 'key': k})
122 args[k] = x[2] 122 args[k] = x[2]
123 return args 123 return args
124 124
125 def unescapestr(s):
126 try:
127 return s.decode("string_escape")
128 except ValueError as e:
129 # mangle Python's exception into our format
130 raise error.ParseError(str(e).lower())
131
125 def _prettyformat(tree, leafnodes, level, lines): 132 def _prettyformat(tree, leafnodes, level, lines):
126 if not isinstance(tree, tuple) or tree[0] in leafnodes: 133 if not isinstance(tree, tuple) or tree[0] in leafnodes:
127 lines.append((level, str(tree))) 134 lines.append((level, str(tree)))
128 else: 135 else:
129 lines.append((level, '(%s' % tree[0])) 136 lines.append((level, '(%s' % tree[0]))