diff --git a/sqlparse/keywords.py b/sqlparse/keywords.py index dd6e5d15..c5c65688 100644 --- a/sqlparse/keywords.py +++ b/sqlparse/keywords.py @@ -132,6 +132,7 @@ def find_delimited_spans(text): (r"`(``|[^`])*`", tokens.Name), (r"´(´´|[^´])*´", tokens.Name), + (r'@\?', tokens.Operator), (r'\?', tokens.Name.Placeholder), (r'%(\(\w+\))?s', tokens.Name.Placeholder), (r'(?', '->>', '#>', '#>>', '@>', '<@', - # leaving ? out for now, they're somehow ambiguous as placeholders - # '?', '?|', '?&', + # Question-mark prefixes remain ambiguous with placeholders. + '@?', '@@', '||', '-', '#-' ]) def test_json_operators(sql):