hnwの日記

Emacs+Firefox+MozReplでファイルセーブと同時にリロード

Webアプリケーションの開発効率向上のため、Emacsでファイルをセーブすると同時にFirefoxをリロードするような仕組みをMozReplというFirefox拡張を利用して実現しました。毎度おなじみ、数年前に流行ったネタを蒸し返すコーナーです。


MozRepl拡張を使えば、Firefoxを外部から好き放題に操作することができます。理屈としては、この拡張を有効にするとFirefoxlocalhostTCP 4242番ポートで待ち受けるようになり、このポート経由でブラウザレベル(chrome://レベルとでも言うんでしょうか…イマイチうまく言えませんが)の任意のJavaScriptが利用できるというものです。


今回は「Emacsでセーブしたら、Firefoxで見ているページがlocalhostのときだけリロードする」ようにしました。最初はセーブするたびに常にFirefoxをリロードする設定で使っていたのですが、作業中に調べ物をしていた場合など、よそ様のページを無駄にリロードしてしまって迷惑だと考えたためです。


これは.emacsに次のように設定することで実現できます。

続きを読む