rc markdown taskpaper: require bare URL to start at word boundary
I can't think of a case where a URL would not start at a word boundary. Let's add that to the regex. In addition to correctness, this also slightly improves performance because matching can stop earlier. $ HOME=$PWD hyperfine -w 1 'git checkout HEAD'{~,}' -- :/rc/filetype/markdown.kak && ./kak.opt big_markdown.md -e "hook global NormalIdle .* quit" -ui dummy' Benchmark 1: git checkout HEAD~ -- :/rc/filetype/markdown.kak && ./kak.opt big_markdown.md -e "hook global NormalIdle .* quit" -ui dummy Time (mean ± σ): 1.123 s ± 0.022 s [User: 1.100 s, System: 0.027 s] Range (min … max): 1.093 s … 1.174 s 10 runs Benchmark 2: git checkout HEAD -- :/rc/filetype/markdown.kak && ./kak.opt big_markdown.md -e "hook global NormalIdle .* quit" -ui dummy Time (mean ± σ): 1.019 s ± 0.026 s [User: 1.001 s, System: 0.021 s] Range (min … max): 0.984 s … 1.051 s 10 runs Summary 'git checkout HEAD -- :/rc/filetype/markdown.kak && ./kak.opt big_markdown.md -e "hook global NormalIdle .* quit" -ui dummy' ran 1.10 ± 0.04 times faster than 'git checkout HEAD~ -- :/rc/filetype/markdown.kak && ./kak.opt big_markdown.md -e "hook global NormalIdle .* quit" -ui dummy'
This commit is contained in:
parent
360a6847be
commit
f7c3faa2e1
|
@ -64,8 +64,8 @@ add-highlighter shared/markdown/codeline region "^( {4}|\t)" "$" fill meta
|
|||
|
||||
# https://spec.commonmark.org/0.29/#link-destination
|
||||
add-highlighter shared/markdown/angle_bracket_url region (?<=<)([a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=>)|\n fill link
|
||||
add-highlighter shared/markdown/inline/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/inline/url region -recurse \( (\b[a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=\))|\s fill link
|
||||
add-highlighter shared/markdown/listblock/angle_bracket_url region (?<=<)(\b[a-z]+://|(mailto|magnet|xmpp):) (?!\\).(?=>)|\n fill link
|
||||
|
||||
try %{
|
||||
require-module html
|
||||
|
|
|
@ -36,7 +36,7 @@ add-highlighter shared/taskpaper/ regex ^\h*([^:\n]+):\h*\n 1:header
|
|||
add-highlighter shared/taskpaper/ regex \h@\w+(?:\(([^)]*)\))? 0:variable 1:value
|
||||
add-highlighter shared/taskpaper/ regex ^\h*([^-:\n]+)\n 1:+i
|
||||
add-highlighter shared/taskpaper/ regex ^\h*-\h+[^\n]*@done[^\n]* 0:+d
|
||||
add-highlighter shared/taskpaper/ regex (([a-z]+://\S+)|((mailto:)[\w+-]+@\S+)) 0:link
|
||||
add-highlighter shared/taskpaper/ regex \b(([a-z]+://\S+)|((mailto:)[\w+-]+@\S+)) 0:link
|
||||
|
||||
# Commands
|
||||
# ‾‾‾‾‾‾‾‾
|
||||
|
|
Loading…
Reference in New Issue
Block a user