summaryrefslogtreecommitdiffstats
path: root/kate/data/json.xml
diff options
context:
space:
mode:
Diffstat (limited to 'kate/data/json.xml')
-rw-r--r--kate/data/json.xml100
1 files changed, 100 insertions, 0 deletions
diff --git a/kate/data/json.xml b/kate/data/json.xml
new file mode 100644
index 000000000..8dda5c0e7
--- /dev/null
+++ b/kate/data/json.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+ ***************************************************************************
+ ** Writing a Kate Highlighting XML File
+ ** http://kate-editor.org/article/writing_a_kate_highlighting_xml_file
+ **
+ ** Introducing JSON
+ ** http://www.json.org/
+ **
+ ** The application/json Media Type for JavaScript Object Notation (JSON)
+ ** http://tools.ietf.org/html/rfc4627
+ ***************************************************************************
+-->
+<language name="JSON" section="Markup" version="1.00" kateversion="2.3" extensions="*.json" mimetype="application/json" author="Sebastian Pipping (webmaster@hartwork.org)" license="GPL">
+ <highlighting>
+ <list name="Constants">
+ <item>null</item>
+ <item>true</item>
+ <item>false</item>
+ </list>
+
+ <contexts>
+ <context name="Normal" lineEndContext="#stay" attribute="Style_Error">
+ <DetectChar char="{" context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
+ </context>
+
+ <context name="Pair" lineEndContext="#stay" attribute="Style_Error">
+ <DetectChar char="&quot;" context="String_Key" attribute="Style_String_Key" />
+ <DetectChar char=":" context="Value" attribute="Style_Seperator_Pair" />
+ <DetectChar char="}" context="#pop" endRegion="Region_Object" attribute="Style_Seperator_Pair" />
+ <DetectChar char="," context="#stay" attribute="Style_Seperator_Pair" />
+
+ <DetectSpaces context="#stay" attribute="Style_Normal" />
+ </context>
+
+ <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" />
+ </context>
+
+ <context name="Value" 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" />
+ </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" />
+ </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="&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" />
+ </context>
+ </contexts>
+
+ <itemDatas>
+ <itemData name="Style_Normal" defStyleNum="dsNormal" />
+
+ <itemData name="Style_Seperator_Pair" defStyleNum="dsNormal" bold="1" color="#EF0000" />
+ <itemData name="Style_Seperator_Array" defStyleNum="dsNormal" bold="1" color="#0000AF" />
+
+ <itemData name="Style_Decimal" defStyleNum="dsDecVal" />
+ <itemData name="Style_Float" defStyleNum="dsFloat" />
+ <itemData name="Style_String_Key" defStyleNum="dsDataType" />
+ <itemData name="Style_String_Value" defStyleNum="dsString" color="#FF00FF" />
+ <itemData name="Style_String_Key_Char" defStyleNum="dsDataType" underline="1" />
+ <itemData name="Style_String_Value_Char" defStyleNum="dsString" color="#FF00FF" underline="1" />
+
+ <itemData name="Style_Keyword" defStyleNum="dsDecVal" bold="1" />
+
+ <itemData name="Style_Error" defStyleNum="dsError" />
+ </itemDatas>
+ </highlighting>
+</language>
+<!--
+// kate: space-indent on; indent-width 2; replace-tabs on;
+-->
+