- morlock 20161008.1358(in MELPA)
- more font-lock keywords for elisp
概要
パッケージ時代でelispは多くのライブラリにアクセスできるようになりました。
Lispという言語は簡単にDSL(ドメイン特化言語)を定義できる柔軟性があるため、
新たに「キーワード」が定義しているライブラリも多くあります。
そういう新しいキーワードに font-lock で色付けできたら素敵だと思いませんか?
本来font-lockは設定が難しいのですが、この morlock.el を使えば、
ハイライトしたいキーワードを簡単に設定できます。
この設定を有効にすれば、新たに以下のキーワードに色が付きます。
- cl-dotimes
- cl-dolist
- cl-declare
- and
- or
- not
- define-button-type
- define-namespace
morlock-mode が有効時にキーワードの設定を変更したら、
M-x morlock-mode を2度実行すれば色付けが反映されます。
Fig1: before
Fig2: after
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてmorlockを使う方は
以下のコマンドを実行します。
M-x package-install morlock
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name morlock
設定 150404075540.morlock.1.el(以下のコードと同一)
(require 'morlock) (progn ;キーワードを追加したらC-M-xで反映 ;; 新しいキーワード (setq morlock-op-font-lock-keywords `((,(format "(\\(%s\\)\\>" ;; ここに追加する (regexp-opt '("and" "or" "not"))) 1 'font-lock-keyword-face))) ;; define-*系キーワード (setq morlock-el-font-lock-keywords `((,(format "(\\(%s\\)\\>[ \t'\(]*\\(\\(?:\\sw\\|\\s_\\)+\\)?" ;; ここに追加する (regexp-opt '("define-button-type" "define-namespace"))) (1 'font-lock-keyword-face) (2 'font-lock-variable-name-face nil t)))) (setq morlock-font-lock-keywords (append morlock-el-font-lock-keywords morlock-op-font-lock-keywords morlock-cl-font-lock-keywords))) ;;; 新しいキーワードをemacs-lisp-modeで有効にする (global-morlock-mode 1)
実行方法
$ wget http://rubikitch.com/f/150404075540.morlock.1.el $ emacs -Q -f package-initialize -l 150404075540.morlock.1.el
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。