intelliJ等でErlangを書きたいが、コーディング規約のindentが「Emacsのindentにあわせる」 みたいなパターンの時に使える。
Emacsではコマンドラインよりスクリプトをファイルに適用出来るので、それを利用。
erlang_indent.el
(find-file (nth 0 command-line-args-left)) ; 第一引数に指定されたファイルを開く
(setq override-mode t) ; 上書き前提
(require 'erlang-start) ; erlang-mode
(setq indent-tabs-mode nil) ;;ソフトタブ
(setq c-basic-offset 4) ;; 4タブ
(indent-region (point-min) (point-max)) ; 最初から最後まで整形
(untabify (point-min) (point-max)) ; tab禁止
(fset 'yes-or-no-p 'y-or-n-p) ; 質問をy/n に
(save-buffer) ; SAVE
より、
$ emacs --script ~/.emacs.d/erlang-indent.el $FILE
gitでコミットする時にhookしたりすれば楽かなと思うけど、たまーにとんでもないindentになったりする問題があるので要検証。