summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiro Hron?ok <miro@hroncok.cz>2017-09-22 13:07:39 +0200
committerMiro Hron?ok <miro@hroncok.cz>2017-09-22 13:07:39 +0200
commit541c30ceb87355a7414e4dbfbcaf849371839751 (patch)
tree81b55a8e9ac76698d3d63e2c83cf4d76e5f7158d
parent0db8e281af377923115b894703b2b8beb8f1e9d5 (diff)
downloadpygments-541c30ceb87355a7414e4dbfbcaf849371839751.tar.gz
Recognize single > as a prompt in doscon
Fixes https://bitbucket.org/birkenfeld/pygments-main/issues/1380/lexer-for-cmdexe-interactive-session-with
-rw-r--r--pygments/lexers/shell.py2
-rw-r--r--tests/test_shell.py19
2 files changed, 19 insertions, 2 deletions
diff --git a/pygments/lexers/shell.py b/pygments/lexers/shell.py
index ceb6f14d..3b1c37ba 100644
--- a/pygments/lexers/shell.py
+++ b/pygments/lexers/shell.py
@@ -518,7 +518,7 @@ class MSDOSSessionLexer(ShellSessionBaseLexer):
mimetypes = []
_innerLexerCls = BatchLexer
- _ps1rgx = r'^([^>]+>)(.*\n?)'
+ _ps1rgx = r'^([^>]*>)(.*\n?)'
_ps2 = 'More? '
diff --git a/tests/test_shell.py b/tests/test_shell.py
index e283793e..1121240a 100644
--- a/tests/test_shell.py
+++ b/tests/test_shell.py
@@ -10,7 +10,7 @@
import unittest
from pygments.token import Token
-from pygments.lexers import BashLexer, BashSessionLexer
+from pygments.lexers import BashLexer, BashSessionLexer, MSDOSSessionLexer
class BashTest(unittest.TestCase):
@@ -140,3 +140,20 @@ class BashSessionTest(unittest.TestCase):
]
self.assertEqual(tokens, list(self.lexer.get_tokens(fragment)))
+class MSDOSSessionTest(unittest.TestCase):
+
+ def setUp(self):
+ self.lexer = MSDOSSessionLexer()
+
+ def testGtOnlyPrompt(self):
+ fragment = u'> py\nhi\n'
+ tokens = [
+ (Token.Text, u''),
+ (Token.Generic.Prompt, u'>'),
+ (Token.Text, u' '),
+ (Token.Text, u'py'),
+ (Token.Text, u''),
+ (Token.Text, u'\n'),
+ (Token.Generic.Output, u'hi\n'),
+ ]
+ self.assertEqual(tokens, list(self.lexer.get_tokens(fragment)))