make sure parens can match ?(

This commit is contained in:
adam j hartz 2016-03-02 21:44:12 -05:00
parent c7a61c3728
commit e770e90fe7

View file

@ -213,6 +213,7 @@ def handle_question(state, token, stream):
yield _new_token('DOUBLE_QUESTION', '??', token.start)
elif (n is not None and n.type == tokenize.OP
and n.string == '(' and n.start == token.end):
state['pymode'].append((False, '?(', ')', token.start))
state['last'] = n
yield _new_token('QUESTION_LPAREN', '?(', token.start)
else:
@ -521,6 +522,7 @@ class Lexer(object):
'DOUBLE_QUESTION', # ??
'AT_LPAREN', # @(
'DOLLAR_NAME', # $NAME
'QUESTION_LPAREN', # ?(
'DOLLAR_LPAREN', # $(
'DOLLAR_LBRACE', # ${
'DOLLAR_LBRACKET', # $[