以前は「行頭に**を付ける」「行頭に*を付ける」を2つのキーに割り振り、見出し、小見出しの調整を自力でやっていた。今回は、行頭にある文字を判断して行頭に見出しを付けたり、戻したりできるようにした。
Ctrl+:を押すたびに、見出し(## )→小見出し(### )→解除 の順番で切り替わる。
markdown-kihou.l
; -*- Mode: Lisp -*- ; ;; MarkDown記法の見出しの実装(色づけとキーバインド) ;; ;; 行頭が"##"か"###"ならばその行に色をつける ;; ;; キーバインド ;; C-: 行頭に見出しを付けたり、戻したりする ;; 見出し(## )→小見出し(### )→解除 の順番 ;; ;; Installation: ;; ;; ~/.xyzzy または $XYZZY/site-lisp/siteinit.l に以下のコードを追加 ;; ;; (require "markdown-kihou") (defun markdown-heading () (interactive "*") (save-excursion (save-restriction (narrow-to-region (progn (beginning-of-line) (point)) (progn (end-of-line) (point))) (beginning-of-line) (cond ((scan-buffer "^[ \t]*### ?" :regexp t) (replace-match "")) ((scan-buffer "^[ \t]*## ?" :regexp t) (insert "#")) (t (insert "## ")))))) (global-set-key #\C-: 'markdown-heading) (defvar *text-mode-formats* (compile-regexp-keyword-list '( ("^[=].*" t (:color 14 7 :line :bold )) ("^[#][#][#][^*].*" t (:color 7 14 :line )) ("^[#][#][^*].*" t (:color 7 4 :line )) ) ) ) (defun my-color-text-mode () (make-local-variable 'regexp-keyword-list) (setq regexp-keyword-list *text-mode-formats*) ) (setq regexp-keyword-list *text-mode-formats*) (add-hook 'text-mode-hook 'my-color-text-mode)
参考
xyzzyで現在行をコメントアウトしたり戻したりする設定 - phithonの日記
0 件のコメント:
コメントを投稿