doomemacs/modules/lang/markdown/config.el

53 lines
1.9 KiB
EmacsLisp
Raw Normal View History

;;; lang/markdown/config.el -*- lexical-binding: t; -*-
2015-06-15 09:06:10 +02:00
(def-package! markdown-mode
:mode ("/README\\(?:\\.\\(?:markdown\\|md\\)\\)?\\'" . gfm-mode)
2016-05-20 09:24:05 -04:00
:init
(setq markdown-enable-wiki-links t
markdown-enable-math t
2016-08-27 19:26:34 +02:00
markdown-italic-underscore t
markdown-asymmetric-header t
2016-05-20 09:24:05 -04:00
markdown-make-gfm-checkboxes-buttons t
markdown-gfm-additional-languages '("sh")
markdown-fontify-code-blocks-natively t
markdown-hide-urls nil) ; trigger with `markdown-toggle-url-hiding'
2016-05-21 23:12:50 -04:00
2015-06-15 09:06:10 +02:00
:config
(defun +markdown|set-fill-column-and-line-spacing ()
(setq-local line-spacing 2)
(setq-local fill-column 80))
(add-hook 'markdown-mode-hook #'+markdown|set-fill-column-and-line-spacing)
(add-hook 'markdown-mode-hook #'auto-fill-mode)
(map! (:map markdown-mode-map
[remap find-file-at-point] #'markdown-follow-thing-at-point
"M-*" #'markdown-insert-list-item
"M-b" #'markdown-insert-bold
"M-i" #'markdown-insert-italic
"M-`" #'+markdown/insert-del
:m "gj" #'markdown-next-visible-heading
:m "gk" #'markdown-previous-visible-heading
;; Assumes you have a markdown renderer plugin in chrome
:n "M-r" #'browse-url-of-file
;; TODO: Make context sensitive
:m "]h" #'markdown-next-visible-heading
:m "[h" #'markdown-previous-visible-heading
:m "[p" #'markdown-promote
:m "]p" #'markdown-demote
:m "[l" #'markdown-next-link
:m "]l" #'markdown-previous-link
:i "M--" #'markdown-insert-hr
(:localleader
:nv "o" #'markdown-open
:nv "b" #'markdown-preview
(:prefix "i"
:nv "t" #'markdown-toc-generate-toc
:nv "i" #'markdown-insert-image
:nv "l" #'markdown-insert-link)))))
(def-package! markdown-toc
2017-02-19 18:57:16 -05:00
:commands markdown-toc-generate-toc)
2017-02-11 07:07:26 -05:00