diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-15 00:09:55 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-15 00:09:55 -0500 |
| commit | f6942685fb9202a6b85e264043ec2d179675d608 (patch) | |
| tree | 5103382dfbb7caa10ab6af9b1171cd74f0d6a1d4 /modules/markdown-config.el | |
| parent | 07763fd605b7a7ffa41ad6f1b69479631fc84cb4 (diff) | |
| download | dotemacs-f6942685fb9202a6b85e264043ec2d179675d608.tar.gz dotemacs-f6942685fb9202a6b85e264043ec2d179675d608.zip | |
One command flips markdown/gfm buffers to their view-mode partner and back. Checks the most-derived mode first; gfm-view derives from gfm-mode, so the dispatch resolves correctly for all four modes.
Diffstat (limited to 'modules/markdown-config.el')
| -rw-r--r-- | modules/markdown-config.el | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/modules/markdown-config.el b/modules/markdown-config.el index 815bb3fb..1d4a8b74 100644 --- a/modules/markdown-config.el +++ b/modules/markdown-config.el @@ -108,8 +108,21 @@ Starts the simple-httpd listener automatically when it isn't already running." ;; stub doesn't collide with this file's own definition of the command ;; (that collision is the "defined multiple times" byte-compile warning). ;; Same key as compile, for consistency. +(defun cj/markdown-toggle-view () + "Toggle the current Markdown buffer between edit and read-only view. +Handles the gfm variants too. The cond checks the most-derived mode +first, since the view modes derive from their edit modes." + (interactive) + (cond + ((derived-mode-p 'markdown-view-mode) (markdown-mode)) + ((derived-mode-p 'gfm-view-mode) (gfm-mode)) + ((derived-mode-p 'gfm-mode) (gfm-view-mode)) + ((derived-mode-p 'markdown-mode) (markdown-view-mode)))) + (with-eval-after-load 'markdown-mode - (keymap-set markdown-mode-map "<f2>" #'cj/markdown-preview)) + (keymap-set markdown-mode-map "<f2>" #'cj/markdown-preview) + (keymap-set markdown-mode-map "C-c C-x v" #'cj/markdown-toggle-view) + (keymap-set markdown-view-mode-map "C-c C-x v" #'cj/markdown-toggle-view)) (provide 'markdown-config) ;;; markdown-config.el ends here |
