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

とりあえず動いているっぽい。しかし、入れてみたはいいけど、ハイライト表示ってそんなにうれしくないかも。