coffee-compile-buffer時に対応する JavaScript位置にポイントを移動する
coffee-mode-bufferで CoffeeScriptを JavaScriptにコンパイル
した際に, CoffeeScriptのカーソル位置に対応する JavaScriptの
ポイントにジャンプできるようになりました。
sourcemapをインストールする
https://github.com/syohex/emacs-sourcemap
sourcemap.elは sourcemapのデコーダです. コンパイル時に
sourcemapを出力して、それを sourcemap.elでパースして,
最も近い位置を探して, その位置にポイントを移動させます.
sourcemap.elは MELPAからインストールできます.
設定
coffee-args-compileに '-m'を追加して, sourcemapを生成する
ようにします. そして coffee-after-compile-hookに sourcemap.elの
sourcemap-goto-corresponding-pointを登録します.
(setq coffee-args-compile '("-c" "-m")) (add-hook 'coffee-after-compile-hook 'sourcemap-goto-corresponding-point)
あとは coffee-compile-buffer(デフォルトで C-c C-kにバインド)を
実行するだけです.
おわりに
CoffeeScriptを全然書いたことがないのでわからないのですが,
実際のプロダクトで使えるようなものではないと思います. どんな
JavaScriptに変換されるかを知りたいという人には便利な機能
なのではないかと思います.
ソースコードに比例して, sourcemapのサイズも
大きくなってパースに時間がかかってしまいます.
そこはもう少し改善できないか検討してみます.