Refactor lang/markdown; add fontify code blocks

This commit is contained in:
Henrik Lissner 2017-06-16 02:07:02 +02:00
parent 4eb2a7cb41
commit 0574ba2d84
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,14 +1,17 @@
;;; lang/markdown/config.el -*- lexical-binding: t; -*- ;;; lang/markdown/config.el -*- lexical-binding: t; -*-
(def-package! markdown-mode (def-package! markdown-mode
:mode ("\\.m\\(d\\|arkdown\\)$" "/README$" :mode ("/README\\.md$" . gfm-mode)
("/README\\.md$" . gfm-mode)) :mode "\\.m\\(d\\|arkdown\\)$"
:mode "/README$"
:init :init
(setq markdown-enable-wiki-links t (setq markdown-enable-wiki-links t
markdown-enable-math t markdown-enable-math t
markdown-italic-underscore t markdown-italic-underscore t
markdown-make-gfm-checkboxes-buttons t markdown-make-gfm-checkboxes-buttons t
markdown-gfm-additional-languages '("sh")) markdown-gfm-additional-languages '("sh")
markdown-fontify-code-blocks-natively t
markdown-hide-urls nil) ; trigger with `markdown-toggle-url-hiding'
:config :config
(add-hook! markdown-mode (add-hook! markdown-mode
@ -20,37 +23,36 @@
'(markdown-mode gfm-mode) '(markdown-mode gfm-mode)
"\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET"))) "\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET")))
(map! :map gfm-mode-map (map! (:map gfm-mode-map
"`" #'self-insert-command "`" #'self-insert-command)
:map markdown-mode-map (:map markdown-mode-map
"<backspace>" nil [remap find-file-at-point] #'markdown-follow-thing-at-point
"<M-left>" nil "M-*" #'markdown-insert-list-item
"<M-right>" nil "M-b" #'markdown-insert-bold
"M-*" #'markdown-insert-list-item "M-i" #'markdown-insert-italic
"M-b" #'markdown-insert-bold "M-`" #'+markdown/insert-del
"M-i" #'markdown-insert-italic :m "gj" #'markdown-next-visible-heading
"M-`" #'+markdown/insert-del :m "gk" #'markdown-previous-visible-heading
:m "gj" #'markdown-next-visible-heading ;; Assumes you have a markdown renderer plugin in chrome
:m "gk" #'markdown-previous-visible-heading :n "M-r" #'browse-url-of-file
;; Assumes you have a markdown renderer plugin in chrome ;; TODO: Make context sensitive
:n "M-r" #'browse-url-of-file :m "]h" #'markdown-next-visible-heading
;; TODO: Make context sensitive :m "[h" #'markdown-previous-visible-heading
:n "[p" #'markdown-promote :m "[p" #'markdown-promote
:n "]p" #'markdown-demote :m "]p" #'markdown-demote
:n "[l" #'markdown-next-link :m "[l" #'markdown-next-link
:n "]l" #'markdown-previous-link :m "]l" #'markdown-previous-link
:n "gf" #'markdown-follow-thing-at-point :i "M--" #'markdown-insert-hr)
:i "M--" #'markdown-insert-hr
:localleader (:localleader
:nv "o" #'markdown-open :nv "o" #'markdown-open
:nv "b" #'markdown-preview :nv "b" #'markdown-preview
(:prefix "i" (:prefix "i"
:nv "t" #'markdown-toc-generate-toc :nv "t" #'markdown-toc-generate-toc
:nv "i" #'markdown-insert-image :nv "i" #'markdown-insert-image
:nv "l" #'markdown-insert-link :nv "l" #'markdown-insert-inline-link-dwim
:nv "L" #'markdown-insert-reference-link-dwim))) :nv "L" #'markdown-insert-reference-link-dwim))))
(def-package! markdown-toc (def-package! markdown-toc