summaryrefslogtreecommitdiff
path: root/pygments/lexers/html.py
diff options
context:
space:
mode:
authorMatthäus G. Chajdas <dev@anteru.net>2022-12-04 16:25:25 +0100
committerMatthäus G. Chajdas <dev@anteru.net>2022-12-04 16:25:25 +0100
commitf8a75279139ec4b62a220ba92690c066a2de9ee0 (patch)
treeaa1858bd61083680bdf9e170d419d83ac721a48e /pygments/lexers/html.py
parentcdfa8e0ad46c1f5c3d05276ba7130aeb1bfcde35 (diff)
downloadpygments-git-f8a75279139ec4b62a220ba92690c066a2de9ee0.tar.gz
Improve whitespace handling in XmlLexer.
Diffstat (limited to 'pygments/lexers/html.py')
-rw-r--r--pygments/lexers/html.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/pygments/lexers/html.py b/pygments/lexers/html.py
index 1c465048..f2e0463b 100644
--- a/pygments/lexers/html.py
+++ b/pygments/lexers/html.py
@@ -13,7 +13,7 @@ import re
from pygments.lexer import RegexLexer, ExtendedRegexLexer, include, bygroups, \
default, using
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
- Punctuation
+ Punctuation, Whitespace
from pygments.util import looks_like_xml, html_doctype_matches
from pygments.lexers.javascript import JavascriptLexer
@@ -207,7 +207,8 @@ class XmlLexer(RegexLexer):
tokens = {
'root': [
- ('[^<&]+', Text),
+ (r'[^<&\s]+', Text),
+ (r'[^<&\S]+', Whitespace),
(r'&\S*?;', Name.Entity),
(r'\<\!\[CDATA\[.*?\]\]\>', Comment.Preproc),
(r'<!--.*?-->', Comment.Multiline),
@@ -217,12 +218,12 @@ class XmlLexer(RegexLexer):
(r'<\s*/\s*[\w:.-]+\s*>', Name.Tag),
],
'tag': [
- (r'\s+', Text),
+ (r'\s+', Whitespace),
(r'[\w.:-]+\s*=', Name.Attribute, 'attr'),
(r'/?\s*>', Name.Tag, '#pop'),
],
'attr': [
- (r'\s+', Text),
+ (r'\s+', Whitespace),
('".*?"', String, '#pop'),
("'.*?'", String, '#pop'),
(r'[^\s>]+', String, '#pop'),