diff options
author | Mavridis Philippe <mavridisf@gmail.com> | 2022-06-07 22:51:48 +0300 |
---|---|---|
committer | Mavridis Philippe <mavridisf@gmail.com> | 2022-06-08 13:30:08 +0300 |
commit | f8c1d05234d45674cc122ed982e7392595859852 (patch) | |
tree | 02e13242a6e75330ec5d2e150d60b8c7e593a131 | |
parent | 18c8dbb466c565ff2ae24bfee122890653c3e945 (diff) | |
download | tdelibs-f8c1d05234d45674cc122ed982e7392595859852.tar.gz tdelibs-f8c1d05234d45674cc122ed982e7392595859852.zip |
Kate: syntax highlighting for Markdown
Source: https://github.com/claes/kate-markdown
Licence: GPL or BSD (dual)
Copyright 2008 Darrin Yeager. http://dyeager.org/
Extended 2009 Claes Holmerson. http://github.com/claes/kate-markdown
Per mailing list recommendation by Dr. Niklaus Klepp <dr.klepp@gmx.at>
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
(cherry picked from commit 65ab72853b27a5f49b2de0a12cdcb4b33756a7e1)
-rw-r--r-- | kate/data/CMakeLists.txt | 6 | ||||
-rw-r--r-- | kate/data/Makefile.am | 6 | ||||
-rw-r--r-- | kate/data/markdown.xml | 146 | ||||
-rw-r--r-- | kate/data/update-files.xml | 1 |
4 files changed, 153 insertions, 6 deletions
diff --git a/kate/data/CMakeLists.txt b/kate/data/CMakeLists.txt index 6c9e158cb..b823e4e60 100644 --- a/kate/data/CMakeLists.txt +++ b/kate/data/CMakeLists.txt @@ -45,9 +45,9 @@ install( FILES ini.xml isocpp.xml jam.xml javadoc.xml javascript.xml java.xml json.xml jsp.xml julia.xml j.xml kbasic.xml latex.xml ldif.xml ld.xml less.xml lex.xml lilypond.xml literate-curry.xml literate-haskell.xml logtalk.xml lpc.xml lsl.xml lua.xml m3u.xml - m4.xml mab.xml magma.xml makefile.xml mako.xml mandoc.xml mason.xml mathematica.xml matlab.xml - maxima.xml mediawiki.xml mel.xml mergetagtext.xml meson.xml metafont.xml mips.xml modelica.xml - modelines.xml modula-2-iso-only.xml modula-2-pim-only.xml modula-2-r10-only.xml + m4.xml mab.xml magma.xml makefile.xml mako.xml mandoc.xml markdown.xml mason.xml mathematica.xml + matlab.xml maxima.xml mediawiki.xml mel.xml mergetagtext.xml meson.xml metafont.xml mips.xml + modelica.xml modelines.xml modula-2-iso-only.xml modula-2-pim-only.xml modula-2-r10-only.xml modula-2.xml monobasic.xml mup.xml nagios.xml nasm.xml nemerle.xml nesc.xml noweb.xml objectivecpp.xml objectivec.xml ocaml.xml ocamllex.xml ocamlyacc.xml octave.xml oors.xml opal.xml opencl.xml diff --git a/kate/data/Makefile.am b/kate/data/Makefile.am index 09df83b7f..5f1eda66d 100644 --- a/kate/data/Makefile.am +++ b/kate/data/Makefile.am @@ -23,9 +23,9 @@ syntaxkate_DATA = language.dtd syntax.template \ ini.xml isocpp.xml jam.xml javadoc.xml javascript.xml javascript-php.xml java.xml json.xml \ jsp.xml julia.xml j.xml kbasic.xml latex.xml ldif.xml ld.xml less.xml lex.xml lilypond.xml \ literate-curry.xml literate-haskell.xml logtalk.xml lpc.xml lsl.xml lua.xml m3u.xml \ - m4.xml mab.xml magma.xml makefile.xml mako.xml mandoc.xml mason.xml mathematica.xml matlab.xml \ - maxima.xml mediawiki.xml mel.xml mergetagtext.xml meson.xml metafont.xml mips.xml modelica.xml \ - modelines.xml modula-2-iso-only.xml modula-2-pim-only.xml modula-2-r10-only.xml \ + m4.xml mab.xml magma.xml makefile.xml mako.xml mandoc.xml markdown.xml mason.xml mathematica.xml \ + matlab.xml maxima.xml mediawiki.xml mel.xml mergetagtext.xml meson.xml metafont.xml mips.xml \ + modelica.xml modelines.xml modula-2-iso-only.xml modula-2-pim-only.xml modula-2-r10-only.xml \ modula-2.xml monobasic.xml mup.xml nagios.xml nasm.xml nemerle.xml nesc.xml \ noweb.xml objectivecpp.xml objectivec.xml ocaml.xml ocamllex.xml ocamlyacc.xml \ octave.xml oors.xml opal.xml opencl.xml \ 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> diff --git a/kate/data/update-files.xml b/kate/data/update-files.xml index c4cf021de..0af937293 100644 --- a/kate/data/update-files.xml +++ b/kate/data/update-files.xml @@ -136,6 +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.2"/> <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"/> |