定食屋おろポン

おろしポン酢と青ネギはかけ放題です

TextMate2でHaskellのRunが効かない件について

TextMate2はパス周りでどうもうまく動かない場合が多い気がする。
TextMateは「Cmd + Rで即実行」機能がついていて、涙がでるほど便利なんだけど、Haskell BundleのRunがちゃんと動いてくれなかったので直しました。っていうメモ。

修正箇所は2点
1. PreferenceのVariablesにTM_HASKELLを追加し、値としてrunhaskellコマンドのフルパスを突っ込んでおく。自分の環境では/usr/bin/runhaskellだった。
2. Bundlesメニュー->Edit BundlesからHaskellのRunコマンドを編集する。

# これをコメントアウト
#"${TM_HASKELL:=runhaskell}" "$TM_FILEPATH" 2>&1 | haskellmate

# 追記する
"${TM_HASKELL:=runhaskell}" "$TM_FILEPATH" 2>&1 | ~/Library/Application\ Support/TextMate/Managed/Bundles/Haskell.tmbundle/Support/bin/haskellmate

バンドルの./Support/bin/にパスが通ってないのは一体なぜなのかわからないが、他のバンドルでも似たようなことが起きないとも限らないので覚えておくことにしよう。困ったらフルパスに書き換えたれ!

なお、あまり関係ないが、HaskellバンドルのType Sequenceはタブトリガーが'-'となっており、バンドルエディタで確認してもその通りなのだが、実際にハイフンを打ってタブ押下しても展開してくれません。その代わり、'>'を打ってタブ押下すると展開してくれる。謎だ。気が向いたらソースを読むことにする。