TDD支援elisp
が面白いなーと思ったので自分用に改造してみた。
モードラインの色を変えるようにしただけだけど。
;; C-c m でTDDのモード切替え
(defvar tdd-bgcolor-alist
'(("Think" ."snow")
("Red" ."#ff4444")
("Green" ."#44dd44")
("Refactoring"."#ffaa44")))
(defvar tdd-bgcolor-mode 3)
(defvar tdd-bgcolor-mode-name "")
(let (
(cell (or (memq 'mode-line-position mode-line-format)
(memq 'mode-line-buffer-identification mode-line-format)))
(newcdr 'tdd-bgcolor-mode-name))
(unless (member newcdr mode-line-format)
(setcdr cell (cons newcdr (cdr cell)))))
(defun tdd-bgcolor-rotate ()
(interactive)
(let (pair)
(if (>= tdd-bgcolor-mode 3)
(setq tdd-bgcolor-mode 0)
(setq tdd-bgcolor-mode
(+ tdd-bgcolor-mode 1)))
(setq pair
(nth tdd-bgcolor-mode tdd-bgcolor-alist))
(setq tdd-bgcolor-mode-name (format "[%s]" (car pair)))
(message tdd-bgcolor-mode-name)
(set-face-foreground 'mode-line (cdr pair))))
(global-set-key "\C-cm" 'tdd-bgcolor-rotate)