summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2012-05-31 19:27:57 +0200
committerGeorg Brandl <georg@python.org>2012-05-31 19:27:57 +0200
commitb7861bca9e9ffa34c0059ac15a62ac985dc185dd (patch)
treed9fcf3d4a83113e74d87feff8587dd6a80eb13e1
parente14b7900caaba63b4e6419879f07079725165172 (diff)
parent392541ba6c230fe1815c1d32d0d3074713870a90 (diff)
downloadpygments-b7861bca9e9ffa34c0059ac15a62ac985dc185dd.tar.gz
Merged in bluegoji/pygments-main (pull request #73)
-rw-r--r--pygments/lexers/web.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/pygments/lexers/web.py b/pygments/lexers/web.py
index 93a6f115..5ac56c19 100644
--- a/pygments/lexers/web.py
+++ b/pygments/lexers/web.py
@@ -101,6 +101,16 @@ class JSONLexer(RegexLexer):
filenames = ['*.json']
mimetypes = [ 'application/json', ]
+ # integer part of a number
+ int_part = r'-?(0|[1-9]\d*)'
+
+ # fractional part of a number
+ frac_part = r'\.\d+'
+
+ # exponential part of a number
+ exp_part = r'[eE](\+|-)?\d+'
+
+
flags = re.DOTALL
tokens = {
'whitespace': [
@@ -108,9 +118,12 @@ class JSONLexer(RegexLexer):
],
# represents a simple terminal value
- 'simplevalue':[
+ 'simplevalue': [
(r'(true|false|null)\b', Keyword.Constant),
- (r'-?[0-9]+', Number.Integer),
+ (('%(int_part)s(%(frac_part)s%(exp_part)s|'
+ '%(exp_part)s|%(frac_part)s)') % vars(),
+ Number.Float),
+ (int_part, Number.Integer),
(r'"(\\\\|\\"|[^"])*"', String.Double),
],