You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kate/data/json.xml

105 lines
5.5 KiB

<?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.2" kateversion="2.3" extensions="*.json" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.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" />
<DetectChar char="[" context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
<DetectSpaces context="#stay" attribute="Style_Normal" />
</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="[" 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" />
</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;
-->