CoffeeScript 用 Emacs モード
前回、 CoffeeScript のインストール方法について説明しました。 今回は CoffeeScript ファイルを Emacs で編集するためのモード(coffee-mode.el) のインストール方法についてです。

パッケージインストール (Emacs Ver. 24.1 以上)
バージョン 24.1 以上の Emacs の場合はパッケージで簡単にインストールすることができます。[オプション(Options)] メニューの [Manage Emacs Packages] または M-x list-packages でパッケージアーカイブの一覧を開き、 coffee-mode を選んでインストールします。

手動インストール (Meadow)
少し前までは Windows の Emacs といえば、 Meadow といった感じでしたが、 最近は開発が終わったようでベースが Emacs-21.4 のままとなり、ちょっと古くなりました。しかし、私の場合は GNU Emacs だと日本語入力がうまくいかないので、 Meadow を使い続けています。
この Meadow 用に手動によるインストール方法も紹介します。
coffee-mode.el が Emacs 24 向けのため、 完全には動かないのですが、 コードハイライトとインデントといった最低限のことはできます。
インストール
以下のサイトから coffee-mode.el を取得します。 取得の方法はいろいろあるのですが、 zip でダウンロードするのが、一番簡単かなと思います。
解凍後、 coffee-mode.el をパス(load-path)の通ったフォルダーに置いておきます。
ソースの修正
ダウンロードした coffee-mode.el ファイルはそのままだと以下のようなエラーが発生し、 ロードに失敗します。Invalid escape character syntax
調べたところ、以下の 2 行の正規表現の記述に原因がありました。
347 行目 :
;; Assignment (defvar coffee-assign-regexp "\\(\\(\\w\\|\\.\\|_\\|$\\)+?\s*\\):") ;; Local Assignment (defvar coffee-local-assign-regexp "\\(\\(_\\|\\w\\|\\$\\)+\\)\s+=")"\s" を "\\s " に変更すると、 ロードできるようになります。 (注: s の後はスペース)
;; Assignment (defvar coffee-assign-regexp "\\(\\(\\w\\|\\.\\|_\\|$\\)+?\\s *\\):") ;; Local Assignment (defvar coffee-local-assign-regexp "\\(\\(_\\|\\w\\|\\$\\)+\\)\\s +=")
.emacs.el の設定
*.coffee や Cakefile を開いた時に coffee-mode になるように .emacs.el に設定を記述します。(autoload 'coffee-mode "coffee-mode" "Major mode for editing CoffeeScript." t) (add-to-list 'auto-mode-alist '("\\.coffee$" . coffee-mode)) (add-to-list 'auto-mode-alist '("Cakefile" . coffee-mode))
coffee mode ではメニューに [CoffeeScript] の項目が追加されます。 ここからどんなコマンドがあるか確認できます。
ただし、 Meadow では ファイルのコンパイル([Compile file]) 以外の機能はほとんど動作しません。
(ちょっと Meadow の使用に限界を感じてきてます)