久しぶりにelisp
はてダでソースコードのハイライト表示をするためのタグを入れやすくするEmacs Lispを書いた。
;;; はてなのコードタグを入力 (defun ht-code (beg end) (interactive "r") (let* ((lang-alist '(("ruby") ("c") ("lisp"))) (lang (completing-read "language? : " lang-alist nil t))) (if mark-active (progn (narrow-to-region beg end) (goto-char (point-min)) (insert ">|" lang "|\n") (goto-char (point-max)) (insert "||<\n") (widen)) (progn (insert ">|" lang "|\n\n||<\n") (previous-line 2))))) ;;; はてなのリンクを入力 (defun ht-link (url str) (interactive "sURL: \ns文字列: ") (insert "[" url (if (string= str "") "]" (concat ":title=" str "]"))))
リストを囲んで「M-x ht-code」とかやると、lang-alistにある言語名を適当に補完して、それをもとに「>|ruby| foo hoge ||<」という風にリージョンを囲む。リージョン指定がないときには、「>|ruby| ||<」とか。