2011/11/07


以前、Windowsでも動く様にしてpull requestを送っていて、一度は取り下げられてました。
その後、誰かが加算してくれて週末に違う形でcommitが入った。

git config --global dude.notify-command 'gntp-send "$TITLE" "$DESCRIPTION" "$ICON_PATH"' こうしとくと、自分独自のコマンドが呼び出せるという物。これでGrowl for Windwosgrowlnotifyコマンドや、Growl for Linux(Windowsでもビルド可)に通知が送れるgntp-sendコマンドでも使える様になりました。
ただWindowsの場合は、日本語コミットメッセージがutf-8で渡って来るため、DBCSを期待しているWindowsコマンドでは正しく動きません。
先程、gntp-sendに-iオプションというのを追加して # gntp-send -i
foo
bar
baz
^D
という風に標準入力からタイトルとメッセージを得られる様にしました。fooがタイトル、その後のbar\nbazがメッセージになります。
これで、~/.gitconfigに以下の様に書いておければ文字化けする事なしにgrowl表示出来る様になります。
[dude]
    icon = http://assets.github.com/images/gravatars/gravatar-140.png
    notify-command = echo -e \"$TITLE\\n$DESCRIPTION\" | gntp-send -i \"$ICON_PATH\"
なお、gntp-sendはgrowl for linuxと同様にUbuntu PPAでも配布されています。 # sudo add-apt-repository ppa:mattn/gntp-send
# sudo add-apt-repository ppa:mattn/growl-for-linux
でaptリポジトリを追加して # sudo apt-get install growl-for-linux gntp-send でインストール出来ます。

上記の修正について、ppaの更新は後日となります。
Posted at by



2011/11/04


こんにちわ。vimプラグイン片づけコンサルタント、mattnです。
片づけても片づけても、 1週間後には~/.vimがごちゃごちゃに元通り… 片づけのリバウンドに悩まされた経験、ありませんか?

今日は私が編み出したvimプラグインの掃除方法をお教えします。
「一気に短期に完璧に片づける」ことで、二度とリバウンドしない。「全捨て」が基本
躊躇してはいけません。いっそ「rm -rf ~/.vim/bundle」でもいいでしょう。
「ときめき」を感じるものだけ残し、好きなvimプラグインだけに囲まれた理想の生活をめざす。
そのvimプラグイン、ときめきますか?ときめかなかったら、それは必要ないのです。
使わなかったvimプラグインには「ありがとう。お疲れ様。」と声をかける。
「ごめんね、すごいけど、それ使わないよ。ありがとう。」という感謝の心です。

ネタ元

Posted at by



2011/11/02


Windowsで作業する事も多いので、普段からthincaさんが書いたCoffeeScript on JScriptを使ってたんだけど、JScriptを使ってるという点がどうも気持ち悪くて、コンパイルエラーメッセージに「Microsoft JScript 実行時エラー」とか出るとかなり (´・ω・`)ショボーンな気分でした。
あと、thincaさんのは-eオプションで動かした時にconsole.log()が無いのでエラー出る事もあって、ちょっとしたスクリプトを書くのに困ってました。

で、v8のソースリポジトリに含まれるシェルd8を使ってバッチファイルから呼び出して...ってやればうまく行くんじゃね?オレ天才!とか考えながら進めていったらd8では標準入力が使えないのもあって断念。
あと、この手のはcoffee-script.jsを一緒に持って歩く必要があって、なんか僕の趣味に合わなかったので(どんな趣味だよ)、実行モジュール1個だけで動いて、LinuxでもWindowsでも動いて、極力node(v8)と挙動の近い物が欲しくなった。

こうなれば...と思ってv8使ってC++だけで書いてみた。
mattn/coffee-script-v8 - GitHub

CoffeeScript compiler/runner

https://github.com/mattn/coffee-script-v8
coffee-script.jsのコードはソース埋め込みなので、実行モジュール1つあれば動きます。
v8は普通にコンパイルするとスタティックリンクなので、実行モジュールだけの依存になります。
Windowsだとコンパイルは g++ -o coffee coffee.cc -lv8 -lwinmm -lws2_32
こんな感じ。他の環境だと g++ -o coffee coffee.cc -lv8
で行けると思います。
「いや、coffee-script.jsのバージョン上がったらどないすんねん!」って人は、どうぞ改造して使って下さい!
Posted at by