WindowsだとWirbleを使ったirbのシンタックスハイライトは使えない?
第三十回
http://journal.mycom.co.jp/articles/2006/12/22/wirble/
irb(1)には拡張セットとしてWirbleというパッケージが用意されているのだが、同パッケージを使うとインタラクティブシェルに色がつくようになるほか、補完入力が効くようになるなど便利だ。小技として知っておいて損はないので、紹介しておこうとおもう。
というわけで,紹介はLinuxのシェル端末だったが,WindowsのコマンドプロンプトとWindwos PowerShellでも使えるかどうか試してみた.
参考記事のとおりにWirbleをインストールして.irbrcを作成した.
その際,ホームディレクトリが分からなかったので以下のようにして環境変数を調べて,それっぽいHOMEPATHに.irbrcを作成.
ruby -r 'pp' -e 'pp ENV'
そして,とりあえずirbを実行.
PS C:\ruby> irb load error: C:/ruby/.irbrc ArgumentError: couldn't find HOME environment -- expanding `~/.irb_history' C:/Ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:94:in `expand_path' C:/Ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:94:in `load_history' C:/Ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:112:in `initialize' C:/Ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:505:in `init' C:/Documents and Settings/Administrator/.irbrc:6 C:/Ruby/lib/ruby/1.8/irb/init.rb:207:in `run_config' C:/Ruby/lib/ruby/1.8/irb/init.rb:20:in `setup'
ありゃ,エラー.
.irb_historyがないとのことなので,C:/ruby/に作成して再挑戦したが,やっぱりエラーになるので,Wirble.initにオプションとして明示的に指定してやることに.
.irbrc
# load libraries require 'rubygems' require 'wirble' # start wirble (with color) Wirble.init( :history_path => "C:/ruby/.irb_history" ) Wirble.colorize
で,改めてirb起動.うまく動いた.
しかし,今度は肝心のシンタックスハイライトがうまくいかない.
そもそもシンタックスハイライトはきっと制御文字を使ってるんじゃないかと自分予想.
だったらWindowsのコマンドプロンプトは制御文字を受け付けない?と自分結論.
じゃあ,というわけでシンタックスハイライトはあきらめる方向で,.irbrcからシンタックスハイライト用のWirble.colorizeをコメントアウト.これでTabキーによる補完と,過去の入力履歴を利用できるようになった.
でも,はてブのコメントによると,補完と入力履歴の機能はWirbleが無くてもできるそうだ.つまり,意味無し?
おしまい