aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml')
-rw-r--r--src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml41
1 files changed, 23 insertions, 18 deletions
diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml
index 28ad8e8a33..f302ff1369 100644
--- a/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml
+++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE language SYSTEM "language.dtd">
+<!DOCTYPE language>
<!--
***************************************************************************
** Writing a Kate Highlighting XML File
@@ -10,9 +10,10 @@
**
** The application/json Media Type for JavaScript Object Notation (JSON)
** http://tools.ietf.org/html/rfc4627
+ ** https://www.json.org/json-en.html
***************************************************************************
-->
-<language name="JSON" section="Markup" version="3" kateversion="2.4" extensions="*.json;.kateproject;.arcconfig;*.gltf" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">
+<language name="JSON" section="Markup" version="8" kateversion="2.4" extensions="*.json;.kateproject;.arcconfig;*.geojson;*.gltf;*.theme" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">
<highlighting>
<list name="Constants">
<item>null</item>
@@ -39,43 +40,47 @@
<context name="String_Key" lineEndContext="#stay" attribute="Style_String_Key">
<DetectChar char="&quot;" context="#pop" attribute="Style_String_Key" />
- <RegExpr String="\\(?:[&quot;\\/bfnrt]|u[0-9a-fA-f]{4})" context="#stay" insensitive="false" minimal="false" attribute="Style_String_Key_Char" />
+ <DetectChar char="\" context="String_Key_Char" lookAhead="1"/>
+ </context>
+
+ <context name="String_Key_Char" lineEndContext="#stay" attribute="Style_Normal">
+ <RegExpr String="\\(?:[&quot;\\/bfnrt]|u[0-9a-fA-f]{4})" context="#pop" attribute="Style_String_Key_Char" />
+ <RegExpr String="\\(u[0-9a-fA-f]+|.)?" context="#pop" attribute="Style_Error" />
</context>
<context name="Value" lineEndContext="#stay" attribute="Style_Error" >
+ <AnyChar String="}," context="#pop" lookAhead="true" />
+ <IncludeRules context="JsonValue"/>
+ </context>
+
+ <context name="JsonValue" lineEndContext="#stay" attribute="Style_Error" >
<DetectChar char="&quot;" context="String_Value" attribute="Style_String_Value" />
<DetectChar char="{" context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
<DetectChar char="[" context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
- <DetectChar char="}" context="#pop" lookAhead="true" />
- <DetectChar char="," context="#pop" lookAhead="true" />
<DetectSpaces context="#stay" attribute="Style_Normal" />
<keyword String="Constants" context="#stay" attribute="Style_Keyword" />
- <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)\.[0-9]+(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Float" />
- <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Decimal" />
+ <RegExpr String="-?\b([1-9][0-9]*\.[0-9]+(?:[eE][+-]?[0-9]+)?)" context="#stay" attribute="Style_Float" />
+ <RegExpr String="-?\b(0\b|[1-9][0-9]*(?:[eE][+-]?[0-9]+)?)" context="#stay" attribute="Style_Decimal" />
</context>
<context name="String_Value" lineEndContext="#stay" attribute="Style_String_Value">
<DetectChar char="&quot;" context="#pop" attribute="Style_String_Value" />
- <RegExpr String="\\(?:[&quot;\\/bfnrt]|u[0-9a-fA-f]{4})" context="#stay" insensitive="false" minimal="false" attribute="Style_String_Value_Char" />
+ <DetectChar char="\" context="String_Key_Value" lookAhead="1" />
+ </context>
+
+ <context name="String_Key_Value" lineEndContext="#stay" attribute="Style_Normal">
+ <RegExpr String="\\(?:[&quot;\\/bfnrt]|u[0-9a-fA-f]{4})" context="#pop" attribute="Style_String_Value_Char" />
+ <RegExpr String="\\(u[0-9a-fA-f]+|.)?" context="#pop" attribute="Style_Error" />
</context>
<context name="Array" lineEndContext="#stay" attribute="Style_Error">
<DetectChar char="," context="#stay" attribute="Style_Seperator_Array" />
<DetectChar char="]" context="#pop" endRegion="Region_Array" attribute="Style_Seperator_Array" />
- <DetectChar char="{" context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
- <DetectChar char="[" context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
- <DetectChar char="&quot;" context="String_Value" attribute="Style_String_Value" />
-
- <DetectSpaces context="#stay" attribute="Style_Normal" />
-
- <keyword String="Constants" context="#stay" attribute="Style_Keyword" />
-
- <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)\.[0-9]+(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Float" />
- <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Decimal" />
+ <IncludeRules context="JsonValue"/>
</context>
</contexts>