ChangeLog メモのリスト → はてなのリスト記法

ChangeLogメモで

	* やること
	- hage
	  - hige
	    - huga
	      - hoge

こんな感じのリストを書いていて日記に貼るときは clmemo-kill-ring-save-hatena-list を通すと

* やること
- hage
-- hige
--- huga
---  hoge

こうなります。

適当なコード

(defun clmemo-replace (s1 s2)
    (beginning-of-buffer)
    (while (re-search-forward s1 nil t)
      (replace-match s2)))

(defun clmemo-kill-ring-save-hatena-list(beg end)
  (interactive "r")
  (clmemo-kill-ring-save beg end)
  (with-temp-buffer
    (yank)
    (clmemo-replace "  -" "--")
    (clmemo-replace "  --" "---")
    (clmemo-replace "  ---" "--- ")
    (copy-region-as-kill (point-min) (point-max))
))