Wirbleを1.9.1で使う
irb環境で補完やハイライト表示をしてくれるWirbleというライブラリをgemで入れてみたら、1.9対応していなかった。どうもこのライブラリは放置状態が長いらしく、作者とは別にあちこちにパッチやfork版があるみたいだ。
そういうことはお構いなしに、ダイレクトに/usr/local/lib/ruby/gems/1.9.1/gems/wirble-0.1.2/wirble.rbを書き換えてみた。「when :」というのを「when then」と書き換えるだけ。sedでいいかと思ったけど、「when ':' : hoge」というのがあって、どうも微妙にめんどくさそう。手で書き換えた。
137c137 < --- > 141,143c141,143 < when ':': state << :symbol < when '"': state << :string < when '#': state << :object --- > when ':' then state << :symbol > when '"' then state << :string > when '#' then state << :object 150,155c150,155 < when '{': yield :open_hash, '{' < when '[': yield :open_array, '[' < when ']': yield :close_array, ']' < when '}': yield :close_hash, '}' < when /\s/: yield :whitespace, c < when ',': yield :comma, ',' --- > when '{' then yield :open_hash, '{' > when '[' then yield :open_array, '[' > when ']' then yield :close_array, ']' > when '}' then yield :close_hash, '}' > when /\s/ then yield :whitespace, c > when ',' then yield :comma, ',' 223c223 < when '<': --- > when '<' then 226c226 < when ':': --- > when ':' then 228c228 < when '@': --- > when '@' then 230c230 < when '>' --- > when '>' then
とりあえず動いているっぽい。しかし、入れてみたはいいけど、ハイライト表示ってそんなにうれしくないかも。