diff options
author | Georg Brandl <georg@python.org> | 2016-02-08 08:34:32 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2016-02-08 08:34:32 +0100 |
commit | 968f917d857f3c795e4809af6be2ec595e7a6b6b (patch) | |
tree | 78ccaee9592d80db2091d590e45b9e02e4a31f57 | |
parent | 3bd4d646184b2605d9b6f714f246d05b25f364df (diff) | |
download | pygments-968f917d857f3c795e4809af6be2ec595e7a6b6b.tar.gz |
Make postgres strings use their own state.
-rw-r--r-- | pygments/lexers/sql.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pygments/lexers/sql.py b/pygments/lexers/sql.py index 05503c3a..a7736f75 100644 --- a/pygments/lexers/sql.py +++ b/pygments/lexers/sql.py @@ -148,8 +148,8 @@ class PostgresLexer(PostgresBase, RegexLexer): (r'\$\d+', Name.Variable), (r'([0-9]*\.[0-9]*|[0-9]+)(e[+-]?[0-9]+)?', Number.Float), (r'[0-9]+', Number.Integer), - (r"(E|U&)?'(''|[^'])*'", String.Single), - (r'(U&)?"(""|[^"])*"', String.Name), # quoted identifier + (r"(E|U&)?'", String.Single, 'string'), + (r'(U&)?"', String.Name, 'quoted-ident'), # quoted identifier (r'(?s)(\$[^$]*\$)(.*?)(\1)', language_callback), (r'[a-z_]\w*', Name), @@ -164,6 +164,16 @@ class PostgresLexer(PostgresBase, RegexLexer): (r'[^/*]+', Comment.Multiline), (r'[/*]', Comment.Multiline) ], + 'string': [ + (r"[^']+", String.Single), + (r"''", String.Single), + (r"'", String.Single, '#pop'), + ], + 'quoted-ident': [ + (r'[^"]+', String.Name), + (r'""', String.Name), + (r'"', String.Name, '#pop'), + ], } |