coffee-modeを使い始めた

emacscoffeescriptをサポートするライブラリとしてcoffee-modeがあるので使って見ました
https://github.com/defunkt/coffee-mode


インストール

list-packagesからインストールできます

M-x list-packages 

packagesの設定はこちら

(require 'package)

;;リポジトリにMarmaladeを追加
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
;;
;;インストールするディレクトリを指定
(setq package-user-dir (concat user-emacs-directory "vendor/elpa"))

;;インストールしたパッケージにロードパスを通してロードする
(package-initialize)

packages.el
http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el

設定

package-initializeしてるのでload-pathは通ってますし、拡張子coffeeとの関連付けも済んでます。
とりあえずtab-widthの設定とかしました

;; coffee-mode
(defun coffee-custom ()
  "coffee-mode-hook"
 (set (make-local-variable 'tab-width) 2)
 ;; Emacs key binding
 (define-key coffee-mode-map [(meta R)] 'coffee-compile-buffer)
 (define-key coffee-mode-map [(meta r)] 'coffee-compile-region)
 )

(add-hook 'coffee-mode-hook
  '(lambda() (coffee-custom)))

使い方

まだcoffee-script自体に慣れてないんで、ちょいちょいcoffee-compile-regionでどんなjsに変換されるのか見たいと思います
上記設定でリージョン選んでM-rで変換できます

あとM-x coffee-replでインタラクティブシェルも使えます