Function: markdown-ts--fontify-bare-uri
markdown-ts--fontify-bare-uri is a byte-compiled function defined in
markdown-ts-mode.el.gz.
Signature
(markdown-ts--fontify-bare-uri START END)
Documentation
Fontify bare URL or email URI between START and END.
Skip matches already inside tree-sitter link or autolink nodes.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/markdown-ts-mode.el.gz
(defun markdown-ts--fontify-bare-uri (start end)
"Fontify bare URL or email URI between START and END.
Skip matches already inside tree-sitter link or autolink nodes."
(dolist (re (list markdown-ts--bare-url-regexp
markdown-ts--bare-email-uri-regexp))
(goto-char start)
(while (re-search-forward re end t)
(let* ((uri-start (match-beginning 0))
(uri-end (match-end 0))
(uri (match-string 0))
(node (treesit-node-at uri-start 'markdown-inline))
(parent (and node (treesit-node-parent node)))
(parent-type (and parent (treesit-node-type parent))))
(unless (or (member parent-type
'("inline_link" "full_reference_link"
"collapsed_reference_link" "shortcut_link"
"image" "uri_autolink" "email_autolink"
"link_destination"))
(member (and node (treesit-node-type node))
'("uri_autolink" "email_autolink"
"link_destination" "code_span"
"code_fence_content" "info_string"))
(get-text-property uri-start 'button))
(markdown-ts--make-link-button
uri-start uri-end
(if (eq uri-start 0)
uri
(concat "mailto:" uri))))))))