mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-06 12:54:29 +08:00
Make the prefix parsing a bit simpler by combining tabs and spaces.
This commit is contained in:
@@ -41,10 +41,10 @@ class WhitespaceInfo(object):
|
||||
if part.type == 'comment':
|
||||
self.comments.append(Comment(part, indentation))
|
||||
|
||||
if part.type not in ('tabs', 'spaces'):
|
||||
indentation = ''
|
||||
if part.type == 'indentation':
|
||||
indentation = part.value
|
||||
else:
|
||||
indentation += part.value
|
||||
indentation = ''
|
||||
self.indentation = indentation
|
||||
|
||||
self.newline_count = 2
|
||||
|
||||
@@ -18,23 +18,22 @@ class PrefixPart(object):
|
||||
|
||||
_comment = r'#[^\n\r\f]*'
|
||||
_backslash = r'\\\r?\n'
|
||||
_whitespace = r' +'
|
||||
_tabs = r'\t+'
|
||||
_indentation = r'[ \t]+'
|
||||
_newline = r'\r?\n'
|
||||
_form_feed = r'\f'
|
||||
|
||||
_regex = group(_comment, _backslash, _whitespace, _newline, _form_feed, _tabs)
|
||||
_regex = group(_comment, _backslash, _indentation, _newline, _form_feed)
|
||||
_regex = re.compile(_regex)
|
||||
|
||||
|
||||
_types = {
|
||||
' ': 'spaces',
|
||||
' ': 'indentation',
|
||||
'#': 'comment',
|
||||
'\\': 'backslash',
|
||||
'\f': 'formfeed',
|
||||
'\n': 'newline',
|
||||
'\r': 'newline',
|
||||
'\t': 'tabs',
|
||||
'\t': 'indentation',
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -42,6 +42,8 @@ def test_simple_prefix_splitting(string, tokens):
|
||||
('\r\n', ['newline']),
|
||||
('\f', ['formfeed']),
|
||||
('\\\n', ['backslash']),
|
||||
(' \t', ['indentation']),
|
||||
(' \t ', ['indentation']),
|
||||
])
|
||||
def test_prefix_splitting_types(string, types):
|
||||
tree = parso.parse(string)
|
||||
|
||||
Reference in New Issue
Block a user