WindowsでCoffeeScript

CoffeeScriptのうわさ

  1. 記述力が高い(PythonRubyのように)。
  2. JavaScriptソースコードコンパイルしてを吐き出せる。逆に言えば変換しないと使えない。
  3. ブラウザ用の開発にもサーバサイドの開発にも使える。
  4. すごいやつらしい(JavaScript++)。

参考:今日から始めるCoffeeScript

環境

インストール

  1. このサイトからNode.jsのインストーラーを落としてインストールする
  2. コマンドプロンプトでnodeと打ち動作を確認する。
  3. 動作しないならPathが通っていることを確認する。ふつうC:\Program Files\nodejsでいいと思う。
  4. コマンドプロンプトからnpm -g install coffee-scriptでCoffee Scriptをインストールする。
  5. coffeeと打ち動作確認。

Vimを使いたかった

windowsでの設定はいろいろつまづいたのであきらめた。やったことの残骸。

vim-coffee-script

vim-coffee-scriptを入れるとシンタックスハイライトやインデントやコンパイルを助けてくれる。


また、https://github.com/kchmck/vim-coffee-scriptによると、

Also included is an eco syntax and support for CoffeeScript in Haml and HTML.

ということからecoというCoffeeScriptによるHTMLマークアップ言語(RubyHamlにあたるもの)をサポートしているらしい。

CoffeeMake

hello.coffeeを書く。

hello =
  ->console.log("Hello world")
hello()

そして、CoffeeMakeを実行すると、

:CoffeeMake

同じディレクトリに以下のcoffee.jsが生成される。

(function() {
  var hello;

  hello = function() {
    return console.log("Hello world");
  };

  hello();

}).call(this);
CoffeeRun

CoffeeScriptをその場で実行する。

CoffeeCompile

小さなコード片をコンパイルするときはCoffeeCompileが便利なようである。

また、

CoffeeCompile watch vertical

とすれば、ウィンドウを縦ではなく横に分割して出力を見ることができる。


他にも色々機能があるみたいだけどパッと見てすぐ分かったのはここまで。

shadow.vim

さらに、shadow.vimを入れるといいらしい
a.js.shdというファイルを作成して、

## coffee -csb

と入力しそれ以下にCoffee Scriptのコードを記述する。
shadow.vimはこれを保存すると自動でビルトしてくれるという優れもの。

## coffee -csb
hello =
  ->console.log("Hello world")
hello()

で保存し、

:e a.js

で開くと、a.js.shdと全く同じファイルが展開される。

## coffee -csb
hello =
  ->console.log("Hello world")
hello()

しかし実際には、a.jsにはcoffee -csbを適用した結果のJSコードが記述されているらしい(!)。
これは

:!cat

で確認する。しかしWindowsにはcatがないので、相当するコマンドとして:!typeを使った。いけるか。

C:\Windows\system32\cmd.exe /c type a.js
指定されたファイルが見つかりません。
shell returned 1
Hit any key to close this window...

ダメだった。うーん。


関連:CoffeeScriptでProject Euler #1(カリー化の利用と解説試案)