2008/02/02
Emacs で lambda をかわいくする
元ネタは http://www.emacswiki.org/cgi-bin/wiki/PrettyLambda です。
Lisp の lambda という文字列は読むにはかなり冗長なので λ のようにかわいく表示して可読性を向上しようという試みです。
以下のコードを ~/.emacs に記述するだけです。
(defun set-pretty-patterns (patterns) (loop for (glyph . pairs) in patterns do (loop for (regexp . major-modes) in pairs do (loop for major-mode in major-modes do (let ((major-mode (intern (concat (symbol-name major-mode) "-mode"))) (n (if (string-match "\\\\([^?]" regexp) 1 0))) (font-lock-add-keywords major-mode `((,regexp (0 (prog1 () (compose-region (match-beginning ,n) (match-end ,n) ,glyph))))))))))) (set-pretty-patterns '((?λ ("\\<lambda\\>" lisp lisp-interaction emacs-lisp scheme))))
こんな感じになります。
最近入社した大先生 Sugawara さんによる Big lambda もなかなかイカス(*)。
(*) EmacsWiki の下のほうにソースがあります
- Category(s)
- emacs
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/pretty-lambda-in-emacs/tbping
Re:Emacs で lambda をかわいくする