win32console 1.2.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,372 @@
1
+ # Win32::Console: an object implementing the Win32 API Console functions
2
+ # Copyright (C) 2003 Gonzalo Garramuno (ggarramuno@aol.com)
3
+ #
4
+ # Original Win32API_Console was:
5
+ # Copyright (C) 2001 Michael L. Semon (mlsemon@sega.net)
6
+
7
+ begin
8
+ # If Console.so is available, use that. Otherwise, we define
9
+ # equivalent functions in ruby (a tad slower)
10
+ # That dll should define everything in an identical interface
11
+ # to all the ruby code that the rescue below defines.
12
+
13
+ require "Console.so"
14
+ STDERR.print "Using faster, DLL Console.so\n" if $DEBUG
15
+
16
+ rescue Exception
17
+
18
+ STDERR.print "Using slower, non-DLL Console.rb\n" if $DEBUG
19
+
20
+ require 'Win32/Console/constants.rb'
21
+ require 'Win32/Console/api.rb'
22
+
23
+ end # rescue
24
+
25
+ module Win32
26
+ class Console
27
+
28
+ VERSION = '1.0'
29
+
30
+ include Win32::Console::Constants
31
+
32
+ def initialize( t = nil )
33
+ if t and ( t == STD_INPUT_HANDLE or t == STD_OUTPUT_HANDLE or
34
+ t == STD_ERROR_HANDLE )
35
+ @handle = API.GetStdHandle( t )
36
+ else
37
+ param1 = GENERIC_READ | GENERIC_WRITE
38
+ param2 = FILE_SHARE_READ | FILE_SHARE_WRITE
39
+ @handle = API.CreateConsoleScreenBuffer( param1, param2,
40
+ CONSOLE_TEXTMODE_BUFFER )
41
+ end
42
+ end
43
+
44
+ def Display
45
+ return API.SetConsoleActiveScreenBuffer(@handle)
46
+ end
47
+
48
+ def Select(type)
49
+ return API.SetStdHandle(type,@handle)
50
+ end
51
+
52
+ def Title(title = nil)
53
+ if title
54
+ return API.SetConsoleTitle(title)
55
+ else
56
+ return API.GetConsoleTitle()
57
+ end
58
+ end
59
+
60
+ def WriteChar(s, col, row)
61
+ API.WriteConsoleOutputCharacter( @handle, s, col, row )
62
+ end
63
+
64
+ def ReadChar(size, col, row)
65
+ buffer = ' ' * size
66
+ if API.ReadConsoleOutputCharacter( @handle, buffer, size, col, row )
67
+ return buffer
68
+ else
69
+ return nil
70
+ end
71
+ end
72
+
73
+ def WriteAttr(attr, col, row)
74
+ API.WriteConsoleOutputAttribute( @handle, attr, col, row )
75
+ end
76
+
77
+ def ReadAttr(size, col, row)
78
+ x = API.ReadConsoleOutputAttribute( @handle, size, col, row )
79
+ return x.unpack('c'*size)
80
+ end
81
+
82
+ def Cursor(*t)
83
+ col, row, size, visi = t
84
+ if col
85
+ row = -1 if !row
86
+ if col < 0 or row < 0
87
+ curr_col, curr_row = API.GetConsoleScreenBufferInfo(@handle)
88
+ col = curr_col if col < 0
89
+ row = curr_row if row < 0
90
+ end
91
+ API.SetConsoleCursorPosition( @handle, col, row )
92
+ if size and visi
93
+ curr_size, curr_visi = API.GetConsoleCursorInfo( @handle )
94
+ size = curr_size if size < 0
95
+ visi = curr_visi if visi < 0
96
+ size = 1 if size < 1
97
+ size = 99 if size > 99
98
+ API.SetConsoleCursorInfo( @handle, size, visi )
99
+ end
100
+ else
101
+ d, d, curr_col, curr_row = API.GetConsoleScreenBufferInfo(@handle)
102
+ curr_size, curr_visi = API.GetConsoleCursorInfo( @handle )
103
+ return [ curr_col, curr_row, curr_size, curr_visi ]
104
+ end
105
+ end
106
+
107
+ def Write(s)
108
+ API.WriteConsole( @handle, s )
109
+ end
110
+
111
+ def WriteFile(s)
112
+ API.WriteFile( @handle, s)
113
+ end
114
+
115
+ def ReadRect( left, top, right, bottom )
116
+ col = right - left + 1
117
+ row = bottom - top + 1
118
+ size = col * row
119
+ buffer = ' ' * size * 4
120
+ if API.ReadConsoleOutput( @handle, buffer, col, row, 0, 0,
121
+ left, top, right, bottom )
122
+ #return buffer.unpack('US'*size) # for unicode
123
+ return buffer.unpack('axS'*size) # for ascii
124
+ else
125
+ return nil
126
+ end
127
+ end
128
+
129
+ def WriteRect( buffer, left, top, right, bottom )
130
+ col = right - left + 1
131
+ row = bottom - top + 1
132
+ API.WriteConsoleOutput( @handle, buffer, col, row, 0, 0,
133
+ left, top, right, bottom )
134
+ end
135
+
136
+ def Scroll( left1, top1, right1, bottom1,
137
+ col, row, char, attr,
138
+ left2, top2, right2, bottom2 )
139
+ API.ScrollConsoleScreenBuffer(@handle, left1, top1, right1, bottom1,
140
+ col, row, char, attr,
141
+ left2, top2, right2, bottom2)
142
+ end
143
+
144
+ def MaxWindow(flag = nil)
145
+ if !flag
146
+ info = API.GetConsoleScreenBufferInfo(@handle)
147
+ return info[9], info[10]
148
+ else
149
+ return API.GetLargestConsoleWindowSize(@handle)
150
+ end
151
+ end
152
+
153
+ def Info()
154
+ return API.GetConsoleScreenBufferInfo( @handle )
155
+ end
156
+
157
+ def GetEvents()
158
+ return API.GetNumberOfConsoleInputEvents(@handle)
159
+ end
160
+
161
+ def Flush()
162
+ return API.FlushConsoleInputBuffer(@handle)
163
+ end
164
+
165
+ def InputChar(number = nil)
166
+ number = 1 unless number
167
+ buffer = ' ' * number
168
+ if API.ReadConsole(@handle, buffer, number) == number
169
+ return buffer
170
+ else
171
+ return nil
172
+ end
173
+ end
174
+
175
+ def Input()
176
+ API.ReadConsoleInput(@handle)
177
+ end
178
+
179
+ def PeekInput()
180
+ API.PeekConsoleInput(@handle)
181
+ end
182
+
183
+ def Mode(mode = nil)
184
+ if mode
185
+ mode = mode.pack('L') if mode === Array
186
+ API.SetConsoleMode(@handle, mode)
187
+ else
188
+ begin
189
+ x = API.GetConsoleMode(@handle)
190
+ return x
191
+ rescue
192
+ return 9999
193
+ end
194
+ end
195
+ end
196
+
197
+ def WriteInput(*t)
198
+ API.WriteConsoleInput(@handle, *t)
199
+ end
200
+
201
+ def Attr(*attr)
202
+ if attr.size > 0
203
+ API.SetConsoleTextAttribute( @handle, attr[0] )
204
+ else
205
+ info = API.GetConsoleScreenBufferInfo( @handle )
206
+ return info[4]
207
+ end
208
+ end
209
+
210
+ def Size(*t)
211
+ if t.size == 0
212
+ col, row = API.GetConsoleScreenBufferInfo(@handle )
213
+ return [col, row]
214
+ else
215
+ row = -1 if !t[1]
216
+ col = -1 if !t[0]
217
+ if col < 0 or row < 0
218
+ curr_col, curr_row = Size()
219
+ col = curr_col if col < 0
220
+ row = curr_row if row < 0
221
+ end
222
+ API.SetConsoleScreenBufferSize(@handle, row, col)
223
+ end
224
+ end
225
+
226
+ def Window(*t)
227
+ if t.size != 5
228
+ info = API.GetConsoleScreenBufferInfo( @handle )
229
+ return info[5..8]
230
+ else
231
+ API.SetConsoleWindowInfo(@handle, t[0], t[1], t[2], t[3], t[4])
232
+ end
233
+ end
234
+
235
+ def FillAttr(attr, number = 1, col = -1, row = -1)
236
+ if col < 0 or row < 0
237
+ d, d, curr_col, curr_row = API.GetConsoleScreenBufferInfo(@handle)
238
+ col = curr_col if col < 0
239
+ row = curr_row if row < 0
240
+ end
241
+ API.FillConsoleOutputAttribute(@handle, attr, number, col, row)
242
+ end
243
+
244
+ def FillChar(char, number, col = -1, row = -1)
245
+ if col < 0 or row < 0
246
+ d, d, curr_col, curr_row = API.GetConsoleScreenBufferInfo(@handle)
247
+ col = curr_col if col < 0
248
+ row = curr_row if row < 0
249
+ end
250
+ API.FillConsoleOutputCharacter(@handle, char[0], number, col, row)
251
+ end
252
+
253
+ def Cls()
254
+ attr = ATTR_NORMAL
255
+ x, y = Size()
256
+ left, top, right , bottom = Window()
257
+ vx = right - left
258
+ vy = bottom - top
259
+ FillChar(' ', x*y, 0, 0)
260
+ FillAttr(attr, x*y, 0, 0)
261
+ Cursor(0,0)
262
+ Window(1,0,0,vx,vy)
263
+ end
264
+
265
+ def Console.Free()
266
+ API.FreeConsole()
267
+ end
268
+
269
+ def Console.Alloc()
270
+ API.AllocConsole()
271
+ end
272
+
273
+ def Console.MouseButtons()
274
+ API.GetNumberOfConsoleMouseButtons()
275
+ end
276
+
277
+ def Console.InputCP(codepage=nil)
278
+ if codepage
279
+ API.SetConsoleCP(codepage)
280
+ else
281
+ return API.GetConsoleCP()
282
+ end
283
+ end
284
+
285
+ def Console.OutputCP(codepage=nil)
286
+ if codepage
287
+ API.SetConsoleOutputCP(codepage)
288
+ else
289
+ return API.GetConsoleOutputCP()
290
+ end
291
+ end
292
+
293
+ def Console.GenerateCtrlEvent( type=nil, pid=nil )
294
+ type = API.constant('CTRL_C_EVENT') if type == nil
295
+ pid = 0 if pid == nil
296
+ API.GenerateConsoleCtrlEvent(type, pid)
297
+ end
298
+
299
+ end
300
+ end
301
+
302
+
303
+ FG_BLACK = 0
304
+ FG_BLUE = Win32::Console::API.constant("FOREGROUND_BLUE")
305
+ FG_LIGHTBLUE = Win32::Console::API.constant("FOREGROUND_BLUE")|
306
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
307
+ FG_RED = Win32::Console::API.constant("FOREGROUND_RED")
308
+ FG_LIGHTRED = Win32::Console::API.constant("FOREGROUND_RED")|
309
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
310
+ FG_GREEN = Win32::Console::API.constant("FOREGROUND_GREEN")
311
+ FG_LIGHTGREEN = Win32::Console::API.constant("FOREGROUND_GREEN")|
312
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
313
+ FG_MAGENTA = Win32::Console::API.constant("FOREGROUND_RED")|
314
+ Win32::Console::API.constant("FOREGROUND_BLUE")
315
+ FG_LIGHTMAGENTA = Win32::Console::API.constant("FOREGROUND_RED")|
316
+ Win32::Console::API.constant("FOREGROUND_BLUE")|
317
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
318
+ FG_CYAN = Win32::Console::API.constant("FOREGROUND_GREEN")|
319
+ Win32::Console::API.constant("FOREGROUND_BLUE")
320
+ FG_LIGHTCYAN = Win32::Console::API.constant("FOREGROUND_GREEN")|
321
+ Win32::Console::API.constant("FOREGROUND_BLUE")|
322
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
323
+ FG_BROWN = Win32::Console::API.constant("FOREGROUND_RED")|
324
+ Win32::Console::API.constant("FOREGROUND_GREEN")
325
+ FG_YELLOW = Win32::Console::API.constant("FOREGROUND_RED")|
326
+ Win32::Console::API.constant("FOREGROUND_GREEN")|
327
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
328
+ FG_GRAY = Win32::Console::API.constant("FOREGROUND_RED")|
329
+ Win32::Console::API.constant("FOREGROUND_GREEN")|
330
+ Win32::Console::API.constant("FOREGROUND_BLUE")
331
+ FG_WHITE = Win32::Console::API.constant("FOREGROUND_RED")|
332
+ Win32::Console::API.constant("FOREGROUND_GREEN")|
333
+ Win32::Console::API.constant("FOREGROUND_BLUE")|
334
+ Win32::Console::API.constant("FOREGROUND_INTENSITY")
335
+
336
+ BG_BLACK = 0
337
+ BG_BLUE = Win32::Console::API.constant("BACKGROUND_BLUE")
338
+ BG_LIGHTBLUE = Win32::Console::API.constant("BACKGROUND_BLUE")|
339
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
340
+ BG_RED = Win32::Console::API.constant("BACKGROUND_RED")
341
+ BG_LIGHTRED = Win32::Console::API.constant("BACKGROUND_RED")|
342
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
343
+ BG_GREEN = Win32::Console::API.constant("BACKGROUND_GREEN")
344
+ BG_LIGHTGREEN = Win32::Console::API.constant("BACKGROUND_GREEN")|
345
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
346
+ BG_MAGENTA = Win32::Console::API.constant("BACKGROUND_RED")|
347
+ Win32::Console::API.constant("BACKGROUND_BLUE")
348
+ BG_LIGHTMAGENTA = Win32::Console::API.constant("BACKGROUND_RED")|
349
+ Win32::Console::API.constant("BACKGROUND_BLUE")|
350
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
351
+ BG_CYAN = Win32::Console::API.constant("BACKGROUND_GREEN")|
352
+ Win32::Console::API.constant("BACKGROUND_BLUE")
353
+ BG_LIGHTCYAN = Win32::Console::API.constant("BACKGROUND_GREEN")|
354
+ Win32::Console::API.constant("BACKGROUND_BLUE")|
355
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
356
+ BG_BROWN = Win32::Console::API.constant("BACKGROUND_RED")|
357
+ Win32::Console::API.constant("BACKGROUND_GREEN")
358
+ BG_YELLOW = Win32::Console::API.constant("BACKGROUND_RED")|
359
+ Win32::Console::API.constant("BACKGROUND_GREEN")|
360
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
361
+ BG_GRAY = Win32::Console::API.constant("BACKGROUND_RED")|
362
+ Win32::Console::API.constant("BACKGROUND_GREEN")|
363
+ Win32::Console::API.constant("BACKGROUND_BLUE")
364
+ BG_WHITE = Win32::Console::API.constant("BACKGROUND_RED")|
365
+ Win32::Console::API.constant("BACKGROUND_GREEN")|
366
+ Win32::Console::API.constant("BACKGROUND_BLUE")|
367
+ Win32::Console::API.constant("BACKGROUND_INTENSITY")
368
+
369
+ ATTR_NORMAL = FG_GRAY | BG_BLACK
370
+ ATTR_INVERSE = FG_BLACK | BG_GRAY
371
+
372
+ include Win32::Console::Constants
@@ -0,0 +1 @@
1
+ require 'Win32/Console/ANSI'
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "Win32/Console"
4
+
5
+
6
+ a = Win32::Console.new(STD_OUTPUT_HANDLE)
7
+
8
+ puts "Setting cursor to visible and 100% fat"
9
+ a.Cursor(-1,-1,100,1)
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "Win32/Console"
4
+
5
+ a = Win32::Console.new()
6
+ puts "# of Mouse buttons: #{Win32::Console.MouseButtons}"
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "Win32/Console"
4
+
5
+ include Win32::Console::Constants
6
+ a = Win32::Console.new(STD_INPUT_HANDLE)
7
+
8
+ puts "InputChar: Type a phrase then ENTER, please:"
9
+
10
+ x1 = a.InputChar(1)
11
+ puts "Your phrase starts with the character #{x1}"
12
+
13
+
14
+ fdwMode = ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT
15
+
16
+ a.Mode(fdwMode)
17
+
18
+ puts
19
+ puts "PeekInput: Type a character without ENTER or do something, please:"
20
+
21
+ while (x1 = a.PeekInput()).size < 1
22
+ end
23
+
24
+ if x1[0] == KEY_EVENT
25
+ puts "You typed #{x1[5]}='#{x1[5].chr}'"
26
+ else
27
+ print "You did not typed, but "
28
+ case x1[0]
29
+ when MOUSE_EVENT
30
+ puts "used mouse"
31
+ when WINDOW_BUFFER_SIZE_EVENT
32
+ puts "resize window"
33
+ when MENU_EVENT
34
+ puts "called menu"
35
+ when FOCUS_EVENT
36
+ puts "changed focus"
37
+ else
38
+ puts "...should never get here"
39
+ end
40
+ end
41
+
42
+ puts
43
+ puts "Input (as PeekInput keeps event, this reuses PeekInput value):"
44
+ x1 = a.Input()
45
+ if x1[0] == KEY_EVENT
46
+ puts "You typed #{x1[5]}='#{x1[5].chr}'"
47
+ else
48
+ print "You did not typed, but "
49
+ case x1[0]
50
+ when MOUSE_EVENT
51
+ puts "used mouse"
52
+ when WINDOW_BUFFER_SIZE_EVENT
53
+ puts "resize window"
54
+ when MENU_EVENT
55
+ puts "called menu"
56
+ when FOCUS_EVENT
57
+ puts "changed focus"
58
+ else
59
+ puts "...should never get here"
60
+ end
61
+ end
62
+
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "Win32/Console"
4
+
5
+ include Win32::Console::Constants
6
+ a = Win32::Console.new(STD_OUTPUT_HANDLE)
7
+
8
+ puts <<'EOF'
9
+ This is a simple
10
+ test of test to grab
11
+ from the console.
12
+ Hopefully this will work
13
+ easily and merrily.
14
+ This is a simple
15
+ test of test to grab
16
+ from the console.
17
+ Hopefully this will work
18
+ easily and merrily.
19
+ This is a simple
20
+ test of test to grab
21
+ from the console.
22
+ Hopefully this will work
23
+ easily and merrily.
24
+ EOF
25
+
26
+ x1 = a.ReadChar(10,10,10)
27
+ x2 = a.ReadAttr(10,10,10)
28
+ x3 = a.ReadRect(10,10,20,10)
29
+ puts "ReadChar .#{x1}."
30
+ puts x2.class, x2.size
31
+ print "ReadAttr ."
32
+ for i in x2
33
+ print "#{i}|"
34
+ end
35
+ print "\nReadRect ."
36
+
37
+ i = 0
38
+ while i < x3.length-1
39
+ print "#{x3[i]}"
40
+ i += 2
41
+ end
42
+ print "\n "
43
+ i = 1
44
+ while i < x3.length-1
45
+ print "#{x3[i]}|"
46
+ i += 2
47
+ end
48
+ print "\n"
49
+
50
+ #puts "read=",x1
51
+ #print "Attributes:",x2
52
+
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "Win32/Console"
4
+
5
+
6
+ i = 0
7
+ begin
8
+ while i < 99
9
+ if i == 10
10
+ Win32::Console::GenerateCtrlEvent()
11
+ end
12
+ i = i.next
13
+ end
14
+ rescue Exception
15
+ end
16
+
17
+ puts "if i=10, then OK! i=#{i}"
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "Win32/Console"
4
+
5
+ a = Win32::Console.new()
6
+
7
+ title = a.Title()
8
+ puts "Old title: \"#{title}\""
9
+
10
+ a.Title("This is a new title")
11
+ title = a.Title()
12
+ puts "I just changed the title to '#{title}'"
13
+
14
+ sleep(5)
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+ begin
3
+ require 'rubygems'
4
+ require 'term/ansicolor'
5
+ include Term::ANSIColor
6
+ rescue LoadError
7
+ puts "You need term-ansicolor gem installed to run this test"
8
+ puts "Please 'gem install term-ansicolor' and try again."
9
+ end
10
+
11
+ require "benchmark"
12
+ require "Win32/Console/ANSI"
13
+
14
+ Benchmark.bm do |x|
15
+ num = 100
16
+ x.report("#{num} times") {
17
+ 0.upto(num) {
18
+ print "\e[2J"
19
+
20
+ print red, bold, "Usage as constants:", reset, "\n"
21
+
22
+ print clear, "clear", reset, reset, "reset", reset,
23
+ bold, "bold", reset, dark, "dark", reset,
24
+ underscore, "underscore", reset, blink, "blink", reset,
25
+ negative, "negative", reset, concealed, "concealed", reset, "|\n",
26
+ black, "black", reset, red, "red", reset, green, "green", reset,
27
+ yellow, "yellow", reset, blue, "blue", reset, magenta, "magenta", reset,
28
+ cyan, "cyan", reset, white, "white", reset, "|\n",
29
+ on_black, "on_black", reset, on_red, "on_red", reset,
30
+ on_green, "on_green", reset, on_yellow, "on_yellow", reset,
31
+ on_blue, "on_blue", reset, on_magenta, "on_magenta", reset,
32
+ on_cyan, "on_cyan", reset, on_white, "on_white", reset, "|\n\n"
33
+ print "\e[s\e[20P.................."
34
+ }
35
+ }
36
+ end
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: win32console
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
+ platform: x86-mingw32
6
+ authors:
7
+ - Original Library by Gonzalo Garramuno, Gem by Justin Bailey
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-11-22 00:00:00 -02:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: "This gem packages Gonzalo Garramuno's Win32::Console project, and includes a compiled binary for speed. The Win32::Console project's home can be found at: http://rubyforge.org/projects/win32console The gem project can be found at http://rubyforge.org/projects/winconsole"
17
+ email: ggarra @nospam@ advancedsl.com.ar, jgbailey @nospan@ gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README.txt
24
+ - README_GEM.txt
25
+ - INSTALL.txt
26
+ - HISTORY.txt
27
+ - HISTORY_GEM.txt
28
+ files:
29
+ - doc/Console.rdoc
30
+ - doc/Console_ANSI.rdoc
31
+ - ext/Console.cpp
32
+ - ext/extconf.rb
33
+ - lib/Win32/Console/ANSI.rb
34
+ - lib/Win32/Console/api.rb
35
+ - lib/Win32/Console/constants.rb
36
+ - lib/Win32/Console.rb
37
+ - lib/win32console.rb
38
+ - test/test_cursor.rb
39
+ - test/test_mouse.rb
40
+ - test/test_readinput.rb
41
+ - test/test_readoutput.rb
42
+ - test/test_sendevent.rb
43
+ - test/test_title.rb
44
+ - test/test_write.rb
45
+ - Rakefile
46
+ - README.txt
47
+ - README_GEM.txt
48
+ - INSTALL.txt
49
+ - HISTORY.txt
50
+ - HISTORY_GEM.txt
51
+ - lib/Console.so
52
+ has_rdoc: true
53
+ homepage: http://rubyforge.org/projects/winconsole
54
+ post_install_message:
55
+ rdoc_options:
56
+ - --title
57
+ - Win32Console Gem -- Gem for Win32::Console Project
58
+ - --main
59
+ - README_GEM.txt
60
+ - --line-numbers
61
+ require_paths:
62
+ - lib
63
+ required_ruby_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ version:
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ requirements: []
76
+
77
+ rubyforge_project: http://rubyforge.org/projects/winconsole
78
+ rubygems_version: 1.3.0
79
+ signing_key:
80
+ specification_version: 2
81
+ summary: A library giving the Win32 console ANSI escape sequence support.
82
+ test_files: []
83
+