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が無くてもできるそうだ.つまり,意味無し?

おしまい