doomemacs/modules/lang/markdown/autoload.el

24 lines
911 B
EmacsLisp
Raw Normal View History

;;; lang/markdown/autoload.el -*- lexical-binding: t; -*-
2017-02-11 07:07:26 -05:00
;; Implement strike-through formatting
(defvar +markdown--regex-del
2017-02-11 07:07:26 -05:00
"\\(^\\|[^\\]\\)\\(\\(~\\{2\\}\\)\\([^ \n \\]\\|[^ \n ]\\(?:.\\|\n[^\n]\\)*?[^\\ ]\\)\\(\\3\\)\\)")
;;;###autoload
2017-02-19 18:57:16 -05:00
(defun +markdown/insert-del ()
2017-02-11 07:07:26 -05:00
"Surround region in github strike-through delimiters."
(interactive)
(let ((delim "~~"))
(if (markdown-use-region-p)
;; Active region
(cl-destructuring-bind (beg end)
(markdown-unwrap-things-in-region
(region-beginning) (region-end)
+markdown--regex-del 2 4)
(markdown-wrap-or-insert delim delim nil beg end))
2017-02-11 07:07:26 -05:00
;; Bold markup removal, bold word at point, or empty markup insertion
(if (thing-at-point-looking-at +markdown--regex-del)
2017-02-11 07:07:26 -05:00
(markdown-unwrap-thing-at-point nil 2 4)
(markdown-wrap-or-insert delim delim 'word nil nil)))))