summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRay-V <ray-v@inbox.lv>2022-07-01 20:58:12 +0100
committerMichele Calgaro <michele.calgaro@yahoo.it>2022-10-18 20:20:10 +0900
commit609a7393b262cbfe37e58d95169b0a5baf8b075d (patch)
tree28f313891ccdd72be5122ae8c582a225279c6ff5
parente9571392f67334d5b02191debfefe3b7ee064b8f (diff)
downloadtdelibs-609a7393.tar.gz
tdelibs-609a7393.zip
Kate: improved markdown syntax highlighting.
Signed-off-by: Ray-V <ray-v@inbox.lv> Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
-rw-r--r--kate/data/markdown.xml130
-rw-r--r--kate/data/update-files.xml2
2 files changed, 91 insertions, 41 deletions
diff --git a/kate/data/markdown.xml b/kate/data/markdown.xml
index 7d99d02ed..2ede54fd3 100644
--- a/kate/data/markdown.xml
+++ b/kate/data/markdown.xml
@@ -4,7 +4,7 @@
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/
-->
@@ -25,19 +25,31 @@
<!ENTITY reflinkregex '\[[^\]\^]+\]\s*\[[^\]]*\]\s*(\s+\"[^\"]*\"){0,1}'>
<!ENTITY reflinktargetregex '\[[^\]\^]+\]\:\s+[^\s]+(\s+\"[^\"]*\"){0,1}'>
<!ENTITY footnoteregex "\[\^[^\]]+\]">
+ <!ENTITY preregex "^\s*```\s*">
+ <!ENTITY pretilderegex "^\s*~~~\s*">
+ <!ENTITY preendregex "^\s*```\s*$">
+ <!ENTITY pretildeendregex "^\s*~~~\s*$">
+ <!ENTITY presingleline '```[^`]+```'>
+ <!ENTITY idlinkregex '\[[^\]\^]+\]\s*\(#[^\(]*\)'>
<!ENTITY inlinelinkregex '\[[^\]\^]+\]\s*\([^\(]*\)'>
<!ENTITY inlineimageregex '\!\[[^\]\^]+\]\([^\(]*\)'>
<!ENTITY refimageregex '\!\[[^\]\^]+\]\[[^\[]*\]'>
<!ENTITY autolinkregex '&lt;(https?|ftp):[^\"&gt;\s]+&gt;'>
<!ENTITY mailtolinkregex '&lt;(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)&gt;'>
- <!ENTITY rulerregex '^\s*([\*\-_]){3,}\s*$'>
+ <!ENTITY rulerregex '^ {,3}([\*\-_]\s*){3,}\s*$'>
<!-- two spaces at end of line generates linebreak -->
- <!ENTITY linebreakregex " $">
- <!ENTITY strikeoutregex "[~]{2}[^~].*[^~][~]{2}"> <!-- pandoc style -->
+ <!ENTITY linebreakregex "( |\\)$">
+ <!ENTITY strikeoutregex "~~[^~\s].*[^~\s]~~">
+ <!ENTITY prediffregex "^(```|~~~)\s{0,}diff">
+ <!ENTITY difflineremoveregex "^-[^-].*$">
+ <!ENTITY difflineaddregex "^\+[^\+].*$">
+ <!ENTITY diffheader1regex "^-{3} .*$">
+ <!ENTITY diffheader2regex "^(\+{3} .*|^@@.*)$">
+ <!ENTITY diffheaderdiffregex "^diff .*$">
]>
-
-<language name="Markdown" version="1.3" section="Markup"
- extensions="*.text;*.md;*.mmd;*.mdwn" priority="15"
+
+<language name="Markdown" version="1.4" section="Markup"
+ extensions="*.md;*.mmd;*.mdwn"
author="Darrin Yeager, Claes Holmerson"
license="GPL,BSD" >
<highlighting>
@@ -50,13 +62,14 @@
<RegExpr attribute="h3" String="^###\s.*[#]?$" />
<RegExpr attribute="h4" String="^####\s.*[#]?$" />
<RegExpr attribute="h5" String="^#####\s.*[#]?$" />
+ <RegExpr attribute="h6" String="^######\s.*[#]?$" />
<RegExpr attribute="strongemphasis" String="&strongemphasisregex;" />
<RegExpr attribute="strong" String="&strongregex;" />
<RegExpr attribute="emphasis" String="&emphasisregex;" />
<RegExpr attribute="ruler" String="&rulerregex;" />
+ <RegExpr context="bullet" String="^ {,3}[\*\+\-]\s" />
+ <RegExpr context="numlist" String="^ {,3}[\d]+\.\s" />
<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>
@@ -64,30 +77,56 @@
<context attribute="blockquote" lineEndContext="#pop" name="blockquote">
<RegExpr attribute="bq-strong" String="&strongregex;" />
<RegExpr attribute="bq-emphasis" String="&emphasisregex;" />
+ <RegExpr attribute="bq-strongemphasis" String="&strongemphasisregex;" />
<IncludeRules context="inc" />
</context>
<context attribute="bullet" lineEndContext="#pop" name="bullet" >
<RegExpr attribute="bl-strong" String="&strongregex;" />
<RegExpr attribute="bl-emphasis" String="&emphasisregex;" />
+ <RegExpr attribute="bl-strongemphasis" String="&strongemphasisregex;" />
<IncludeRules context="inc" />
</context>
-
+
<context attribute="numlist" lineEndContext="#pop" name="numlist" >
<RegExpr attribute="nl-strong" String="&strongregex;" />
<RegExpr attribute="nl-emphasis" String="&emphasisregex;" />
+ <RegExpr attribute="nl-strongemphasis" String="&strongemphasisregex;" />
<IncludeRules context="inc" />
</context>
-
+
<context attribute="comment" lineEndContext="#stay" name="comment" >
<RegExpr String="--&gt;" attribute="comment" context="#pop" endRegion="comment"/>
</context>
+ <context attribute="prediff" lineEndContext="#stay" name="prediff" >
+ <RegExpr String="&preendregex;" attribute="prediff" context="#pop" endRegion="prediff"/>
+ <RegExpr attribute="difflineremove" String="&difflineremoveregex;" />
+ <RegExpr attribute="difflineadd" String="&difflineaddregex;" />
+ <RegExpr attribute="diffheader1" String="&diffheader1regex;" />
+ <RegExpr attribute="diffheader2" String="&diffheader2regex;" />
+ <RegExpr attribute="diffheaderdiff" String="&diffheaderdiffregex;" />
+ </context>
+
+ <context attribute="code" lineEndContext="#stay" name="pre" >
+ <RegExpr String="&preendregex;" attribute="code" context="#pop" endRegion="pre"/>
+ </context>
+
+ <context attribute="code" lineEndContext="#stay" name="pretilde" >
+ <RegExpr String="&pretildeendregex;" attribute="code" context="#pop" endRegion="pretilde"/>
+ </context>
+
<context attribute="common" name="inc" lineEndContext="#stay" >
- <RegExpr attribute="code" String="`[^`]+`" />
<RegExpr context="comment" String="&lt;!--" beginRegion="comment" />
+ <RegExpr context="prediff" String="&prediffregex;" beginRegion="prediff" />
+ <RegExpr attribute="code" minimal="true" String="&presingleline;"/>
+ <RegExpr attribute="code" context="pre" String="&preregex;" beginRegion="pre" />
+ <RegExpr attribute="code" context="pretilde" String="&pretilderegex;" beginRegion="pretilde" />
+ <RegExpr attribute="code" String="``.*``" />
+ <RegExpr attribute="code" String="`[^`]*`" />
<RegExpr attribute="reflink" String="&reflinkregex;" />
<RegExpr attribute="footnote" String="&footnoteregex;" />
+ <RegExpr attribute="idlink" String="&idlinkregex;"/>
<RegExpr attribute="inlinelink" String="&inlinelinkregex;"/>
<RegExpr attribute="reflinktarget" String="&reflinktargetregex;"/>
<RegExpr attribute="inlineimage" String="&inlineimageregex;"/>
@@ -104,43 +143,54 @@
<itemData name="common" defStyleNum="dsNormal" />
<itemData name="emphasis" defStyleNum="dsNormal" italic="true" />
<itemData name="strong" defStyleNum="dsNormal" bold="true" />
+ <itemData name="diffheader1" defStyleNum="dsNormal" backgroundColor="#eeeeee" color="#800000" bold="true" />
+ <itemData name="diffheader2" defStyleNum="dsNormal" backgroundColor="#eeeeee" color="#800000" />
+ <itemData name="diffheaderdiff" defStyleNum="dsNormal" backgroundColor="#eeeeee" color="#000000" bold="true" />
+ <itemData name="difflineremove" defStyleNum="dsNormal" backgroundColor="#ffeef0" />
+ <itemData name="difflineadd" defStyleNum="dsNormal" backgroundColor="#e6ffed" />
<itemData name="strongemphasis" defStyleNum="dsNormal" italic="true" 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="ruler" defStyleNum="dsNormal" color="#e200e2" bold="true" />
+ <itemData name="strikeout" defStyleNum="dsNormal" strikeOut="true" backgroundColor="#fafaaf" />
+ <itemData name="linebreak" defStyleNum="dsNormal" backgroundColor="#F8E0FF" />
<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="h6" defStyleNum="dsFunction" bold="true" />
+ <itemData name="blockquote" defStyleNum="dsNormal" color="black" />
+ <itemData name="bq-emphasis" defStyleNum="dsNormal" color="black" italic="true" />
+ <itemData name="bq-strong" defStyleNum="dsNormal" color="black" bold="true" />
+ <itemData name="bq-strongemphasis" defStyleNum="dsNormal" color="black" italic="true" bold="true" />
+ <itemData name="bullet" defStyleNum="dsNormal" color="#b700b7" />
+ <itemData name="bl-emphasis" defStyleNum="dsNormal" color="#b700b7" italic="true" />
+ <itemData name="bl-strong" defStyleNum="dsNormal" color="#b700b7" bold="true" />
+ <itemData name="bl-strongemphasis" defStyleNum="dsNormal" color="#b700b7" bold="true" italic="true" />
+ <itemData name="numlist" defStyleNum="dsNormal" color="#b700b7" />
+ <itemData name="nl-emphasis" defStyleNum="dsNormal" color="#b700b7" italic="true" />
+ <itemData name="nl-strong" defStyleNum="dsNormal" color="#b700b7" bold="true" />
+ <itemData name="nl-strongemphasis" defStyleNum="dsNormal" color="#b700b7" bold="true" italic="true" />
+ <itemData name="comment" defStyleNum="dsComment" />
+ <itemData name="pre" defStyleNum="dsNormal" backgroundColor="#eeeeee" />
+ <itemData name="prediff" defStyleNum="dsNormal" backgroundColor="#eeeeee" />
+ <itemData name="code" defStyleNum="dsNormal" color="darkcyan" backgroundColor="#eeeeee" />
+ <itemData name="reflink" defStyleNum="dsOthers" color="blue" />
+ <itemData name="idlink" defStyleNum="dsOthers" color="blue" italic="true" />
+ <itemData name="inlinelink" defStyleNum="dsOthers" color="blue" />
<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" />
+ <itemData name="meta" defStyleNum="dsComment" />
+ <itemData name="reflinktarget" defStyleNum="dsOthers" />
+ <itemData name="inlineimage" defStyleNum="dsNormal" backgroundColor="#fff8f8" color="blue" />
+ <itemData name="refimage" defStyleNum="dsNormal" backgroundColor="#fff8f8" color="blue" />
</itemDatas>
+ </highlighting>
- </highlighting>
-
- <general>
- <comments>
- <comment name="multiLine" start="&lt;!--" end="--&gt;" region="comment" />
- </comments>
- </general>
+ <general>
+ <comments>
+ <comment name="multiLine" start="&lt;!--" end="--&gt;" region="comment" />
+ </comments>
+ </general>
- </language>
+</language>
diff --git a/kate/data/update-files.xml b/kate/data/update-files.xml
index 004f7dab2..6b2200e6c 100644
--- a/kate/data/update-files.xml
+++ b/kate/data/update-files.xml
@@ -136,7 +136,7 @@
<Definition name="Makefile" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/makefile.xml" version="2.1"/>
<Definition name="Mako" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/mako.xml" version="1.0"/>
<Definition name="Troff Mandoc" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/mandoc.xml" version="2"/>
-<Definition name="Markdown" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/markdown.xml" version="1.3"/>
+<Definition name="Markdown" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/markdown.xml" version="1.4"/>
<Definition name="Mason" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/mason.xml" version="4"/>
<Definition name="Mathematica" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/mathematica.xml" version="8.1"/>
<Definition name="Matlab" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/matlab.xml" version="2-2"/>