Path: blob/main/src/resources/pandoc/syntax-definitions/markdown.xml
12926 views
<?xml version="1.0" encoding="UTF-8"?>1<!--2Kate syntax highlight filter for Markdown/MultiMarkdown documents.34Copyright 2008 Darrin Yeager. http://www.dyeager.org/5Dual-Licensed under both GPL and BSD licenses.67Extended 2009 Claes Holmerson. http://github.com/claes/kate-markdown/8Extended 2019 Nibaldo González S. <[email protected]> (changes under MIT license).9-->10<!--11The [^\s]{1} is in the regex to avoid interfering with bullet list which12starts "* item". Thus emphasis/strong MUST be formed like *words here*13with the asterisks next to the beginning of the first word.1415Match space or newline, followed by "*", followed by one non-space,16followed by anything non-asterisk, followed by "*", followed by17space, end-of-sentence punctuation, or the end of the line.1819TODO: We can be more specific and highlight text combinations in bold,20italic and strikethrough.21Example: **bold text and _italic and bold text_**22__bold and ~~strikeout and bold~~__23-->24<!--25Quarto specific adaptations to keep upon updates:26- Support for ```{language} code block syntax, specific to quarto computation code blocks27- Add explicit support for language julia and dot in code blocks as they are available in skylighting28-->29<!DOCTYPE language30[31<!-- NOTE: To correctly detect bold, italic or strike out text, use minimal="true" in RegExpr rules -->32<!ENTITY contentregex_ast "(?:(?:[^\*\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^\*\s\\]|\\\S)">33<!ENTITY contentregex_und "(?:(?:[^_\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^_\s\\]|\\\S)">34<!-- strong + emphasis text -->35<!ENTITY strongemphasisregex_ast "\*{3,5}&contentregex_ast;\*{3}">36<!ENTITY strongemphasisregex_und "\b_{3,5}&contentregex_und;_{3}">37<!ENTITY strongemphasisregex_ast_und "\*{2,5}(?:(?:_|_{3}|_{5})&contentregex_und;_+|(?:_{2}|_{4})&contentregex_und;_)\*{2}">38<!ENTITY strongemphasisregex_ast_und2 "\*_{2,5}&contentregex_und;_{2,5}\*(?!\*)">39<!ENTITY strongemphasisregex_und_ast "\b_{2,5}(?:(?:\*|\*{3}|\*{5})&contentregex_ast;\*+|(?:\*{2}|\*{4})&contentregex_ast;\*)_{2}">40<!ENTITY strongemphasisregex_und_ast2 "\b_(?:\*{2,5}&contentregex_ast;\*{2,5}_{0,4}|_{0,4}\*{2,5}&contentregex_ast;\*{2,5})_\b">41<!-- strong text -->42<!ENTITY strongregex_ast "\*{2}(?:&contentregex_ast;\*{2}|\*{1,3}&contentregex_ast;\*{2}(?!\*))">43<!ENTITY strongregex_und "\b_{2}(?:&contentregex_und;_{2}|_{1,3}&contentregex_und;_{2}(?!_))">44<!-- emphasis text -->45<!ENTITY emphasisregex_ast "\*(?:&contentregex_ast;\*|\*{1,4}&contentregex_ast;\*(?!\*))">46<!ENTITY emphasisregex_und "\b_(?:&contentregex_und;_+|_{1,4}&contentregex_und;_)\b">47<!-- links.48Keep in sync with reStructuredText (rest) -->49<!ENTITY startlink "(?:https?|ftp)\://">50<!ENTITY link "&startlink;[^">\s]+">51<!-- link in normal text.52Keep in sync with reStructuredText’s (rest) StandaloneHyperlink attribute -->53<!ENTITY implicitlink "\b&startlink;[^">\s`\)]*[^\s!"'`\(\)\*,\.:;<>\?~\]\}\\](?=[[:punct:]]*(?:[\s\)]|$))">54<!-- references: [name], [name][id], [name][id] "title", [name](https://example.com) -->55<!ENTITY refchar "(?:\\.|[^\]\\])">56<!ENTITY refname "(?:\\.|[^\s\[\]\\])&refchar;*">57<!ENTITY reflinkid "\s*(?:&refname;)?">58<!ENTITY reflinkidregex "(?:\s?\[&reflinkid;\]|\((?:\\.|[^\(\)\\])*\))">59<!ENTITY reflinkregex "\[(?:(?=\s*&refname;\])|\s+(?=\]))">60<!-- target ref.: [id]: https://example.com "Title" -->61<!ENTITY reflinktargetregex '\[\s*(?:&refname;|\s)\]\:\s+(?=\S)'>62<!-- footnote: [^name] -->63<!ENTITY footnoteregex "\[\^&refchar;+\]">64<!-- image: , ![title][id] -->65<!ENTITY startinlineimage "\!\[(?:\\.|[^\[\]\\])*\]\(">66<!ENTITY endinlineimage "(?:\\.|[^\(\)\\])*\)">67<!ENTITY inlineimageregex "&startinlineimage;(?=&endinlineimage;)">68<!ENTITY refimageregex "\!\[(?:\\.|[^\[\]\\])*\]\[&reflinkid;\]">69<!-- autolink & email: <https://example.com>, <[email protected]>, <mailto:[email protected]> -->70<!ENTITY autolinkregex '<&link;>'>71<!ENTITY email "[\-\.\w]+\@[\-a-z0-9]+(?:\.[\-a-z0-9]+)*\.[a-z]+">72<!ENTITY mailtolinkregex "<(?:mailto:)?(?=&email;>)">73<!-- horizontal rule: avoid conflicts with strong-emphasis text, lists and code blocks -->74<!ENTITY rulerregex "\s*(?:(?:\*\s*){3,}|(?:_\s*){3,}|(?:\-\s*){3,})\s*$">75<!-- two spaces at end of line generates linebreak -->76<!ENTITY linebreakregex " $">77<!-- strikethrough text, pandoc style -->78<!ENTITY strikeoutregex "[~]{2}[^~](?:.*[^~])?[~]{2}">79<!-- highlight text -->80<!ENTITY highlightregex "[=]{2}[^=](?:.*[^=])?[=]{2}">81<!-- emoji -->82<!ENTITY emojiregex ":([-+]1|\w+):">83<!-- start of fenced code block -->84<!ENTITY fcode "(`{3,}|~{3,})">85<!-- end of line & empty line -->86<!ENTITY end "\s*$">87<!ENTITY emptyline "^\s*$">88<!-- indented code block -->89<!ENTITY indentedcodeblock "(?:\s{4}|\t).*$">90<!-- bullet of list -->91<!ENTITY listbullet "[\*\+\-]">92<!-- metadata key & name of html tag -->93<!ENTITY metadatakey "[a-zA-Z0-9][\w\-\s]*\:">94<!ENTITY htmlname "[A-Za-z_\:][\w\.\:\-]*">95<!-- comment -->96<!ENTITY startcomment "<!--">97<!ENTITY endcomment "-->">98<!ENTITY checkbox "\[[ x]\](?=\s)">99]>100101<language name="Markdown" version="30" kateversion="5.79" section="Markup" extensions="*.md;*.mmd;*.markdown;*.md.html" mimetype="text/markdown" priority="15" author="Darrin Yeager, Claes Holmerson" license="GPL,BSD">102<highlighting>103<contexts>104<!-- Start of the Markdown document: find metadata or code block -->105<context name="Start Document" attribute="Normal Text" lineEndContext="Normal Text" lineEmptyContext="Normal Text" fallthroughContext="Normal Text">106<!-- Some titles: (Title|Author|Date|Copyright|Revision|CSS|LaTeX\ XSLT|Categories|Tags|BaseName|Excerpt) -->107<!-- Metadata: Markdown format -->108<RegExpr attribute="Metadata" context="metadata" String="^\-{3}&end;" column="0" beginRegion="metadata"/>109<!-- Metadata: MultiMarkdown format -->110<RegExpr attribute="Metadata Title" context="metadata-mm-value" String="^&metadatakey;(?=\s|$)" column="0"/>111<!-- Code Block -->112<RegExpr attribute="Code" context="find-code-block-start" String="^&indentedcodeblock;" column="0"/>113</context>114<context name="metadata" attribute="Metadata" lineEndContext="#stay">115<StringDetect attribute="Metadata" context="#pop!Normal Text" String="---" column="0" endRegion="metadata"/>116<StringDetect attribute="Metadata" context="#pop!Normal Text" String="..." column="0" endRegion="metadata"/>117<RegExpr attribute="Metadata Title" String="^&metadatakey;(?=\s|$)" column="0"/>118</context>119<context name="metadata-mm-value" attribute="Metadata" lineEndContext="#pop!metadata-mm"/>120<context name="metadata-mm" attribute="Metadata" lineEndContext="#stay" lineEmptyContext="#pop!Normal Text" fallthroughContext="#pop!Normal Text">121<!-- Find Metadata key or value -->122<RegExpr attribute="Metadata Title" context="#pop!metadata-mm-value" String="^&metadatakey;(?=\s|$)" column="0"/>123<RegExpr attribute="Metadata" context="#pop!metadata-mm-value" String="^(?:\s{4}|\t)" column="0"/>124</context>125<context name="find-code-block-start" attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="#stay" fallthroughContext="#pop!Normal Text">126<IncludeRules context="find-code-block"/>127</context>128129<!-- Normal Text Document -->130<context name="Normal Text" attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="find-code-block">131<!-- Header -->132<DetectChar context="find-header" char="#" column="0" lookAhead="true"/>133<RegExpr attribute="Header H1" String="(?:\=\s*){2,}$" firstNonSpace="true"/>134<!-- Highlight code block after line only with spaces or comment -->135<RegExpr attribute="Normal Text" context="find-code-block" String="&emptyline;" column="0"/>136<StringDetect attribute="Comment" context="find-code-block" String="&startcomment;" column="0" lookAhead="true"/>137<!-- Horizontal rules, Blockquotes and Lists.138NOTE: The indentation of the lists is captured. -->139<RegExpr attribute="Horizontal Rule" context="find-code-block" String="^&rulerregex;" column="0"/>140<DetectChar attribute="Blockquote" context="blockquote" char=">" firstNonSpace="true"/>141<RegExpr attribute="List" context="list" String="^(\s*)&listbullet;(\s+)" column="0"/>142<RegExpr attribute="Number List" context="numlist" String="^(\s*)\d\.(\s+)" column="0"/>143<RegExpr attribute="Number List" context="numlist2" String="^(\s*)\d\d+\.(\s+)" column="0"/>144<!-- Find Strong, Emphasis and Strikethrough Text -->145<DetectChar context="find-strong-normal" char="*" lookAhead="true"/>146<DetectChar context="find-emphasis-normal" char="_" lookAhead="true"/>147<RegExpr attribute="Strikethrough Text" minimal="true" String="&strikeoutregex;"/>148<RegExpr attribute="Highlight Text" minimal="true" String="&highlightregex;"/>149<!-- Common -->150<IncludeRules context="inc"/>151<RegExpr attribute="Normal Text: Link" String="&implicitlink;"/>152<!-- Table -->153<DetectChar attribute="Table" char="|" context="table" firstNonSpace="true" lookAhead="1"/>154</context>155<!-- Find indented code blocks. These are only allowed after an empty line or on the first line -->156<context name="find-code-block" attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="#stay" fallthroughContext="#pop">157<RegExpr attribute="Code" String="^&indentedcodeblock;" column="0"/>158<RegExpr attribute="Normal Text" String="&end;" />159<RegExpr attribute="Comment" context="comment" String="^\s*&startcomment;|\s*&startcomment;(?=.*&endcomment;)" beginRegion="comment"/>160</context>161162<!-- Table in Normal Text Document -->163<context name="table" attribute="Normal Text" lineEndContext="#pop" lineEmptyContext="#pop!find-code-block">164<IncludeRules context="find-table-element"/>165<IncludeRules context="Normal Text"/>166</context>167168<context name="find-table-element" attribute="Normal Text" lineEndContext="#pop">169<RegExpr attribute="Table" String="(\|(\s*:?---+:?)?)++"/>170</context>171172<context name="find-header" attribute="Normal Text" lineEndContext="#pop">173<RegExpr attribute="Header H1" context="#pop!close-H2-region" String="^#\s" column="0" endRegion="H1" beginRegion="H1" lookAhead="true"/>174<RegExpr attribute="Header H2" context="#pop!close-H3-region" String="^##\s" column="0" endRegion="H2" beginRegion="H2" lookAhead="true"/>175<RegExpr attribute="Header H3" context="#pop!close-H4-region" String="^###\s" column="0" endRegion="H3" beginRegion="H3" lookAhead="true"/>176<RegExpr attribute="Header H4" context="#pop!close-H5-region" String="^####\s" column="0" endRegion="H4" beginRegion="H4" lookAhead="true"/>177<RegExpr attribute="Header H5" context="#pop!close-H6-region" String="^#####\s" column="0" endRegion="H5" beginRegion="H5" lookAhead="true"/>178<RegExpr attribute="Header H6" context="#pop" String="^######\s.*" column="0" endRegion="H6" beginRegion="H6"/>179<DetectChar attribute="Normal Text" context="#pop" char="#"/>180</context>181<!-- BUG: 441278 sub-headers should be closed when their parent header is closed (e.g. in h1 h2 h3 h1, h1-h3 should all be closed at the 2nd h1) -->182<!-- TODO: Port to a less hacky version (maybe a new attribute for declaring multiple endRegions) -->183<context name="close-H2-region" attribute="Header H2" lineEndContext="#pop!close-H3-region" fallthroughContext="#pop!close-H3-region">184<DetectChar attribute="Header H2" context="#pop!close-H3-region" char="#" lookAhead="true" endRegion="H2"/>185</context>186<context name="close-H3-region" attribute="Header H3" lineEndContext="#pop!close-H4-region" fallthroughContext="#pop!close-H4-region">187<DetectChar attribute="Header H3" context="#pop!close-H4-region" char="#" lookAhead="true" endRegion="H3"/>188</context>189<context name="close-H4-region" attribute="Header H4" lineEndContext="#pop!close-H5-region" fallthroughContext="#pop!close-H5-region">190<DetectChar attribute="Header H4" context="#pop!close-H5-region" char="#" lookAhead="true" endRegion="H4"/>191</context>192<context name="close-H5-region" attribute="Header H5" lineEndContext="#pop!close-H6-region" fallthroughContext="#pop!close-H6-region">193<DetectChar attribute="Header H5" context="#pop!close-H6-region" char="#" lookAhead="true" endRegion="H5"/>194</context>195<context name="close-H6-region" attribute="Header H6" lineEndContext="#pop" fallthroughContext="#pop">196<DetectChar attribute="Header H6" context="#pop!close-sentinel-region" char="#" lookAhead="true" endRegion="H6"/>197</context>198<!-- This sentinel does not close any actual region, it's just here so that the proper attribute/highlighting is applied and -->199<!--to ensure that H6 headers won't be set as the "primary" region that was closed just because it was closed last -->200<context name="close-sentinel-region" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">201<RegExpr attribute="Header H1" context="#pop" String="^#\s.*" column="0"/>202<RegExpr attribute="Header H2" context="#pop" String="^##\s.*" column="0"/>203<RegExpr attribute="Header H3" context="#pop" String="^###\s.*" column="0"/>204<RegExpr attribute="Header H4" context="#pop" String="^####\s.*" column="0"/>205<RegExpr attribute="Header H5" context="#pop" String="^#####\s.*" column="0"/>206</context>207208209<context name="find-strong-normal" attribute="Normal Text" lineEndContext="#pop">210<RegExpr attribute="Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast_und;|&strongemphasisregex_ast_und2;"/>211<RegExpr attribute="Strong Text" context="#pop" minimal="true" String="&strongregex_ast;"/>212<RegExpr attribute="Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast;"/>213<RegExpr attribute="Emphasis Text" context="#pop" minimal="true" String="&emphasisregex_ast;"/>214<DetectChar attribute="Normal Text" context="#pop" char="*"/>215</context>216<context name="find-emphasis-normal" attribute="Normal Text" lineEndContext="#pop">217<RegExpr attribute="Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_und_ast;|&strongemphasisregex_und_ast2;"/>218<RegExpr attribute="Strong Text" context="#pop" minimal="true" String="&strongregex_und;"/>219<RegExpr attribute="Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_und;"/>220<RegExpr attribute="Emphasis Text" context="#pop" minimal="true" String="&emphasisregex_und;"/>221<DetectChar attribute="Normal Text" context="#pop" char="_"/>222</context>223224<!-- Blockquote -->225<context name="blockquote" attribute="Blockquote: Normal Text" lineEndContext="#stay" lineEmptyContext="#pop">226<IncludeRules context="default-blockquote-1"/>227<!-- Find code block -->228<RegExpr attribute="Normal Text" context="#pop!find-code-block" String="&emptyline;" column="0"/>229<StringDetect attribute="Comment" context="#pop!find-code-block" String="&startcomment;" column="0" lookAhead="true"/>230<IncludeRules context="default-blockquote-2"/>231<IncludeRules context="find-table-element"/>232</context>233<!-- Blockquote within a list -->234<context name="blockquote-list" attribute="Blockquote: Normal Text" lineEndContext="#stay" lineEmptyContext="#pop">235<IncludeRules context="default-blockquote-1"/>236<!-- Don't find code block -->237<RegExpr attribute="Normal Text" context="#pop" String="&emptyline;" column="0"/>238<StringDetect attribute="Comment" context="#pop!comment" String="&startcomment;" firstNonSpace="true"/>239<IncludeRules context="default-blockquote-2"/>240</context>241242<context name="default-blockquote-1" attribute="Blockquote: Normal Text" lineEndContext="#stay">243<DetectChar attribute="Blockquote" char=">" firstNonSpace="true"/>244<!-- End with header, horizontal rule or list/numlist -->245<RegExpr context="#pop" String="^(?:\s*(?:&listbullet;|[\d]+\.)\s|#{1,6}\s|&rulerregex;)" column="0" lookAhead="true"/>246</context>247<context name="default-blockquote-2" attribute="Blockquote: Normal Text" lineEndContext="#stay">248<!-- Strong, emphasis, strong-emphasis and strikethrough text -->249<AnyChar context="find-strong-emphasis-blockquote" String="*_" lookAhead="true"/>250<RegExpr attribute="Blockquote: Strikethrough Text" minimal="true" String="&strikeoutregex;"/>251<RegExpr attribute="Blockquote: Highlight Text" minimal="true" String="&highlightregex;"/>252<!-- Common -->253<IncludeRules context="inc"/>254<RegExpr attribute="Blockquote: Link" String="&implicitlink;"/>255</context>256<context name="find-strong-emphasis-blockquote" attribute="Blockquote: Normal Text" lineEndContext="#pop">257<RegExpr attribute="Blockquote: Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast_und;|&strongemphasisregex_und_ast;|&strongemphasisregex_ast_und2;|&strongemphasisregex_und_ast2;"/>258<RegExpr attribute="Blockquote: Strong Text" context="#pop" minimal="true" String="&strongregex_ast;|&strongregex_und;"/>259<RegExpr attribute="Blockquote: Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast;|&strongemphasisregex_und;"/>260<RegExpr attribute="Blockquote: Emphasis Text" context="#pop" minimal="true" String="&emphasisregex_ast;|&emphasisregex_und;"/>261<AnyChar attribute="Blockquote: Normal Text" context="#pop" String="*_"/>262</context>263264<!-- List and Numbered List -->265<!-- NOTE: The indentation of the lists is captured. New paragraphs, code blocks, blockquotes or266horizontal rules must have an indentation equal to or greater than the list, to be part of it. -->267<!-- * list -->268<context name="list" attribute="List: Normal Text" lineEndContext="#stay" fallthroughContext="content-list">269<!-- Find indented code blocks, blockquotes and horizontal rules -->270<RegExpr attribute="Code" String="^%1%2\s&indentedcodeblock;" column="0" dynamic="true"/>271<RegExpr attribute="Blockquote" context="blockquote-list" String="^%1%2\s+>" column="0" dynamic="true"/>272<RegExpr attribute="Horizontal Rule" String="^%1%2\s+&rulerregex;" column="0" dynamic="true"/>273<RegExpr String="&emptyline;" column="0"/>274<!-- Text with the same indentation captured corresponds to the item list -->275<RegExpr context="content-list" String="^%1%2\s" column="0" lookAhead="true" dynamic="true"/>276<!-- Finish when the text has a lower indentation than the list -->277<RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>278<!-- Highlight checkbox at the start of the item (task list) -->279<RegExpr attribute="List: Checkbox" context="content-list" String="\s*&checkbox;"/>280<!-- Highlight checkbox at the start of the item (task list) -->281<RegExpr attribute="Table" context="content-list-table" String="\s*\|"/>282</context>283<!-- 1. numlist (one digit) -->284<context name="numlist" attribute="List: Normal Text" lineEndContext="#stay" fallthroughContext="content-list">285<!-- Find indented code blocks, blockquotes and horizontal rules -->286<RegExpr attribute="Code" String="^%1%2\s{2}&indentedcodeblock;" column="0" dynamic="true"/>287<RegExpr attribute="Blockquote" context="blockquote-list" String="^%1%2\s{2,}>" column="0" dynamic="true"/>288<RegExpr attribute="Horizontal Rule" String="^%1%2\s{2,}&rulerregex;" column="0" dynamic="true"/>289<RegExpr String="&emptyline;" column="0"/>290<!-- Text with the same indentation captured -->291<RegExpr context="content-list" String="^%1%2\s{2}" column="0" lookAhead="true" dynamic="true"/>292<!-- Finish when the text has a lower indentation than the list -->293<RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>294</context>295<!-- 10. numlist (two or more digits) -->296<context name="numlist2" attribute="List: Normal Text" lineEndContext="#stay" fallthroughContext="content-list">297<!-- Find indented code blocks, blockquotes and horizontal rules -->298<RegExpr attribute="Code" String="^%1%2\s{3}&indentedcodeblock;" column="0" dynamic="true"/>299<RegExpr attribute="Blockquote" context="blockquote-list" String="^%1%2\s{3,}>" column="0" dynamic="true"/>300<RegExpr attribute="Horizontal Rule" String="^%1%2\s{3,}&rulerregex;" column="0" dynamic="true"/>301<RegExpr String="&emptyline;" column="0"/>302<!-- Text with the same indentation captured -->303<RegExpr context="content-list" String="^%1%2\s{3}" column="0" lookAhead="true" dynamic="true"/>304<!-- Finish when the text has a lower indentation than the list -->305<RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>306</context>307308<!-- NOTE: Empty lines, blockquotes and horizontal rules send to contexts "list", "numlist" or "numlist2" (#pop),309to check the indentation of the text and determine if the content of the list ends. -->310<context name="content-list" attribute="List: Normal Text" lineEndContext="#stay" lineEmptyContext="#pop">311<RegExpr context="#pop" String="&emptyline;" column="0"/>312<!-- Blockquote and horizontal rule (check indentation) -->313<RegExpr context="#pop" String="^\s*(?:>|&rulerregex;)" column="0" lookAhead="true"/>314<!-- End with header or new list/numlist -->315<RegExpr context="#pop#pop" String="^(?:\s*(?:&listbullet;|[\d]+\.)\s|#{1,6}\s)" column="0" lookAhead="true"/>316<!-- Strong, emphasis, strong-emphasis and strikethrough text -->317<AnyChar context="find-strong-emphasis-list" String="*_" lookAhead="true"/>318<RegExpr attribute="List: Strikethrough Text" minimal="true" String="&strikeoutregex;"/>319<RegExpr attribute="List: Highlight Text" minimal="true" String="&highlightregex;"/>320<!-- Common -->321<IncludeRules context="inc"/>322<RegExpr attribute="List: Link" String="&implicitlink;"/>323</context>324<context name="find-strong-emphasis-list" attribute="List: Normal Text" lineEndContext="#pop">325<RegExpr attribute="List: Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast_und;|&strongemphasisregex_und_ast;|&strongemphasisregex_ast_und2;|&strongemphasisregex_und_ast2;"/>326<RegExpr attribute="List: Strong Text" context="#pop" minimal="true" String="&strongregex_ast;|&strongregex_und;"/>327<RegExpr attribute="List: Strong-Emphasis Text" context="#pop" minimal="true" String="&strongemphasisregex_ast;|&strongemphasisregex_und;"/>328<RegExpr attribute="List: Emphasis Text" context="#pop" minimal="true" String="&emphasisregex_ast;|&emphasisregex_und;"/>329<AnyChar attribute="List: Normal Text" context="#pop" String="*_"/>330</context>331332<!-- Table in List -->333<context name="content-list-table" attribute="List: Normal Text" lineEndContext="#stay" lineEmptyContext="#pop">334<IncludeRules context="find-table-element"/>335<IncludeRules context="content-list"/>336</context>337338<!-- Comments -->339<context name="comment" attribute="Comment" lineEndContext="#stay">340<StringDetect attribute="Comment" context="#pop" String="&endcomment;" endRegion="comment"/>341<IncludeRules context="##Comments"/>342</context>343344<!-- Fenced Code Blocks -->345<context name="find-lang-fenced-code" attribute="Normal Text" lineEndContext="#pop">346<!-- Apply syntax highlighting to fenced code blocks for some languages -->347<RegExpr attribute="Fenced Code" context="#pop!code" String="&fcode;&end;" beginRegion="code-block"/>348<RegExpr attribute="Fenced Code" context="#pop!bash-code" String="&fcode;\s*\{?\.?(?:bash(?:rc|_profile|_login|_logout)?|shell|sh|profile|PKGBUILD|APKBUILD|ebuild|eclass|nix).*&end;" insensitive="true" beginRegion="code-block"/>349<RegExpr attribute="Fenced Code" context="#pop!zsh-code" String="&fcode;\s*\{?\.?(?:zsh).*&end;" insensitive="true" beginRegion="code-block"/>350<RegExpr attribute="Fenced Code" context="#pop!cpp-code" String="&fcode;\s*\{?\.?(?:[ch]pp|[ch]\+\+|[ch]xx|h?cc|hh|cuh?|ino|pde|moc).*&end;" insensitive="true" beginRegion="code-block"/>351<RegExpr attribute="Fenced Code" context="#pop!csharp-code" String="&fcode;\s*\{?\.?(?:cs|csharp|c\#).*&end;" insensitive="true" beginRegion="code-block"/>352<RegExpr attribute="Fenced Code" context="#pop!cmake-code" String="&fcode;\s*\{?\.?(?:cmake|CMakeLists(?:\.txt)?).*&end;" insensitive="true" beginRegion="code-block"/>353<RegExpr attribute="Fenced Code" context="#pop!css-code" String="&fcode;\s*\{?\.?css.*&end;" insensitive="true" beginRegion="code-block"/>354<RegExpr attribute="Fenced Code" context="#pop!c-code" String="&fcode;\s*\{?\.?[ch].*&end;" insensitive="true" beginRegion="code-block"/>355<RegExpr attribute="Fenced Code" context="#pop!doxygen-code" String="&fcode;\s*\{?\.?doxygen.*&end;" insensitive="true" beginRegion="code-block"/> <!-- Block comment of Doxygen -->356<RegExpr attribute="Fenced Code" context="#pop!dot-code" String="&fcode;\s*\{?\.?dot.*&end;" insensitive="true" beginRegion="code-block"/> <!-- Block comment of Doxygen -->357<RegExpr attribute="Fenced Code" context="#pop!email-code" String="&fcode;\s*\{?\.?(?:email|emlx?|mbo?x).*&end;" insensitive="true" beginRegion="code-block"/>358<RegExpr attribute="Fenced Code" context="#pop!go-code" String="&fcode;\s*\{?\.?go(?:lang)?.*&end;" insensitive="true" beginRegion="code-block"/>359<RegExpr attribute="Fenced Code" context="#pop!hamlet-code" String="&fcode;\s*\{?\.?[wxs]?hamlet.*&end;" insensitive="true" beginRegion="code-block"/> <!-- Included in the Haskell definition -->360<RegExpr attribute="Fenced Code" context="#pop!haskell-code" String="&fcode;\s*\{?\.?(?:haskell|c?hs|hs\-boot).*&end;" insensitive="true" beginRegion="code-block"/>361<RegExpr attribute="Fenced Code" context="#pop!html-code" String="&fcode;\s*\{?\.?(?:[sx]?html?|inc|tmpl|tpl).*&end;" insensitive="true" beginRegion="code-block"/>362<RegExpr attribute="Fenced Code" context="#pop!java-code" String="&fcode;\s*\{?\.?(?:java|bsh).*&end;" insensitive="true" beginRegion="code-block"/>363<RegExpr attribute="Fenced Code" context="#pop!javascript-code" String="&fcode;\s*\{?\.?(?:javascript|[mo]?js|es6|kwinscript|julius).*&end;" insensitive="true" beginRegion="code-block"/>364<RegExpr attribute="Fenced Code" context="#pop!jsx-code" String="&fcode;\s*\{?\.?(?:jsx|tsx|(?:java|type)script\-react).*&end;" insensitive="true" beginRegion="code-block"/> <!-- Included in the HTML definition. Also apply for TSX. -->365<RegExpr attribute="Fenced Code" context="#pop!json-code" String="&fcode;\s*\{?\.?(?:json5?|gltf).*&end;" insensitive="true" beginRegion="code-block"/>366<RegExpr attribute="Fenced Code" context="#pop!julia-code" String="&fcode;\s*\{?\.?(?:julia|jl).*&end;" insensitive="true" beginRegion="code-block"/>367<RegExpr attribute="Fenced Code" context="#pop!yaml-code" String="&fcode;\s*\{?\.?(?:ya?ml).*&end;" insensitive="true" beginRegion="code-block"/>368<RegExpr attribute="Fenced Code" context="#pop!matlab-code" String="&fcode;\s*\{?\.?matlab.*&end;" insensitive="true" beginRegion="code-block"/>369<RegExpr attribute="Fenced Code" context="#pop!markdown-code" String="&fcode;\s*\{?\.?(?:markdown|m?md).*&end;" insensitive="true" beginRegion="code-block"/>370<RegExpr attribute="Fenced Code" context="#pop!mustache-code" String="&fcode;\s*\{?\.?(?:handlebars|hbs|mustache|mst|ractive|hogan|hulk).*&end;" insensitive="true" beginRegion="code-block"/> <!-- Included in the HTML definition -->371<RegExpr attribute="Fenced Code" context="#pop!perl-code" String="&fcode;\s*\{?\.?(?:mermaid|perl|p[lm]|pod|psgi|vcl).*&end;" insensitive="true" beginRegion="code-block"/>372<RegExpr attribute="Fenced Code" context="#pop!php-code" String="&fcode;\s*\{?\.?(?:php[3457t]?|wml|phtml?|aw|ctp).*&end;" insensitive="true" beginRegion="code-block"/>373<RegExpr attribute="Fenced Code" context="#pop!python-code" String="&fcode;\s*\{?\.?(?:python[23]?|py[23w]?|[rc]py|sconstruct|gypi?).*&end;" insensitive="true" beginRegion="code-block"/>374<RegExpr attribute="Fenced Code" context="#pop!qml-code" String="&fcode;\s*\{?\.?qml(?:types)?.*&end;" insensitive="true" beginRegion="code-block"/>375<RegExpr attribute="Fenced Code" context="#pop!r-code" String="&fcode;\s*\{?\.?(?:r|rprofile|rscript).*&end;" insensitive="true" beginRegion="code-block"/>376<RegExpr attribute="Fenced Code" context="#pop!rest-code" String="&fcode;\s*\{?\.?(?:rst|rest|restructuredtext).*&end;" insensitive="true" beginRegion="code-block"/> <!-- Included in the CMake definition -->377<RegExpr attribute="Fenced Code" context="#pop!ruby-code" String="&fcode;\s*\{?\.?(?:ruby|rbx?|rjs|rake|f?cgi|gemspec|irbrc|ru|prawn|Appraisals|(?:Rake|Cap|Chef|Gem|Guard|Hobo|Vagrant||Rant|Berks|Thor|Puppet)file|rxml|(?:xml|js)\.erb).*&end;" insensitive="true" beginRegion="code-block"/>378<RegExpr attribute="Fenced Code" context="#pop!rust-code" String="&fcode;\s*\{?\.?(?:rust|rs).*&end;" insensitive="true" beginRegion="code-block"/>379<RegExpr attribute="Fenced Code" context="#pop!mysql-code" String="&fcode;\s*\{?\.?(?:mysql|sql|ddl).*&end;" insensitive="true" beginRegion="code-block"/> <!-- Included in the PHP definition -->380<RegExpr attribute="Fenced Code" context="#pop!nim-code" String="&fcode;\s*\{?\.?(?:nims?).*&end;" insensitive="true" beginRegion="code-block"/>381<RegExpr attribute="Fenced Code" context="#pop!typescript-code" String="&fcode;\s*\{?\.?(?:typescript|ts).*&end;" insensitive="true" beginRegion="code-block"/>382<RegExpr attribute="Fenced Code" context="#pop!xml-code" String="&fcode;\s*\{?\.?(?:xml|xsd|xspf|tld|jsp|c?pt|dtml|rss|opml|svg|daml|rdf|ui|kcfg|qrc|wsdl|scxml|xbel|dae|sch|brd|docbook).*&end;" insensitive="true" beginRegion="code-block"/>383<RegExpr attribute="Fenced Code" context="#pop!code" String="&fcode;.*$" beginRegion="code-block"/>384</context>385<context name="code" attribute="Code" lineEndContext="#stay"> <!-- Unknown language -->386<RegExpr attribute="Fenced Code" context="#pop" String="%1[~`]*(?=&end;)" firstNonSpace="true" dynamic="true" endRegion="code-block"/>387</context>388<context attribute="Normal Text" lineEndContext="#stay" name="bash-code" fallthroughContext="Command##Bash">389<IncludeRules context="code"/>390<IncludeRules context="##Bash" includeAttrib="true"/>391</context>392<context attribute="Normal Text" lineEndContext="#stay" name="zsh-code" fallthroughContext="Command##Zsh">393<IncludeRules context="code"/>394<IncludeRules context="##Zsh" includeAttrib="true"/>395</context>396<context attribute="Normal Text" lineEndContext="#stay" name="cmake-code">397<IncludeRules context="code"/>398<IncludeRules context="##CMake" includeAttrib="true"/>399</context>400<context attribute="Normal Text" lineEndContext="#stay" name="c-code">401<IncludeRules context="code"/>402<IncludeRules context="##C" includeAttrib="true"/>403</context>404<context attribute="Normal Text" lineEndContext="#stay" name="cpp-code">405<IncludeRules context="code"/>406<IncludeRules context="##C++" includeAttrib="true"/>407</context>408<context attribute="Normal Text" lineEndContext="#stay" name="csharp-code">409<IncludeRules context="code"/>410<IncludeRules context="##C#" includeAttrib="true"/>411</context>412<context attribute="Normal Text" lineEndContext="#stay" name="css-code">413<IncludeRules context="code"/>414<IncludeRules context="##CSS" includeAttrib="true"/>415</context>416<context attribute="Normal Text" lineEndContext="#stay" name="doxygen-code">417<IncludeRules context="code"/>418<IncludeRules context="BlockComment##Doxygen" includeAttrib="true"/>419</context>420<context attribute="Normal Text" lineEndContext="#stay" name="dot-code">421<IncludeRules context="code"/>422<IncludeRules context="##dot" includeAttrib="true"/>423</context>424<context attribute="Normal Text" lineEndContext="#stay" name="email-code">425<IncludeRules context="code"/>426<IncludeRules context="##Email" includeAttrib="true"/>427</context>428<context attribute="Normal Text" lineEndContext="#stay" name="go-code">429<IncludeRules context="code"/>430<IncludeRules context="##Go" includeAttrib="true"/>431</context>432<context attribute="Normal Text" lineEndContext="#stay" name="hamlet-code">433<IncludeRules context="code"/>434<IncludeRules context="##Hamlet" includeAttrib="true"/>435</context>436<context attribute="Normal Text" lineEndContext="#stay" name="haskell-code">437<IncludeRules context="code"/>438<IncludeRules context="##Haskell" includeAttrib="true"/>439</context>440<context attribute="Normal Text" lineEndContext="#stay" name="html-code">441<IncludeRules context="code"/>442<IncludeRules context="##HTML" includeAttrib="true"/>443</context>444<context attribute="Normal Text" lineEndContext="#stay" name="java-code">445<IncludeRules context="code"/>446<IncludeRules context="##Java" includeAttrib="true"/>447</context>448<context attribute="Normal Text" lineEndContext="#stay" name="javascript-code">449<IncludeRules context="code"/>450<IncludeRules context="Normal##JavaScript" includeAttrib="true"/>451</context>452<context attribute="Normal Text" lineEndContext="#stay" name="jsx-code">453<IncludeRules context="code"/>454<IncludeRules context="Normal##JavaScript React (JSX)" includeAttrib="true"/>455</context>456<context attribute="Normal Text" lineEndContext="#stay" name="json-code">457<IncludeRules context="code"/>458<IncludeRules context="##JSON" includeAttrib="true"/>459</context>460<context attribute="Normal Text" lineEndContext="#stay" name="julia-code">461<IncludeRules context="code"/>462<IncludeRules context="##Julia" includeAttrib="true"/>463</context>464<context attribute="Normal Text" lineEndContext="#stay" name="yaml-code">465<IncludeRules context="code"/>466<IncludeRules context="##YAML" includeAttrib="true"/>467</context>468<context attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="find-code-block" name="markdown-code">469<IncludeRules context="code"/>470<IncludeRules context="Normal Text"/>471</context>472<context attribute="Normal Text" lineEndContext="#stay" name="matlab-code">473<IncludeRules context="code"/>474<IncludeRules context="##Matlab" includeAttrib="true"/>475</context>476<context attribute="Normal Text" lineEndContext="#stay" name="mustache-code">477<IncludeRules context="code"/>478<IncludeRules context="##Mustache/Handlebars (HTML)" includeAttrib="true"/>479</context>480<context attribute="Normal Text" lineEndContext="#stay" name="perl-code">481<IncludeRules context="code"/>482<IncludeRules context="##Perl" includeAttrib="true"/>483</context>484<context attribute="Normal Text" lineEndContext="#stay" name="php-code">485<IncludeRules context="code"/>486<IncludeRules context="phpsource##PHP/PHP" includeAttrib="true"/>487</context>488<context attribute="Normal Text" lineEndContext="#stay" name="python-code">489<IncludeRules context="code"/>490<IncludeRules context="##Python" includeAttrib="true"/>491</context>492<context attribute="Normal Text" lineEndContext="#stay" name="qml-code">493<IncludeRules context="code"/>494<IncludeRules context="Normal##QML" includeAttrib="true"/>495</context>496<context attribute="Normal Text" lineEndContext="#stay" name="r-code">497<IncludeRules context="code"/>498<IncludeRules context="##R Script" includeAttrib="true"/>499</context>500<context attribute="Normal Text" lineEndContext="#stay" name="raku-code" fallthroughContext="term##Raku">501<IncludeRules context="code"/>502<IncludeRules context="base##Raku" includeAttrib="true"/>503</context>504<context attribute="Normal Text" lineEndContext="#stay" name="rest-code">505<IncludeRules context="code"/>506<IncludeRules context="##reStructuredText" includeAttrib="true"/>507</context>508<context attribute="Normal Text" lineEndContext="#stay" name="ruby-code">509<IncludeRules context="code"/>510<IncludeRules context="##Ruby" includeAttrib="true"/>511</context>512<context attribute="Normal Text" lineEndContext="#stay" name="rust-code">513<IncludeRules context="code"/>514<IncludeRules context="##Rust" includeAttrib="true"/>515</context>516<context attribute="Normal Text" lineEndContext="#stay" name="mysql-code">517<IncludeRules context="code"/>518<IncludeRules context="##SQL (MySQL)" includeAttrib="true"/>519</context>520<context attribute="Normal Text" lineEndContext="#stay" name="nim-code">521<IncludeRules context="code"/>522<IncludeRules context="##Nim" includeAttrib="true"/>523</context>524<context attribute="Normal Text" lineEndContext="#stay" name="typescript-code">525<IncludeRules context="code"/>526<IncludeRules context="Normal##TypeScript" includeAttrib="true"/>527</context>528<context attribute="Normal Text" lineEndContext="#stay" name="xml-code">529<IncludeRules context="code"/>530<IncludeRules context="##XML" includeAttrib="true"/>531</context>532533<!-- Common -->534<context name="inc" attribute="Normal Text" lineEndContext="#stay">535<!-- Code -->536<RegExpr attribute="Code" String="`[^`]+`(?!`)|`{2}[^`](?:.*?[^`])?`{2}(?!`)|`{3}[^`](?:.*?[^`])?`{3}(?!`)|`{4}[^`](?:.*?[^`])?`{4}(?!`)|`{5,}[^`](?:.*?[^`])?`{5,}"/>537<!-- Find Fenced Code Block -->538<RegExpr attribute="Fenced Code" context="find-lang-fenced-code" String="`{3,}(?=[^`]*$)|~{3,}(?=[^~]*$)" firstNonSpace="true" lookAhead="true"/>539<!-- Comment -->540<StringDetect attribute="Comment" context="comment" String="&startcomment;" beginRegion="comment"/>541<!-- Links and References -->542<RegExpr attribute="Reference-Link Target" context="reflinktarget" String="&reflinktargetregex;" firstNonSpace="true"/>543<RegExpr attribute="Footnote" String="&footnoteregex;"/>544<RegExpr attribute="Reference-Link" context="find-reflink" String="&reflinkregex;"/>545<RegExpr attribute="Inline Image" context="inlineimage" String="&inlineimageregex;"/>546<RegExpr attribute="Reference Image" String="&refimageregex;"/>547<RegExpr attribute="Auto-Link" context="autolink" String="&autolinkregex;" lookAhead="true"/>548<RegExpr attribute="Mailto-Link" context="mailtolink" String="&mailtolinkregex;"/>549<!-- Emoji -->550<RegExpr attribute="Emoji" String="&emojiregex;"/>551<!-- Line Break -->552<RegExpr attribute="Line Break" minimal="true" String="&linebreakregex;"/>553<!-- Backslash Escapes -->554<Detect2Chars attribute="Backslash Escape" char="\" char1="\"/>555<Detect2Chars attribute="Backslash Escape" char="\" char1="`"/>556<Detect2Chars attribute="Backslash Escape" char="\" char1="*"/>557<Detect2Chars attribute="Backslash Escape" char="\" char1="_"/>558<Detect2Chars attribute="Backslash Escape" char="\" char1="{"/>559<Detect2Chars attribute="Backslash Escape" char="\" char1="}"/>560<Detect2Chars attribute="Backslash Escape" char="\" char1="["/>561<Detect2Chars attribute="Backslash Escape" char="\" char1="]"/>562<Detect2Chars attribute="Backslash Escape" char="\" char1="("/>563<Detect2Chars attribute="Backslash Escape" char="\" char1=")"/>564<Detect2Chars attribute="Backslash Escape" char="\" char1="#"/>565<Detect2Chars attribute="Backslash Escape" char="\" char1="+"/>566<Detect2Chars attribute="Backslash Escape" char="\" char1="-"/>567<Detect2Chars attribute="Backslash Escape" char="\" char1="."/>568<Detect2Chars attribute="Backslash Escape" char="\" char1="!"/>569<Detect2Chars attribute="Backslash Escape" char="\" char1="|"/>570<Detect2Chars attribute="Backslash Escape" char="\" char1="<"/>571<Detect2Chars attribute="Backslash Escape" char="\" char1=">"/>572<Detect2Chars attribute="Backslash Escape" char="\" char1="&"/>573<!-- Inline HTML -->574<RegExpr attribute="EntityRef" String="&(?:#[0-9]+|#[xX][0-9A-Fa-f]+|&htmlname;);"/>575<RegExpr context="find-html-block" String="</?&htmlname;(?:[\s>]|/>|$)" lookAhead="true"/>576</context>577<context name="find-html-block" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">578<IncludeRules context="FindElements##HTML"/>579</context>580581<!-- Links and email: <https://example.com>, <[email protected]> -->582<context name="autolink" attribute="Auto-Link" lineEndContext="#pop" fallthroughContext="#pop">583<DetectChar attribute="Auto-Link" char="<"/>584<DetectChar attribute="Auto-Link" context="#pop" char=">"/>585<RegExpr attribute="Link" String="&startlink;[^">\s]+"/>586</context>587<context name="mailtolink" attribute="Email" lineEndContext="#pop">588<DetectChar attribute="Mailto-Link" context="#pop" char=">"/>589</context>590591<!-- References: [example][id], [example](http://example.com) -->592<context name="find-reflink" attribute="Reference-Link Name" lineEndContext="#pop">593<Detect2Chars attribute="Reference-Link Name" char="\" char1="]"/>594<RegExpr attribute="Reference-Link" context="#pop!find-reflink-id" String="\](?=&reflinkidregex;)"/> <!-- Find id -->595<DetectChar attribute="Reference-Link" context="#pop" char="]"/>596<!-- Image as link or reference -->597<RegExpr attribute="Inline Image" context="inlineimage" String="&startinlineimage;(?=&endinlineimage;&refchar;*\])"/>598<RegExpr attribute="Reference Image" String="&refimageregex;(?=&refchar;*\])"/>599<RegExpr attribute="Reference-Link Name" context="#stay" String="(?:\[(?:\\.|[^\[\]\\])*\](?:\\.|[^\[\]\\])*)+(?=\])" minimal="true"/>600</context>601<context name="find-reflink-id" attribute="Reference-Link" lineEndContext="#pop">602<DetectSpaces />603<!-- Ref.: [an example][id] "Optional title" -->604<DetectChar attribute="Reference-Link" context="#pop!reflink-id" char="["/>605<!-- Inline Ref.: [an example](http://example.com/ "Title") -->606<DetectChar attribute="Reference-Link" context="#pop!reflink-inline-id" char="("/>607</context>608<context name="reflink-inline-id" attribute="Reference-Link" lineEndContext="#pop">609<Detect2Chars attribute="Reference-Link" char="\" char1=")"/>610<DetectChar attribute="Reference-Link" context="#pop" char=")"/>611<RegExpr attribute="Reference-Link: Link" String="\b&startlink;(?:\\.|[^">\s\)\\])+"/>612<RegExpr attribute="Reference-Link: Email" String="\b&email;\b"/>613</context>614<context name="reflink-id" attribute="Reference-Link ID" lineEndContext="#pop">615<Detect2Chars attribute="Reference-Link ID" char="\" char1="]"/>616<DetectChar attribute="Reference-Link" context="#pop!reflink-title" char="]"/>617<RegExpr attribute="Reference-Link: Link" String="\b&startlink;(?:\\.|[^">\s\]\\])+"/>618</context>619<!-- [an example][id] "title" -->620<context name="reflink-title" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">621<RegExpr attribute="Reference-Link" context="#pop" String="\s+"(?:\\.|[^"\\])*""/>622</context>623624<!-- Target Ref.: [foo]: http://example.com/ "Optional Title Here" -->625<context name="reflinktarget" attribute="Reference-Link Target" lineEndContext="#pop" fallthroughContext="#pop">626<RegExpr attribute="Reference-Link Target: Link" context="#pop!reflinktarget-title" String="\s*&link;(?=\s|$)"/>627<RegExpr attribute="Reference-Link Target" context="#pop!reflinktarget-link" String="\s*<(?=&link;>(?:\s|$))"/>628<RegExpr attribute="Reference-Link Target" context="#pop!reflinktarget-title" String="\s*#[\w\.\:\-]+\b"/>629</context>630<context name="reflinktarget-link" attribute="Reference-Link Target" lineEndContext="#pop" fallthroughContext="#pop">631<DetectChar attribute="Reference-Link Target" context="#pop!reflinktarget-title" char=">"/>632<RegExpr attribute="Reference-Link Target: Link" String="&link;"/>633</context>634<context name="reflinktarget-title" attribute="Reference-Link Target" lineEndContext="#pop" fallthroughContext="#pop">635<DetectSpaces attribute="Reference-Link Target"/>636<RegExpr attribute="Reference-Link Target" context="#pop" String=""(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^\)\\])*\)"/>637</context>638639<!-- Image -->640<context name="inlineimage" attribute="Inline Image" lineEndContext="#pop">641<DetectChar attribute="Inline Image" context="#pop" char=")"/>642<Detect2Chars attribute="Inline Image" char="\" char1=")"/>643<RegExpr attribute="Inline Image: Link" String="\b&startlink;(?:\\.|[^">\s\)\\])+"/>644</context>645</contexts>646<itemDatas>647<itemData name="Normal Text" defStyleNum="dsNormal"/>648<itemData name="Emphasis Text" defStyleNum="dsNormal" italic="true"/>649<itemData name="Strong Text" defStyleNum="dsNormal" bold="true"/>650<itemData name="Strong-Emphasis Text" defStyleNum="dsNormal" italic="true" bold="true"/>651<itemData name="Strikethrough Text" defStyleNum="dsNormal" strikeOut="true"/>652<itemData name="Highlight Text" defStyleNum="dsAlert"/>653<itemData name="Normal Text: Link" defStyleNum="dsNormal" underline="true" spellChecking="false"/>654<itemData name="Horizontal Rule" defStyleNum="dsNormal" bold="true" spellChecking="false"/>655<itemData name="Line Break" defStyleNum="dsNormal" underline="true" color="#999999" spellChecking="false"/>656<itemData name="Header H1" defStyleNum="dsFunction" bold="true"/>657<itemData name="Header H2" defStyleNum="dsFunction" bold="true"/>658<itemData name="Header H3" defStyleNum="dsFunction" bold="true"/>659<itemData name="Header H4" defStyleNum="dsFunction" bold="true"/>660<itemData name="Header H5" defStyleNum="dsFunction" bold="true"/>661<itemData name="Header H6" defStyleNum="dsFunction" bold="true"/>662<itemData name="Blockquote" defStyleNum="dsAttribute" spellChecking="false"/>663<itemData name="Blockquote: Normal Text" defStyleNum="dsAttribute"/>664<itemData name="Blockquote: Emphasis Text" defStyleNum="dsAttribute" italic="true"/>665<itemData name="Blockquote: Strong Text" defStyleNum="dsAttribute" bold="true"/>666<itemData name="Blockquote: Strong-Emphasis Text" defStyleNum="dsAttribute" italic="true" bold="true"/>667<itemData name="Blockquote: Strikethrough Text" defStyleNum="dsAttribute" strikeOut="true"/>668<itemData name="Blockquote: Highlight Text" defStyleNum="dsAlert"/>669<itemData name="Blockquote: Link" defStyleNum="dsAttribute" underline="true" spellChecking="false"/>670<itemData name="List" defStyleNum="dsSpecialString" bold="1" spellChecking="false"/>671<itemData name="Number List" defStyleNum="dsSpecialString" spellChecking="false"/>672<itemData name="List: Normal Text" defStyleNum="dsNormal"/>673<itemData name="List: Emphasis Text" defStyleNum="dsNormal" italic="true"/>674<itemData name="List: Strong Text" defStyleNum="dsNormal" bold="true"/>675<itemData name="List: Strong-Emphasis Text" defStyleNum="dsNormal" italic="true" bold="true"/>676<itemData name="List: Strikethrough Text" defStyleNum="dsNormal" strikeOut="true"/>677<itemData name="List: Highlight Text" defStyleNum="dsAlert"/>678<itemData name="List: Link" defStyleNum="dsNormal" underline="true" spellChecking="false"/>679<itemData name="List: Checkbox" defStyleNum="dsVariable" spellChecking="false"/>680<itemData name="Comment" defStyleNum="dsComment"/>681<itemData name="Code" defStyleNum="dsInformation"/>682<itemData name="Fenced Code" defStyleNum="dsInformation" spellChecking="false"/>683<itemData name="Table" defStyleNum="dsPreprocessor"/>684<itemData name="Emoji" defStyleNum="dsSpecialChar" spellChecking="false"/>685<itemData name="Auto-Link" defStyleNum="dsOthers" spellChecking="false"/>686<itemData name="Link" defStyleNum="dsOthers" underline="true" spellChecking="false"/>687<itemData name="Mailto-Link" defStyleNum="dsOthers" spellChecking="false"/>688<itemData name="Email" defStyleNum="dsOthers" italic="true" underline="true" spellChecking="false"/>689<itemData name="Footnote" defStyleNum="dsOthers" italic="true"/>690<itemData name="Reference-Link" defStyleNum="dsComment" italic="false"/>691<itemData name="Reference-Link Name" defStyleNum="dsOthers" underline="true" italic="false"/>692<itemData name="Reference-Link ID" defStyleNum="dsComment" italic="false"/>693<itemData name="Reference-Link: Link" defStyleNum="dsComment" underline="true" italic="false" spellChecking="false"/>694<itemData name="Reference-Link: Email" defStyleNum="dsComment" italic="true" underline="true" spellChecking="false"/>695<itemData name="Reference-Link Target" defStyleNum="dsOthers" italic="false" bold="false"/>696<itemData name="Reference-Link Target: Link" defStyleNum="dsOthers" underline="true" spellChecking="false"/>697<itemData name="Inline Image" defStyleNum="dsAlert" italic="false" bold="false"/>698<itemData name="Reference Image" defStyleNum="dsAlert" italic="false" bold="false"/>699<itemData name="Inline Image: Link" defStyleNum="dsAlert" italic="false" bold="false" underline="true"/>700<itemData name="Metadata Title" defStyleNum="dsAnnotation"/>701<itemData name="Metadata" defStyleNum="dsComment" italic="0"/>702<itemData name="Backslash Escape" defStyleNum="dsSpecialChar" spellChecking="false"/>703<itemData name="EntityRef" defStyleNum="dsDecVal" spellChecking="false"/>704</itemDatas>705</highlighting>706<general>707<keywords additionalDeliminator="`"/>708<comments>709<comment name="multiLine" start="&startcomment;" end="&endcomment;" region="comment"/>710</comments>711</general>712</language>713<!-- kate: replace-tabs on; indent-width 2; tab-width 2; -->714715716