
インデントに応じて色を変えると便利かと思ったのだが、
こういうことをするためには
文字ごとに属性を設定しなければならないらしい。
面倒なのでやる気がうせたが一応作ってみた。
(setq indent-colors
'(
"DarkSeaGreen1"
"DarkSeaGreen2"
"DarkSeaGreen3"
"DarkSeaGreen4"
"SeaGreen1"
"SeaGreen2"
"SeaGreen3"
"SeaGreen4"
"PaleGreen1"
"PaleGreen2"
"PaleGreen3"
))
(defun set-indent-color ()
(let (symbol face indent)
(setq indent (% (indent-level) (length indent-colors)))
(setq symbol (make-symbol (concat "indent" (format "%d" indent))))
(setq face (make-face symbol))
(set-face-foreground face "black")
(set-face-background face (indent-color indent))
(save-excursion
(let (start end)
(beginning-of-line)
(setq start (point))
(end-of-line)
(setq end (point))
(if (looking-at "\n") (setq end (1+ (point))))
(put-text-property start end 'face face)
))
))
(defun set-indent-colors ()
(save-excursion
(let (old new (done nil))
(goto-char 1)
(setq old (point))
(while (not done)
(set-indent-color)
(forward-line)
(setq new (point))
(setq done (= old new))
(setq old new)
)
)))
(defun indent-color (indent)
(let (c)
(setq c (nth indent indent-colors))
(if (null c)
(setq c "white"))
c
))
(defun indent-level ()
(save-excursion
(progn
(beginning-of-line)
(re-search-forward "[^ \t]" nil t)
(backward-char)
(current-column)
)))
1 Comments:
インデントの深さで制御構造を与えるpythonのコードにはうってつけかもしれないと思いました。
Post a Comment
Links to this post:
Create a Link
<< Home