Mercurial > hg
comparison mercurial/revsetlang.py @ 45942:89a2afe31e82
formating: upgrade to black 20.8b1
This required a couple of small tweaks to un-confuse black, but now it
works. Big formatting changes come from:
* Dramatically improved collection-splitting logic upstream
* Black having a strong (correct IMO) opinion that """ is better than '''
Differential Revision: https://phab.mercurial-scm.org/D9430
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Fri, 27 Nov 2020 17:03:29 -0500 |
parents | 18489e26d9a0 |
children | 59fa3890d40a |
comparison
equal
deleted
inserted
replaced
45941:346af7687c6f | 45942:89a2afe31e82 |
---|---|
81 # default set of valid characters for non-initial letters of symbols | 81 # default set of valid characters for non-initial letters of symbols |
82 _symletters = _syminitletters | set(pycompat.iterbytestr(b'-/')) | 82 _symletters = _syminitletters | set(pycompat.iterbytestr(b'-/')) |
83 | 83 |
84 | 84 |
85 def tokenize(program, lookup=None, syminitletters=None, symletters=None): | 85 def tokenize(program, lookup=None, syminitletters=None, symletters=None): |
86 ''' | 86 """ |
87 Parse a revset statement into a stream of tokens | 87 Parse a revset statement into a stream of tokens |
88 | 88 |
89 ``syminitletters`` is the set of valid characters for the initial | 89 ``syminitletters`` is the set of valid characters for the initial |
90 letter of symbols. | 90 letter of symbols. |
91 | 91 |
100 | 100 |
101 Check that @ is a valid unquoted token character (issue3686): | 101 Check that @ is a valid unquoted token character (issue3686): |
102 >>> list(tokenize(b"@::")) | 102 >>> list(tokenize(b"@::")) |
103 [('symbol', '@', 0), ('::', None, 1), ('end', None, 3)] | 103 [('symbol', '@', 0), ('::', None, 1), ('end', None, 3)] |
104 | 104 |
105 ''' | 105 """ |
106 if not isinstance(program, bytes): | 106 if not isinstance(program, bytes): |
107 raise error.ProgrammingError( | 107 raise error.ProgrammingError( |
108 b'revset statement must be bytes, got %r' % program | 108 b'revset statement must be bytes, got %r' % program |
109 ) | 109 ) |
110 program = pycompat.bytestr(program) | 110 program = pycompat.bytestr(program) |
619 alias.warned = True | 619 alias.warned = True |
620 return tree | 620 return tree |
621 | 621 |
622 | 622 |
623 def foldconcat(tree): | 623 def foldconcat(tree): |
624 """Fold elements to be concatenated by `##` | 624 """Fold elements to be concatenated by `##`""" |
625 """ | |
626 if not isinstance(tree, tuple) or tree[0] in ( | 625 if not isinstance(tree, tuple) or tree[0] in ( |
627 b'string', | 626 b'string', |
628 b'symbol', | 627 b'symbol', |
629 b'smartset', | 628 b'smartset', |
630 ): | 629 ): |
740 b'p': _formatparamexp, | 739 b'p': _formatparamexp, |
741 } | 740 } |
742 | 741 |
743 | 742 |
744 def formatspec(expr, *args): | 743 def formatspec(expr, *args): |
745 ''' | 744 """ |
746 This is a convenience function for using revsets internally, and | 745 This is a convenience function for using revsets internally, and |
747 escapes arguments appropriately. Aliases are intentionally ignored | 746 escapes arguments appropriately. Aliases are intentionally ignored |
748 so that intended expression behavior isn't accidentally subverted. | 747 so that intended expression behavior isn't accidentally subverted. |
749 | 748 |
750 Supported arguments: | 749 Supported arguments: |
775 "root(_list('a\\\\x00b\\\\x00c\\\\x00d'))" | 774 "root(_list('a\\\\x00b\\\\x00c\\\\x00d'))" |
776 >>> formatspec(b'sort(%r, %ps)', b':', [b'desc', b'user']) | 775 >>> formatspec(b'sort(%r, %ps)', b':', [b'desc', b'user']) |
777 "sort((:), 'desc', 'user')" | 776 "sort((:), 'desc', 'user')" |
778 >>> formatspec(b'%ls', [b'a', b"'"]) | 777 >>> formatspec(b'%ls', [b'a', b"'"]) |
779 "_list('a\\\\x00\\\\'')" | 778 "_list('a\\\\x00\\\\'')" |
780 ''' | 779 """ |
781 parsed = _parseargs(expr, args) | 780 parsed = _parseargs(expr, args) |
782 ret = [] | 781 ret = [] |
783 for t, arg in parsed: | 782 for t, arg in parsed: |
784 if t is None: | 783 if t is None: |
785 ret.append(arg) | 784 ret.append(arg) |