diff options
Diffstat (limited to 'kate/data/markdown.xml')
-rw-r--r-- | kate/data/markdown.xml | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/kate/data/markdown.xml b/kate/data/markdown.xml new file mode 100644 index 000000000..a132f6d63 --- /dev/null +++ b/kate/data/markdown.xml @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Kate syntax highlight filter for Markdown/MultiMarkdown documents. + + Copyright 2008 Darrin Yeager. http://www.dyeager.org/ + Dual-Licensed under both GPL and BSD licenses. + + Extended 2009 Claes Holmerson. http://github.com/claes/kate-markdown/ +--> + + +<!-- the [^\s]{1} is in the regex to avoid interfering with bullet list which + starts "* item". Thus emphasis/strong MUST be formed like *words here* + with the asterisks next to the beginning of the first word. + + Match space or newline, followed by "*", followed by one non-space, + followed by anything non-asterisk, followed by "*", followed by + space, end-of-sentence punctuation, or the end of the line. +--> +<!DOCTYPE language SYSTEM "language.dtd" + [ + <!ENTITY strongemphasisregex "(\s|^)[\*_]{3}[^\*_]+[\*_]{3}(\s|\.|,|;|:|\-|\?|$)"> + <!ENTITY strongregex "(\s|^)[\*_]{2}[^\s]{1}[^\*_]+[\*_]{2}(\s|\.|,|;|:|\-|\?|$)"> + <!ENTITY emphasisregex "(\s|^)[\*_]{1}[^\s]{1}[^\*_]+[\*_]{1}(\s|\.|,|;|:|\-|\?|$)"> + <!ENTITY reflinkregex '\[[^\]\^]+\]\s*\[[^\]]*\]\s*(\s+\"[^\"]*\"){0,1}'> + <!ENTITY reflinktargetregex '\[[^\]\^]+\]\:\s+[^\s]+(\s+\"[^\"]*\"){0,1}'> + <!ENTITY footnoteregex "\[\^[^\]]+\]"> + <!ENTITY inlinelinkregex '\[[^\]\^]+\]\s*\([^\(]*\)'> + <!ENTITY inlineimageregex '\!\[[^\]\^]+\]\([^\(]*\)'> + <!ENTITY refimageregex '\!\[[^\]\^]+\]\[[^\[]*\]'> + <!ENTITY autolinkregex '<(https?|ftp):[^\">\s]+>'> + <!ENTITY mailtolinkregex '<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>'> + <!ENTITY rulerregex '\s*([\*\-_]\s?){3,}\s*'> + <!-- two spaces at end of line generates linebreak --> + <!ENTITY linebreakregex " $"> + <!ENTITY strikeoutregex "[~]{2}[^~].*[^~][~]{2}"> <!-- pandoc style --> +]> + +<language name="Markdown" version="1.2" section="Markup" + extensions="*.text;*.md;*.mmd;*.mdwn" priority="15" + author="Darrin Yeager, Claes Holmerson" + license="GPL,BSD" > + <highlighting> + <contexts> + + <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" > + <DetectChar context="blockquote" char=">" column="0"/> + <RegExpr attribute="h1" String="^#\s.*[#]?$" /> + <RegExpr attribute="h2" String="^##\s.*[#]?$" /> + <RegExpr attribute="h3" String="^###\s.*[#]?$" /> + <RegExpr attribute="h4" String="^####\s.*[#]?$" /> + <RegExpr attribute="h5" String="^#####\s.*[#]?$" /> + <RegExpr attribute="ruler" String="&rulerregex;" /> + <RegExpr attribute="strong" String="&strongregex;" /> + <RegExpr attribute="emphasis" String="&emphasisregex;" /> + <RegExpr attribute="strongemphasis" String="&strongemphasisregex;" /> + <RegExpr attribute="code" String="^([\s]{4,}|\t+).*$" /> + <RegExpr context="bullet" String="^[\*\+\-]\s" /> + <RegExpr context="numlist" String="^[\d]+\.\s" /> + <RegExpr attribute="meta" String="^(Title|Author|Date|Copyright|Revision|CSS|LaTeX\ XSLT|Categories|Tags|BaseName|Excerpt):(.*)+$" /> + <IncludeRules context="inc" /> + </context> + + <context attribute="blockquote" lineEndContext="#pop" name="blockquote"> + <RegExpr attribute="bq-strong" String="&strongregex;" /> + <RegExpr attribute="bq-emphasis" String="&emphasisregex;" /> + <IncludeRules context="inc" /> + </context> + + <context attribute="bullet" lineEndContext="#pop" name="bullet" > + <RegExpr attribute="bl-strong" String="&strongregex;" /> + <RegExpr attribute="bl-emphasis" String="&emphasisregex;" /> + <IncludeRules context="inc" /> + </context> + + <context attribute="numlist" lineEndContext="#pop" name="numlist" > + <RegExpr attribute="nl-strong" String="&strongregex;" /> + <RegExpr attribute="nl-emphasis" String="&emphasisregex;" /> + <IncludeRules context="inc" /> + </context> + + <context attribute="comment" lineEndContext="#stay" name="comment" > + <RegExpr String="-->" attribute="comment" context="#pop" endRegion="comment"/> + </context> + + <context attribute="common" name="inc" lineEndContext="#stay" > + <RegExpr attribute="code" String="`[^`]+`" /> + <RegExpr context="comment" String="<!--" beginRegion="comment" /> + <RegExpr attribute="reflink" String="&reflinkregex;" /> + <RegExpr attribute="footnote" String="&footnoteregex;" /> + <RegExpr attribute="inlinelink" String="&inlinelinkregex;"/> + <RegExpr attribute="reflinktarget" String="&reflinktargetregex;"/> + <RegExpr attribute="inlineimage" String="&inlineimageregex;"/> + <RegExpr attribute="refimage" String="&refimageregex;"/> + <RegExpr attribute="autolink" String="&autolinkregex;"/> + <RegExpr attribute="mailtolink" String="&mailtolinkregex;"/> + <RegExpr attribute="strikeout" minimal="true" String="&strikeoutregex;"/> + <RegExpr attribute="linebreak" minimal="true" String="&linebreakregex;"/> + </context> + </contexts> + + <itemDatas> + <itemData name="Normal Text" defStyleNum="dsNormal" /> + <itemData name="common" defStyleNum="dsNormal" /> + <itemData name="strongemphasis" defStyleNum="dsNormal" italic="true" bold="true"/> + <itemData name="emphasis" defStyleNum="dsNormal" italic="true" /> + <itemData name="strong" defStyleNum="dsNormal" bold="true" /> + <itemData name="ruler" defStyleNum="dsNormal" bold="true" /> + <itemData name="strikeout" defStyleNum="dsNormal" strikeOut="true" /> + <itemData name="linebreak" defStyleNum="dsNormal" underline="true" color="#999999"/> + <itemData name="h1" defStyleNum="dsFunction" bold="true" /> + <itemData name="h2" defStyleNum="dsFunction" bold="true" /> + <itemData name="h3" defStyleNum="dsFunction" bold="true" /> + <itemData name="h4" defStyleNum="dsFunction" bold="true" /> + <itemData name="h5" defStyleNum="dsFunction" bold="true" /> + <itemData name="blockquote" defStyleNum="dsDataType" /> + <itemData name="bq-emphasis" defStyleNum="dsDataType" italic="true" /> + <itemData name="bq-strong" defStyleNum="dsDataType" bold="true" /> + <itemData name="bullet" defStyleNum="dsFloat" /> + <itemData name="bl-emphasis" defStyleNum="dsFloat" italic="true" /> + <itemData name="bl-strong" defStyleNum="dsFloat" bold="true" /> + <itemData name="numlist" defStyleNum="dsFloat" /> + <itemData name="nl-emphasis" defStyleNum="dsFloat" italic="true" /> + <itemData name="nl-strong" defStyleNum="dsFloat" bold="true" /> + <itemData name="comment" defStyleNum="dsComment" /> + <itemData name="code" defStyleNum="dsBaseN" /> + <itemData name="reflink" defStyleNum="dsOthers" underline="true" /> + <itemData name="inlinelink" defStyleNum="dsOthers" underline="true" /> + <itemData name="autolink" defStyleNum="dsOthers" underline="true" /> + <itemData name="mailtolink" defStyleNum="dsOthers" underline="true" /> + <itemData name="footnote" defStyleNum="dsOthers" italic="true" /> + <itemData name="meta" defStyleNum="dsComment" /> + <itemData name="reflinktarget" defStyleNum="dsOthers" italic="false" bold="false" /> + <itemData name="inlineimage" defStyleNum="dsAlert" italic="false" bold="false" /> + <itemData name="refimage" defStyleNum="dsAlert" italic="false" bold="false" /> + </itemDatas> + + </highlighting> + + <general> + <comments> + <comment name="multiLine" start="<!--" end="-->" region="comment" /> + </comments> + </general> + + </language> |