Warning, /frameworks/syntax-highlighting/data/syntax/orgmode.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004 <!ENTITY listbullet "[\+\-]">
0005 <!ENTITY checkbox "\[[ \-X]\](?=\s)">
0006 <!-- links. -->
0007 <!ENTITY startlink "(?:(?:https?|ftp)\://|(?:file|docview|mailto|mhe|rmail|bbdb|irc|info)\:)">
0008 <!ENTITY link "&startlink;[^">\s]+">
0009 <!-- link in normal text.
0010 Using the implicitlink entity in markdown.xml for now.
0011 Actual doc: https://orgmode.org/guide/Hyperlinks.html -->
0012 <!ENTITY implicitlink "\b&startlink;[^">\s`\)]*[^\s!"'`\(\)\*,\.:;<>\?~\]\}\\](?=[[:punct:]]*(?:[\s\]]|$))">
0013 <!-- org-emphasis-alist -->
0014 <!ENTITY contentregex_ast "(?:(?:[^\*\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^\*\s\\]|\\\S)">
0015 <!ENTITY contentregex_und "(?:(?:[^_\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^_\s\\]|\\\S)">
0016 <!ENTITY contentregex_itl "(?:(?:[^/\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^/\s\\]|\\\S)">
0017 <!ENTITY contentregex_stk "(?:(?:[^+\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^+\s\\]|\\\S)">
0018 <!ENTITY contentregex_cod "(?:(?:[^~\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^~\s\\]|\\\S)">
0019 <!ENTITY contentregex_vbt "(?:(?:[^=\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^=\s\\]|\\\S)">
0020 <!ENTITY contentregex_mco "(?:(?:[^\{\}\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^\{\}\s\\]|\\\S)">
0021 <!ENTITY bold_regex "\*{1}(?:&contentregex_ast;\*{1})">
0022 <!ENTITY underline_regex "\b_{1}(?:&contentregex_und;_{1})">
0023 <!ENTITY italic_regex "[/]{1}(?:&contentregex_itl;[/]{1})">
0024 <!ENTITY strike_regex "\+{1}(?:&contentregex_stk;\+{1})">
0025 <!ENTITY inlinecode_regex "\~{1}(?:&contentregex_cod;\~{1})">
0026 <!ENTITY verbatim_regex "\={1}(?:&contentregex_vbt;\={1})">
0027 <!ENTITY macroreplacement_regex "\{{3}(?:&contentregex_mco;\}{3})">
0028 <!-- [[plain-link]] -->
0029 <!ENTITY link_plain_regex "\[\[(?:[^\[\]]+)\]\]">
0030 <!-- [[link][description]] -->
0031 <!ENTITY link_desc_regex "\[\[(?:[^\[\]]+)\]\[(?:[^\[\]]+)\]\]">
0032 ]>
0033
0034 <!-- org syntax spec: https://orgmode.org/worg/dev/org-syntax.html -->
0035 <!-- syntax highlight: https://docs.kde.org/stable5/en/kate/katepart/highlight.html -->
0036 <language name="Org Mode" version="4" kateversion="5.79" section="Markup" extensions="*.org" priority="15" author="Gary Wang" license="MIT">
0037 <highlighting>
0038 <list name="org-todo-keywords-todo">
0039 <item>TODO</item>
0040 </list>
0041 <list name="org-todo-keywords-done">
0042 <item>DONE</item>
0043 </list>
0044 <contexts>
0045 <context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">
0046 <DetectChar context="find-header" char="*" column="0" lookAhead="true"/>
0047 <RegExpr attribute="List" context="list" String="^(\s*)&listbullet;(\s+)" column="0"/>
0048 <RegExpr attribute="Number List" context="numlist" String="^(\s*)\d+(?:\.|\))(\s+)" column="0"/>
0049 <RegExpr attribute="Comment" String="^(\s*)# .*" column="0"/>
0050 <RegExpr attribute="Block" context="find-block" String="^#\+BEGIN(_\w+|:).*" beginRegion="RegionBlock" column="0"/>
0051 <RegExpr attribute="Babel" String="^(\s*)#\+[A-Z]+(?:\[[A-Z]+\])?:.*" column="0"/>
0052 <DetectChar context="find-bold-normal" char="*" lookAhead="true"/>
0053 <DetectChar context="find-underline-normal" char="_" lookAhead="true"/>
0054 <DetectChar context="find-italic-normal" char="/" lookAhead="true"/>
0055 <DetectChar context="find-strike-normal" char="+" lookAhead="true"/>
0056 <DetectChar context="find-inlinecode-normal" char="~" lookAhead="true"/>
0057 <DetectChar context="find-verbatim-normal" char="=" lookAhead="true"/>
0058 <DetectChar context="find-link-normal" char="[" lookAhead="true"/>
0059 <StringDetect context="find-macro-replacement" String="{{{" lookAhead="true"/>
0060 <RegExpr attribute="Normal Text: Link" String="&implicitlink;"/>
0061 </context>
0062 <context name="find-header" attribute="Normal Text" lineEndContext="#pop">
0063 <RegExpr context="parse-header" String="^(?:\*){1,}\s+(?:([A-Z]+)\s+){0,1}(?:(\[#(?:[A-Z\d]+)\])\s+){0,1}(.*)\s*(\[[\d/%]+\]){0,1}\s*$" column="0" lookAhead="true"/>
0064 </context>
0065 <context name="parse-header" attribute="Heading" lineEndContext="#pop">
0066 <RegExpr attribute="Heading" String="(?:\*){1,}\s+" lookAhead="false"/>
0067 <keyword String="org-todo-keywords-todo" attribute="Keyword Todo" context="#stay" />
0068 <keyword String="org-todo-keywords-done" attribute="Keyword Done" context="#stay" />
0069 <RegExpr attribute="Cookie: Priority" String="\[#(?:[A-Z\d]+)\]" lookAhead="false"/>
0070 <RegExpr attribute="Cookie: Statistics" String="\[[\d/%]+\]" lookAhead="false"/>
0071 </context>
0072 <context name="list" attribute="List: Normal Text" lineEndContext="#stay">
0073 <RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>
0074 <RegExpr attribute="List: Checkbox" String="\s*&checkbox;"/>
0075 </context>
0076 <context name="numlist" attribute="List: Normal Text" lineEndContext="#stay">
0077 <RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>
0078 <RegExpr attribute="List: Checkbox" String="\s*&checkbox;"/>
0079 </context>
0080 <context name="find-block" attribute="Block" lineEndContext="#stay">
0081 <StringDetect context="#pop" attribute="Block" String="#+END%1" dynamic="true" endRegion="RegionBlock" column="0"/>
0082 </context>
0083 <context name="find-bold-normal" attribute="Normal Text" lineEndContext="#pop">
0084 <RegExpr attribute="Bold Text" context="#pop" minimal="true" String="&bold_regex;"/>
0085 <DetectChar attribute="Normal Text" context="#pop" char="*"/>
0086 </context>
0087 <context name="find-underline-normal" attribute="Normal Text" lineEndContext="#pop">
0088 <RegExpr attribute="Underline Text" context="#pop" minimal="true" String="&underline_regex;"/>
0089 <DetectChar attribute="Normal Text" context="#pop" char="_"/>
0090 </context>
0091 <context name="find-italic-normal" attribute="Normal Text" lineEndContext="#pop">
0092 <RegExpr attribute="Italic Text" context="#pop" minimal="true" String="&italic_regex;"/>
0093 <DetectChar attribute="Normal Text" context="#pop" char="/"/>
0094 </context>
0095 <context name="find-strike-normal" attribute="Normal Text" lineEndContext="#pop">
0096 <RegExpr attribute="Strikethrough Text" context="#pop" minimal="true" String="&strike_regex;"/>
0097 <DetectChar attribute="Normal Text" context="#pop" char="+"/>
0098 </context>
0099 <context name="find-verbatim-normal" attribute="Normal Text" lineEndContext="#pop">
0100 <RegExpr attribute="Verbatim" context="#pop" minimal="true" String="&verbatim_regex;"/>
0101 <DetectChar attribute="Normal Text" context="#pop" char="~"/>
0102 </context>
0103 <context name="find-link-normal" attribute="Link" lineEndContext="#pop">
0104 <RegExpr attribute="Plain Link" context="#pop" minimal="true" String="&link_plain_regex;"/>
0105 <!-- FIXME: currently, link and description are using the same style -->
0106 <RegExpr attribute="Link" context="#pop" minimal="true" String="&link_desc_regex;"/>
0107 <DetectChar attribute="Normal Text" context="#pop" char="]"/>
0108 </context>
0109 <context name="find-macro-replacement" attribute="Normal Text" lineEndContext="#pop">
0110 <RegExpr attribute="Macro" context="#pop" minimal="true" String="¯oreplacement_regex;"/>
0111 <DetectChar attribute="Normal Text" context="#pop" char="}"/>
0112 </context>
0113 <context name="find-inlinecode-normal" attribute="Normal Text" lineEndContext="#pop">
0114 <RegExpr attribute="Code" context="#pop" minimal="true" String="&inlinecode_regex;"/>
0115 <DetectChar attribute="Normal Text" context="#pop" char="~"/>
0116 </context>
0117 </contexts>
0118 <itemDatas>
0119 <itemData name="Normal Text" defStyleNum="dsNormal"/>
0120 <itemData name="Normal Text: Link" defStyleNum="dsNormal" underline="true" spellChecking="false"/>
0121 <itemData name="Bold Text" defStyleNum="dsNormal" bold="true"/>
0122 <itemData name="Underline Text" defStyleNum="dsNormal" underline="true"/>
0123 <itemData name="Italic Text" defStyleNum="dsNormal" italic="true"/>
0124 <itemData name="Strikethrough Text" defStyleNum="dsNormal" strikeOut="true"/>
0125 <itemData name="Keyword Done" defStyleNum="dsInformation" spellChecking="false"/>
0126 <itemData name="Keyword Todo" defStyleNum="dsAlert" spellChecking="false"/>
0127 <itemData name="Cookie: Priority" defStyleNum="dsInformation" spellChecking="false"/>
0128 <itemData name="Cookie: Statistics" defStyleNum="dsInformation" spellChecking="false"/>
0129 <itemData name="Heading" defStyleNum="dsFunction"/>
0130 <itemData name="List" defStyleNum="dsSpecialString" bold="1" spellChecking="false"/>
0131 <itemData name="List: Normal Text" defStyleNum="dsNormal"/>
0132 <itemData name="List: Checkbox" defStyleNum="dsVariable" spellChecking="false"/>
0133 <itemData name="Number List" defStyleNum="dsSpecialString" spellChecking="false"/>
0134 <itemData name="Plain Link" defStyleNum="dsOthers" underline="true" spellChecking="false"/>
0135 <itemData name="Link" defStyleNum="dsOthers" underline="true" spellChecking="false"/>
0136 <itemData name="Comment" defStyleNum="dsComment"/>
0137 <itemData name="Macro" defStyleNum="dsPreprocessor"/>
0138 <itemData name="Babel" defStyleNum="dsPreprocessor"/>
0139 <itemData name="Verbatim" defStyleNum="dsExtension" spellChecking="false"/>
0140 <itemData name="Code" defStyleNum="dsInformation" spellChecking="false"/>
0141 <itemData name="Block" defStyleNum="dsInformation"/>
0142 </itemDatas>
0143 </highlighting>
0144 <general>
0145 <comments>
0146 <!-- Kate will add a space after the char so it's just a "#" here -->
0147 <comment name="singleLine" start="#"/>
0148 </comments>
0149 </general>
0150 </language>
0151 <!-- kate: replace-tabs on; indent-width 2; tab-width 2; -->