dim-autoload 20161023.1329(in MELPA)
dim or hide autoload cookie lines

概要

Emacs Lispのソースを見ていて「;;;###autoload」という文字列を見たことがありますか?
これはautoload機能を活用するための魔法のコメントです。
autoloadとは、関数やコマンドが呼ばれた時点でLispファイルを読み込むという遅延ロード機能です。
パッケージをインストールしても何も設定せずにコマンドが使えることがあるのは、autoloadのおかげです。
init.elにrequireを記述する手間を省き、しかもEmacsの起動時間を短縮してくれるありがたい機能です。

auto-mode-alistなどの初期設定もautoload機能でできたりします。
たとえばlua-modeパッケージをインストールした時点で*.luaファイルを開くとlua-modeになります。

この魔法のコメントはコメントでありながら「意味がある」ので他のコメントとは別の見た目であってもいいのではないでしょうか?
dim-autoload.el はこの魔法のコメントを薄い文字で表示するように変更します。

細かいですが、こんな工夫もありますよってことで。

20160904165832.png
Fig1: before

20160904165839.png
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/")))

初めてdim-autoloadを使う方は
以下のコマンドを実行します。

M-x package-install dim-autoload

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name dim-autoload

設定 160904165757.dim-autoload.el(以下のコードと同一)

(global-dim-autoload-cookies-mode t)

実行方法

$ wget http://rubikitch.com/f/160904165757.dim-autoload.el
$ emacs -Q -f package-initialize -l 160904165757.dim-autoload.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。