空気を読んでインデントを設定してくれるky-indent.elをリリースしました
空気を読んでインデントを設定してくれるky-indent.elを書いてみました。
なにするの?
インデント設定の違うコードをいじってると、インデントがづれていやーな気分になります。
そこで、ky-indentはファイルを開いたとき(あるいはM-x ky-indentとしたとき)に、ファイルの内容をチェックして、空気を読んだインデントを設定してくれます。
ダウンロード/インストール
コードはgistに置いてあります。
インストールは、ky-indent.elをload-pathにあるディレクトリに置いて、.emacs に以下の記述を追加するだけです。
(require 'ky-indent) (ky-indent-init)
もっと詳しい設定
;; 試してみるタブ幅 (setq ky-indent-tab-width-list '(4 8)) ;; 試してみるインデントの深さ (setq ky-indent-indent-offset-list '(2 3 4 8)) ;; 先頭1000バイトだけをチェックする。nilならバッファ全体 (setq ky-indent-point-max 1000) ;; 空気を読むメジャーモード (setq ky-indent-enable-mode-hooks '(cc-mode-hook java-mode-hook python-mode-hook perl-mode-hook)) ;; メジャーモードとインデントの深さを示す変数名の対応表 (setq ky-indent-setting '((cc-mode . c-basic-offset) (java-mode . c-basic-offset) (python-mode . python-indent) (perl-mode . perl-indent-level) ;; you can use also lambda. (emacs-lisp-mode . (lambda(i) (setq lisp-indent-offset i))) (haxe-mode . c-basic-offset) )) ;; この正規表現に一致するファイルだけ空気を読む (setq ky-indent-regexp "") ;; この正規表現に一致するファイルは空気を読まない (setq ky-indent-exclude-regexp "^$")