diff --git a/rc/filetype/markdown.kak b/rc/filetype/markdown.kak index fefb4b8e..181969ef 100644 --- a/rc/filetype/markdown.kak +++ b/rc/filetype/markdown.kak @@ -59,9 +59,22 @@ add-highlighter shared/markdown/codeblock region -match-capture \ ^(\h*)```\h*$ \ fill meta -add-highlighter shared/markdown/listblock region ^\h*[-*]\s ^\h*((?=[-*])|$) group -add-highlighter shared/markdown/listblock/ ref markdown/inline -add-highlighter shared/markdown/listblock/marker regex ^\h*([-*])\s 1:bullet +add-highlighter shared/markdown/listblock region ^\h*[-*]\s ^\h*((?=[-*])|$) regions +add-highlighter shared/markdown/listblock/g default-region group +add-highlighter shared/markdown/listblock/g/ ref markdown/inline +add-highlighter shared/markdown/listblock/g/marker regex ^\h*([-*])\s 1:bullet + +# https://spec.commonmark.org/0.29/#link-destination +# This repetition is not pretty but shell escaping is worse +add-highlighter shared/markdown/angle_bracket_url region (?<=<)([a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=>)|\n fill link +add-highlighter shared/markdown/url region -recurse \( ([a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=\))|\s fill link +add-highlighter shared/markdown/listblock/angle_bracket_url region (?<=<)([a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=>)|\n fill link +add-highlighter shared/markdown/listblock/url region -recurse \( ([a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=\))|\s fill link + +try %{ + require-module html + add-highlighter shared/markdown/tag region (?i))) > ref html/tag +} add-highlighter shared/markdown/inline/code region -match-capture (`+) (`+) fill mono @@ -76,8 +89,6 @@ add-highlighter shared/markdown/inline/text/ regex (? 0:link -add-highlighter shared/markdown/inline/text/ regex ^\[[^\]\n]*\]:\h*([^\n]*) 1:link add-highlighter shared/markdown/inline/text/ regex ^\h*(>\h*)+ 0:comment add-highlighter shared/markdown/inline/text/ regex "\H( {2,})$" 1:+r@meta