diff options
Diffstat (limited to 'kate/data/json.xml')
-rw-r--r-- | kate/data/json.xml | 100 |
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=""" 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=""" 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" /> + </context> + + <context name="Value" 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" /> + </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" /> + </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="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; +--> + |