On 3/5/07, Shin guey Wong <sgwong513 / hotmail.com> wrote:
> Is there any gem or ruby script to make irb command prompt in windows
> color? I found a gem 'wirble' which is very nice but it only works in
> Linux or Mac. It can't work in cygwin or windows command prompt. I
> searching for hours on any windows command prompt which can show color
> but couldn't make it, I only found some interactive python script to do
> that...:(
>
> Finally I had to search for any source code to show color in cmd prompt.
> In the end I found 2 win32api to do that and luckily I can quickly
> included in ruby using the ruby win32api call. Here are the 2 win32api
> to show color:
>
> #----------------------------------------------------------------------
> require 'Win32API'
> get_std_handle = Win32API.new("kernel32", "GetStdHandle", ['L'], 'L')
> set_console_txt_attrb =
> Win32API.new("kernel32","SetConsoleTextAttribute",
>                         ['L','N'], 'I')
> hout = get_std_handle.call(-11)
> set_console_txt_attrb.call(hout,7)
> puts 'default command prompt color'
> set_console_txt_attrb.call(hout,12)
> puts 'command prompt red color text'
>
> # the color range from 1 - 15 for black background color
> # we also can change the input text color, I never try that, but I think
> # it should be get_std_handle.call(-10) or -12....forgot already
> #-----------------------------------------------------------------------
> This script is working fine for me to print color text. Can anyone
> integrate this windows coloring script into 'wirble' ? It is hard for me
> to change the 'wirble' ruby script. It would be thankfully if anyone can
> do that.
>
> Regards,
> Shin Guey

maybe this would help: http://rubyforge.org/projects/winconsole (ansi
coloring for console)