I am on Windows XP.
When I type:
I have the message: No such file or directory - stty size
No such file or directory - stty size
In https://github.com/rubyworks/ansi/blob/master/lib/ansi/terminal.rb, the code seems to require successively ansi/terminal/stty, ansi/terminal/curses, ansi/terminal/termios and ansi/terminal/win32 until one of these require does not raises.
I guess that stty is supposed to raise on Windows, to avoid using this library. However when I require manually ansi/terminal/stty, it does not raises.
In fact, when I read the code of ansi/terminal/stty I do not see anything that can raise on Windows (or on any platform).
No love for windows, anyone?
I have run into this issue on Windows as well, might take a stab at fixing it.
I would love to merge a fix. I do not use Windows (for development) so it would be better for someone who does to take a stab at it.
I may have fixed it. All this time and I think the simple error was pop should have been shift, i.e. the platforms files were being required in the wrong order.
ANSI::Terminal.terminal_width # => 207
now works for me on Win7 under Cygwin. Is that a conclusive test?
Pretty much. And if that works for straight Windows (no Cygwin) then I think this issue if finally close able. Yay! (Though I am sure improvements are to be had, e.g. I've seen code in the wild that indicate to me that JRuby support might need some love.)