Emacsから CoffeeScriptを JavaScriptにコンパイルする

quickrun.elの実例。


coffeescript-modeに同様の機能があるので別にいらないんですが、
応用が効くことだと思うので手順を示します。

設定

quickrun.elではデフォルトで CoffeeScript対応がしていますが、
デフォルトの動作は実行であり、JavaScriptへのコンパイルでは
ありません。なんで、コンパイル用の設定を書きます。

(quickrun-add-command "coffee-compile"
                      '((:command . "coffee")
                        (:exec . "%c --compile --print %s")
                        (:outputter . (lambda () (javascript-generic-mode))))
                      :default "coffee")

(require 'generic-x) ;; javascript-generic-modeのため

javascript-generic-modeを使っているのは、ハイライトの為です。
普段利用している js-modeだとフック関数がエラーとなってしまったので、
何の設定もしていない javascript-generic-modeにしました。
(私の flymakeの設定がファイルに関連づいていないバッファだとエラーと
なるというだけの話なのですが・・・)。


:defaultキーワードはデフォルトの挙動をこれで上書きするということを
意味します。これにより CoffeeScriptファイルに対して、M-x quickrunを
したときの挙動が実行ではなく、JavaScriptへのコンパイルになります。

結果

こんな具合です。

おわりに

よりよいソフトウェアにするには、より広く利用される必要があると
思うので、なるべく使い方なんかを紹介できればと思います。