summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pygments/lexers/postgres.py2
-rw-r--r--tests/examplefiles/psql_session.txt11
2 files changed, 12 insertions, 1 deletions
diff --git a/pygments/lexers/postgres.py b/pygments/lexers/postgres.py
index 4b4ad44c..21185b30 100644
--- a/pygments/lexers/postgres.py
+++ b/pygments/lexers/postgres.py
@@ -166,7 +166,7 @@ class PsqlRegexLexer(PostgresLexer):
(r"[^\s]+", String.Symbol),
]
-re_prompt = re.compile(r'^.*?[=\-\(][#>]')
+re_prompt = re.compile(r'^(\S.*?)??[=\-\(][#>]')
re_psql_command = re.compile(r'\s*\\')
re_end_command = re.compile(r';\s*(--.*?)?$')
re_psql_command = re.compile(r'(\s*)(\\.+?)(\s+)$')
diff --git a/tests/examplefiles/psql_session.txt b/tests/examplefiles/psql_session.txt
index 2458c407..565f7c33 100644
--- a/tests/examplefiles/psql_session.txt
+++ b/tests/examplefiles/psql_session.txt
@@ -94,6 +94,17 @@ INSERT 0 1
regression=# ROLLBACK ;
ROLLBACK
+=> EXPLAIN SELECT * FROM tenk1
+-> WHERE unique1 < 100; -- Don't take -> in the plan as a prompt
+
+ QUERY PLAN
+------------------------------------------------------------------------------
+ Bitmap Heap Scan on tenk1 (cost=2.37..232.35 rows=106 width=244)
+ Recheck Cond: (unique1 < 100)
+ -> Bitmap Index Scan on tenk1_unique1 (cost=0.00..2.37 rows=106 width=0)
+ Index Cond: (unique1 < 100)
+
+
-- don't swallow the end of a malformed line
test=> select 1,
'this line must be emitted'