diff options
Diffstat (limited to 'src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml')
-rw-r--r-- | src/libs/3rdparty/syntax-highlighting/data/syntax/json.xml | 41 |
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=""" context="#pop" attribute="Style_String_Key" /> - <RegExpr String="\\(?:["\\/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="\\(?:["\\/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=""" 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=""" context="#pop" attribute="Style_String_Value" /> - <RegExpr String="\\(?:["\\/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="\\(?:["\\/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=""" 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> |