ActionScript+rascutが便利すぎる

Flex builder3.0(60日体験版)をインストールしたはいいがvimでソースいじっている.eclipse好きじゃないし.スタンドアロンもあるけど,今のところはいらないね.

rascutというものがあるので入れてみた.

下環境.

コンパイル

まずコンパイルができない.と思ったら上記URLに書いてあった.

Flex 3 SDK の場合、fcsh が日本語化されているため、Rascut 0.1.3 では動作しません。

環境変数 _JAVA_OPTIONS に -Duser.language=en と設定するとうまく動くようです。Windowsコマンドプロンプトにて

set _JAVA_OPTIONS=-Duser.language=en

としておくことで動作することを確認しました。

恒久的に対策するには rascutFlex3 SDK beta - holidays-l開発ブログ を参照して、ソースコードを修正しておくとよいでしょう。

ActionScript やるなら入れとけ。rascut 導入と使い方。 - てっく煮ブログ 跡地

恒久的対策は以下.svnがないのでコードを直接直した.

C:\ruby\lib\ruby\gems\1.8\gems\rascut-0.1.3\lib\rascut\fcsh_wrapper.rb

@@ -60,10 +60,10 @@

     def process
       unless @process
-        orig_lang = ENV['LANG']
-        ENV['LANG'] = 'C' # for flex3 sdk beta locale
+        orig_java_options = ENV['_JAVA_OPTIONS']
+        ENV['_JAVA_OPTIONS'] = '-Duser.language=en' # for flex3 sdk beta locale
         @process = IO.popen(@config[:fcsh_cmd] + ' 2>&1', 'r+') unless @process
-        ENV['LANG'] = orig_lang
+        ENV['_JAVA_OPTIONS'] = orig_java_options
       end
       @process
     end

-の行をコメントアウトでもして,+の行を加えればいい.

これでコンパイルが通る.
しかしこれだけだとサーバーモードがうまく機能しない.


サーバーモード

Rascut 0.1.1+Windows XP + Ruby 1.8.6-25 ではファイルの監視がうまくいかなかったので http://d.hatena.ne.jp/ameema/20070902/1188735855 を参考に、C:\ruby\lib\ruby\gems\1.8\gems\rascut-0.1.1\lib\rascut\file_observer.rb を修正した。

ActionScript やるなら入れとけ。rascut 導入と使い方。 - てっく煮ブログ 跡地

と書いてあるけど,その箇所は既に修正されていた.
どうやらよくある問題らしい.

C:\ruby\lib\ruby\gems\1.8\gems\rascut-0.1.3\lib\rascut\httpd.rb

@@ -27,4 +27,4 @@

-	@path = env["PATH_INFO"] == '/' ? @root : F.join(@root, env['PATH_INFO'])
+	@path = env["PATH_INFO"].empty? || env["PATH_INFO"] == '/' ? @root : F.join(@root, env['PATH_INFO'])

 	ext = F.extname(@path)[1..-1]

diffぽくかくとこんな感じ?
とにかくこれでよし.書き残しがあるようなないような.



rascutの使い方

ということで,rascutをサーバーモードで起動.

rascut test.as -s

これで,test.asを更新した瞬間に自動的にコンパイルされる.すげえ.

さらに

にアクセスすると,test.asを更新するたびにブラウザ上のtest.swfも更新される.すげえ.


スクリーンショットvim上のソースを上書きすると,後ろのブラウザ上で動いているflashも更新される.

素晴らしい.

vimactionscriptシンタックスハイライト

おまけ.AS2.0らしいけどない状態に比べれば十分だ.
3.に$VIM/runtime/filetype.vimの任意の場所に書けばいい,とあるがこれはたぶん嘘.一番後ろに書き加えても使えなかったり.vimのバグかな.