rubytext 0.0.65 → 0.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/examples/_demo.rb +118 -0
- data/examples/_showme.rb +58 -0
- data/examples/_slides +22 -0
- data/examples/check.rb +1 -1
- data/examples/foo +7 -0
- data/examples/slides +1 -1
- data/lib/_color.rb +69 -0
- data/lib/_window.rb +92 -0
- data/lib/output.rb +20 -37
- data/lib/rubytext.rb +2 -0
- data/lib/settings.rb +5 -3
- data/lib/version.rb +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1026a49ec8ff0ecd96f14d6e34cb5bf689e277e2c619ea39f9746c899f5238a9
|
4
|
+
data.tar.gz: 8baa928f1c76383407165447ea3df23876f1fb698cfd05444088e78d5067fd5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4e118a18444c9831ecc6136f6ac36caa16fa6f60adb6fd4de5640d3b66901f623348d46306ac812387183163e30c674e47f0f2533e8c81f650f74d6094e10b4
|
7
|
+
data.tar.gz: 73a1fe904439c2f680dace4927528a7cff96afe84a4f3bb43ecd04ef7e9b9f4af4f191833dd61beef968cb91887b98f8cf88882521af86e511ba864524512bee
|
data/examples/_demo.rb
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
$LOAD_PATH.unshift "lib"
|
2
|
+
|
3
|
+
require 'rubytext'
|
4
|
+
|
5
|
+
def delay(sec, speed=1.0)
|
6
|
+
sleep sec/speed
|
7
|
+
end
|
8
|
+
|
9
|
+
speed = ARGV.first || 1.0
|
10
|
+
speed = speed.to_f
|
11
|
+
delay(speed)
|
12
|
+
|
13
|
+
RubyText.start(log: "mylog.txt", fg: Green, bg: Black)
|
14
|
+
|
15
|
+
print "Here goes... "
|
16
|
+
delay 2
|
17
|
+
|
18
|
+
ymax, xmax = STDSCR.rows, STDSCR.cols
|
19
|
+
|
20
|
+
puts "STDSCR is #{ymax.inspect} by #{xmax.inspect}"
|
21
|
+
delay 2
|
22
|
+
|
23
|
+
print "\nI can write here "
|
24
|
+
delay 2
|
25
|
+
puts "and then continue."
|
26
|
+
|
27
|
+
delay 2
|
28
|
+
print "I can jump away "
|
29
|
+
|
30
|
+
delay 2
|
31
|
+
STDSCR.go(20, 15) { puts "and print somewhere else" }
|
32
|
+
# ^ Same as: rcprint(20, 15, "and print somewhere else" }
|
33
|
+
|
34
|
+
delay 2
|
35
|
+
puts "and then return."
|
36
|
+
|
37
|
+
delay 3
|
38
|
+
print "I can hide the cursor... "
|
39
|
+
delay 1
|
40
|
+
RubyText.hide_cursor
|
41
|
+
delay 1
|
42
|
+
print "then show it again... "
|
43
|
+
delay 1
|
44
|
+
RubyText.show_cursor
|
45
|
+
delay 1
|
46
|
+
print "and hide it again. "
|
47
|
+
delay 1
|
48
|
+
RubyText.hide_cursor
|
49
|
+
delay 3
|
50
|
+
|
51
|
+
puts "\n\nNow watch as I create a window:"
|
52
|
+
|
53
|
+
mywin = RubyText.window(16, 40, 8, 14, fg: :blue, bg: :yellow)
|
54
|
+
|
55
|
+
delay 3
|
56
|
+
mywin.puts "\nNow I'm writing in a window."
|
57
|
+
mywin.puts "\nIts size is #{mywin.rows} rows by #{mywin.cols} cols"
|
58
|
+
mywin.puts "(or #{mywin.height}x#{mywin.width} with the frame).\n "
|
59
|
+
|
60
|
+
delay 4
|
61
|
+
mywin.puts "I always try to honor the borders of my window."
|
62
|
+
|
63
|
+
delay 2
|
64
|
+
mywin.puts "\nWatch as I place 50 random stars here..."
|
65
|
+
|
66
|
+
delay 2
|
67
|
+
|
68
|
+
50.times do
|
69
|
+
r = rand(mywin.rows)
|
70
|
+
c = rand(mywin.cols)
|
71
|
+
delay 0.1
|
72
|
+
mywin.rcprint(r, c, "*")
|
73
|
+
end
|
74
|
+
|
75
|
+
delay 4
|
76
|
+
mywin.output do
|
77
|
+
mywin.clear
|
78
|
+
puts "The window method called 'output'"
|
79
|
+
puts "will temporarily override STDSCR so that (in the code)"
|
80
|
+
puts "we don't have to use the window name over and over for stream I/O."
|
81
|
+
delay 4
|
82
|
+
# STDSCR.rcprint 25, 3, "Of course I can still print here if I want."
|
83
|
+
STDSCR.go 25, 3
|
84
|
+
STDSCR.print "Of course I can still print here if I want."
|
85
|
+
delay 3
|
86
|
+
puts "\nOne moment..."
|
87
|
+
delay 4
|
88
|
+
end
|
89
|
+
|
90
|
+
mywin.output do
|
91
|
+
mywin.clear
|
92
|
+
puts "The []= method allows us to place characters in"
|
93
|
+
puts "the window (without auto-refresh)."
|
94
|
+
puts "\nLet's see the '50 stars' trick again:"
|
95
|
+
delay 5
|
96
|
+
50.times do
|
97
|
+
r = rand(mywin.rows)
|
98
|
+
c = rand(mywin.cols)
|
99
|
+
mywin[r, c] = "*"
|
100
|
+
end
|
101
|
+
mywin.cwin.refresh
|
102
|
+
end
|
103
|
+
|
104
|
+
delay 5
|
105
|
+
mywin.output do
|
106
|
+
mywin.clear
|
107
|
+
mywin.puts "The [] method (zero-based) is still buggy, but let's try it."
|
108
|
+
mywin.puts "XYZ"
|
109
|
+
ch = mywin[2,2]
|
110
|
+
mywin.puts "The char at [2,2] is: #{ch.chr.inspect}"
|
111
|
+
end
|
112
|
+
|
113
|
+
delay 4
|
114
|
+
mywin.puts "\nThat's all for now."
|
115
|
+
delay 1
|
116
|
+
mywin.puts "\nPress any key to exit."
|
117
|
+
|
118
|
+
getch
|
data/examples/_showme.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'rubytext'
|
2
|
+
require 'timeout'
|
3
|
+
|
4
|
+
def next_slide
|
5
|
+
RubyText.hide_cursor
|
6
|
+
sleep 0.2
|
7
|
+
Timeout.timeout(999) do
|
8
|
+
STDSCR.go @rmax-1-@upward, 0
|
9
|
+
STDSCR.center "Press any key..."
|
10
|
+
getch
|
11
|
+
end
|
12
|
+
rescue Timeout::Error
|
13
|
+
end
|
14
|
+
|
15
|
+
def show_code(prog, upward=0)
|
16
|
+
text = File.read(prog)
|
17
|
+
nlines = text.split("\n").size
|
18
|
+
|
19
|
+
prog_top = @rmax-nlines-3 - upward.to_i
|
20
|
+
code = RubyText.window(nlines+2, @cmax-2, prog_top, 1,
|
21
|
+
fg: Green, bg: Black)
|
22
|
+
code.puts text
|
23
|
+
|
24
|
+
right = STDSCR.cols - prog.length - 8
|
25
|
+
STDSCR.go prog_top, right
|
26
|
+
STDSCR.print "[ #{prog} ]"
|
27
|
+
STDSCR.go 0,0
|
28
|
+
end
|
29
|
+
|
30
|
+
def check_window
|
31
|
+
if @rmax < 25 || @cmax < 80
|
32
|
+
puts "\n Your window should be 25x80 or larger,"
|
33
|
+
puts " but this one is only #{@rmax}x#{@cmax}."
|
34
|
+
puts " Please resize and run again!"
|
35
|
+
getch
|
36
|
+
exit 1
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
#### Main
|
41
|
+
|
42
|
+
RubyText.start(:cbreak, log: "/tmp/showme.log", fg: White, bg: Black)
|
43
|
+
|
44
|
+
@cmax = STDSCR.cols
|
45
|
+
@rmax = STDSCR.rows
|
46
|
+
|
47
|
+
RubyText.hide_cursor
|
48
|
+
|
49
|
+
check_window
|
50
|
+
|
51
|
+
prog, @upward = ARGV
|
52
|
+
@upward ||= 0
|
53
|
+
|
54
|
+
show_code(prog, @upward)
|
55
|
+
|
56
|
+
require_relative prog
|
57
|
+
|
58
|
+
next_slide # if @upward == 0
|
data/examples/_slides
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
mylib = `gem which rubytext`.chomp
|
4
|
+
examples = mylib.sub(%r[/lib/rubytext.rb], "/examples")
|
5
|
+
|
6
|
+
Dir.chdir(examples)
|
7
|
+
|
8
|
+
rc = system("ruby check.rb")
|
9
|
+
exit unless rc
|
10
|
+
|
11
|
+
# FIXME
|
12
|
+
# - use names instead of numbers?
|
13
|
+
# - convert showme into a method?
|
14
|
+
|
15
|
+
1.upto(22) do |n|
|
16
|
+
next if n == 11 # junk this one
|
17
|
+
num = '%02d' % n
|
18
|
+
prog = "prog#{num}.rb"
|
19
|
+
upward = 11 if n == 22 # dumbest hack ever!
|
20
|
+
system("ruby showme.rb #{prog} #{upward}")
|
21
|
+
end
|
22
|
+
|
data/examples/check.rb
CHANGED
data/examples/foo
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
#<ArgumentError: wrong number of arguments (given 2, expected 1)>
|
2
|
+
/Users/Hal/.rvm/gems/ruby-2.4.2/gems/rubytext-0.0.65/lib/color.rb:30:in `[]'
|
3
|
+
/Users/Hal/.rvm/gems/ruby-2.4.2/gems/rubytext-0.0.65/lib/color.rb:30:in `colors'
|
4
|
+
/Users/Hal/.rvm/gems/ruby-2.4.2/gems/rubytext-0.0.65/lib/color.rb:35:in `colors!'
|
5
|
+
/Users/Hal/.rvm/gems/ruby-2.4.2/gems/rubytext-0.0.65/lib/window.rb:33:in `main'
|
6
|
+
/Users/Hal/.rvm/gems/ruby-2.4.2/gems/rubytext-0.0.65/lib/settings.rb:75:in `start'
|
7
|
+
check.rb:3:in `<main>'
|
data/examples/slides
CHANGED
data/lib/_color.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
|
2
|
+
def fb2cp(fg, bg)
|
3
|
+
fg ||= Blue
|
4
|
+
bg ||= White
|
5
|
+
f2 = X.const_get("COLOR_#{fg.upcase}")
|
6
|
+
b2 = X.const_get("COLOR_#{bg.upcase}")
|
7
|
+
cp = RubyText::ColorPairs[[fg, bg]]
|
8
|
+
[f2, b2, cp]
|
9
|
+
end
|
10
|
+
|
11
|
+
class RubyText::Color
|
12
|
+
attr_reader :curses
|
13
|
+
|
14
|
+
def self.pair(fg, bg)
|
15
|
+
RubyText::ColorPairs[[fg, bg]]
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(sym)
|
19
|
+
@color = sym
|
20
|
+
@curses = X.const_get("COLOR_#{sym.upcase}")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
module RubyText
|
25
|
+
Colors = [Black, Blue, Cyan, Green, Magenta, Red, White, Yellow]
|
26
|
+
|
27
|
+
# Initialize all color pairs
|
28
|
+
ColorPairs = {}
|
29
|
+
num = 0
|
30
|
+
color_file = File.new("pairs.out", "w")
|
31
|
+
Colors.each do |fsym|
|
32
|
+
Colors.each do |bsym|
|
33
|
+
cfg, cbg = Color.new(fsym).curses, Color.new(bsym).curses
|
34
|
+
X.init_pair(num+=1, cfg, cbg)
|
35
|
+
ColorPairs[[fsym, bsym]] = num
|
36
|
+
# debug "pair #{num} = #{[fsym, bsym]}"
|
37
|
+
color_file.puts "pair #{num} = #{[fsym, bsym]}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
color_file.close
|
41
|
+
end
|
42
|
+
|
43
|
+
class RubyText::Window
|
44
|
+
def self.set_colors(cwin, fg, bg)
|
45
|
+
@cfile = File.new("colors-#{rand(1000)}.out", "w")
|
46
|
+
cp = RubyText::Color.pair(fg, bg)
|
47
|
+
@cfile.puts "Setting: #{cp} = pair #{[fg, bg].inspect}"
|
48
|
+
@cfile.close
|
49
|
+
exit
|
50
|
+
cwin.color_set(cp)
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.colorize!(win, fg, bg)
|
54
|
+
set_colors(win, fg, bg)
|
55
|
+
num = win.maxx * win.maxy
|
56
|
+
win.setpos(0, 0)
|
57
|
+
win.addstr(' '*num)
|
58
|
+
win.setpos(0, 0)
|
59
|
+
win.refresh
|
60
|
+
end
|
61
|
+
|
62
|
+
def fg=(sym)
|
63
|
+
self.class.set_colors(@cwin, sym, @bg) # BREAK??
|
64
|
+
end
|
65
|
+
|
66
|
+
def bg=(sym)
|
67
|
+
self.class.set_colors(@cwin, @fg, sym)
|
68
|
+
end
|
69
|
+
end
|
data/lib/_window.rb
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
class RubyText::Window
|
2
|
+
Vert, Horiz = X::A_VERTICAL, X::A_HORIZONTAL
|
3
|
+
|
4
|
+
attr_reader :cwin, :rows, :cols, :width, :height, :scrolling
|
5
|
+
attr_writer :fg, :bg
|
6
|
+
|
7
|
+
# Better to use Window.window IRL
|
8
|
+
|
9
|
+
def initialize(high=nil, wide=nil, r0=1, c0=1, border=false, fg=nil, bg=nil, scroll=false)
|
10
|
+
@wide, @high, @r0, @c0 = wide, high, r0, c0
|
11
|
+
@border, @fg, @bg = border, fg, bg
|
12
|
+
@cwin = X::Window.new(high, wide, r0, c0)
|
13
|
+
RubyText::Window.colorize!(@cwin, fg, bg)
|
14
|
+
if @border
|
15
|
+
@cwin.box(Vert, Horiz)
|
16
|
+
@outer = @cwin
|
17
|
+
@outer.refresh
|
18
|
+
@cwin = X::Window.new(high-2, wide-2, r0+1, c0+1)
|
19
|
+
RubyText::Window.colorize!(@cwin, fg, bg)
|
20
|
+
else
|
21
|
+
@outer = @cwin
|
22
|
+
end
|
23
|
+
@rows, @cols = @cwin.maxy, @cwin.maxx # unnecessary really...
|
24
|
+
@width, @height = @cols + 2, @rows + 2 if @border
|
25
|
+
@scrolling = scroll
|
26
|
+
@cwin.scrollok(scroll)
|
27
|
+
@cwin.refresh
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.main(fg: nil, bg: nil, scroll: false)
|
31
|
+
main_win = X.init_screen
|
32
|
+
X.start_color
|
33
|
+
colorize!(main_win, fg, bg)
|
34
|
+
rows, cols = main_win.maxy, main_win.maxx
|
35
|
+
self.make(main_win, rows, cols, 0, 0, border: false,
|
36
|
+
fg: fg, bg: bg, scroll: scroll)
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.make(cwin, high, wide, r0, c0, border: true, fg: White, bg: Black, scroll: false)
|
40
|
+
obj = self.allocate
|
41
|
+
obj.instance_eval do
|
42
|
+
@outer = @cwin = cwin
|
43
|
+
@wide, @high, @r0, @c0 = wide, high, r0, c0
|
44
|
+
@fg, @bg = fg, bg
|
45
|
+
@border = border
|
46
|
+
@rows, @cols = high, wide
|
47
|
+
@width, @height = @cols + 2, @rows + 2 if @border
|
48
|
+
end
|
49
|
+
obj.scrolling(scroll)
|
50
|
+
obj
|
51
|
+
end
|
52
|
+
|
53
|
+
# FIXME refactor bad code
|
54
|
+
|
55
|
+
def scrolling(flag=true)
|
56
|
+
@scrolling = flag
|
57
|
+
@cwin.scrollok(flag)
|
58
|
+
end
|
59
|
+
|
60
|
+
def noscroll
|
61
|
+
@scrolling = false
|
62
|
+
@cwin.scrollok(false)
|
63
|
+
end
|
64
|
+
|
65
|
+
def scroll(n=1)
|
66
|
+
if n < 0
|
67
|
+
@cwin.scrl(n)
|
68
|
+
(-n).times {|i| rcprint i, 0, (' '*@cols) }
|
69
|
+
else
|
70
|
+
n.times do |i|
|
71
|
+
@cwin.scroll
|
72
|
+
scrolling(false)
|
73
|
+
rcprint @rows-1, 0, (' '*@cols)
|
74
|
+
scrolling
|
75
|
+
end
|
76
|
+
end
|
77
|
+
@cwin.refresh
|
78
|
+
end
|
79
|
+
|
80
|
+
def screen_text(file = nil)
|
81
|
+
lines = []
|
82
|
+
0.upto(self.rows-1) do |r|
|
83
|
+
line = ""
|
84
|
+
0.upto(self.cols-1) do |c|
|
85
|
+
line << self[r, c]
|
86
|
+
end
|
87
|
+
lines << line
|
88
|
+
end
|
89
|
+
File.open(file, "w") {|f| f.puts lines } if file
|
90
|
+
lines
|
91
|
+
end
|
92
|
+
end
|
data/lib/output.rb
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
$LOAD_PATH << "lib"
|
2
2
|
|
3
|
-
# require 'global' # FIXME later
|
4
|
-
|
5
3
|
class RubyText::Window
|
6
4
|
def center(str)
|
7
5
|
r, c = self.rc
|
8
6
|
n = @cwin.maxx - str.length
|
9
7
|
go r, n/2
|
10
|
-
puts str
|
8
|
+
self.puts str
|
11
9
|
end
|
12
10
|
|
13
11
|
def putch(ch)
|
@@ -15,44 +13,32 @@ class RubyText::Window
|
|
15
13
|
self[r, c] = ch[0]
|
16
14
|
end
|
17
15
|
|
18
|
-
def need_crlf?(sym, args)
|
19
|
-
sym != :print && # print doesn't default to crlf
|
20
|
-
args[-1][-1] != "\n" # last char is a literal linefeed
|
21
|
-
end
|
22
|
-
|
23
16
|
# FIXME Please refactor the Hal out of this.
|
24
17
|
|
18
|
+
def special?(arg)
|
19
|
+
RubyText::Colors.include?(arg) ||
|
20
|
+
arg.is_a?(RubyText::Effects)
|
21
|
+
end
|
22
|
+
|
25
23
|
def delegate_output(sym, *args)
|
26
24
|
args = [""] if args.empty?
|
25
|
+
args += ["\n"] unless sym == :print
|
27
26
|
RubyText::Window.colors(@cwin, @fg, @bg) # FIXME?
|
28
27
|
if sym == :p
|
29
28
|
args.map!(&:inspect)
|
30
29
|
else
|
31
|
-
args.map!
|
32
|
-
if RubyText::Colors.include?(x) || x.is_a?(RubyText::Effects)
|
33
|
-
x
|
34
|
-
else
|
35
|
-
x.to_s
|
36
|
-
end
|
37
|
-
end
|
30
|
+
args.map! {|x| special?(x) ? x : x.to_s }
|
38
31
|
end
|
39
|
-
flag = need_crlf?(sym, args) # Limitation: Can't print color symbols!
|
40
32
|
args.each do |arg|
|
41
|
-
|
33
|
+
case
|
34
|
+
when arg.is_a?(Symbol) # must be a color
|
42
35
|
RubyText::Window.colors(@cwin, arg, @bg) # FIXME?
|
43
|
-
|
36
|
+
when arg.is_a?(RubyText::Effects)
|
44
37
|
X.attrset(arg.value)
|
45
38
|
else
|
46
|
-
arg.each_char
|
47
|
-
if ch == "\n"
|
48
|
-
crlf
|
49
|
-
else
|
50
|
-
@cwin.addch(ch)
|
51
|
-
end
|
52
|
-
end
|
39
|
+
arg.each_char {|ch| ch == "\n" ? crlf : @cwin.addch(ch) }
|
53
40
|
end
|
54
41
|
end
|
55
|
-
crlf if flag
|
56
42
|
RubyText::Window.colors(@cwin, @fg, @bg) # FIXME?
|
57
43
|
@cwin.refresh
|
58
44
|
end
|
@@ -105,12 +91,11 @@ class RubyText::Window
|
|
105
91
|
end
|
106
92
|
|
107
93
|
def clear
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
win.refresh
|
94
|
+
num = @cwin.maxx * @cwin.maxy
|
95
|
+
home
|
96
|
+
@cwin.addstr(' '*num)
|
97
|
+
home
|
98
|
+
@cwin.refresh
|
114
99
|
end
|
115
100
|
|
116
101
|
def output(&block)
|
@@ -120,12 +105,10 @@ class RubyText::Window
|
|
120
105
|
end
|
121
106
|
|
122
107
|
def [](r, c)
|
123
|
-
|
124
|
-
@cwin.
|
125
|
-
ch =
|
126
|
-
@cwin.setpos *save
|
108
|
+
ch = nil
|
109
|
+
go(r, c) { ch = @cwin.inch }
|
110
|
+
debug "ch = #{ch} ch.chr = #{ch.chr}"
|
127
111
|
ch.chr
|
128
|
-
# go(r, c) { ch = @cwin.inch }
|
129
112
|
end
|
130
113
|
|
131
114
|
def []=(r, c, char)
|
data/lib/rubytext.rb
CHANGED
data/lib/settings.rb
CHANGED
@@ -71,8 +71,9 @@ module RubyText
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def self.start(*args, log: nil, fg: nil, bg: nil, scroll: false)
|
74
|
-
$debug
|
75
|
-
|
74
|
+
$debug ||= File.new(log, "w") if log
|
75
|
+
main = RubyText::Window.main(fg: fg, bg: bg, scroll: scroll)
|
76
|
+
Object.const_set(:STDSCR, main)
|
76
77
|
$stdscr = STDSCR
|
77
78
|
fg, bg, cp = fb2cp(fg, bg)
|
78
79
|
self.set(:_echo, :cbreak) # defaults
|
@@ -80,7 +81,8 @@ module RubyText
|
|
80
81
|
rescue => err
|
81
82
|
debug(err.inspect)
|
82
83
|
debug(err.backtrace)
|
83
|
-
|
84
|
+
exit
|
85
|
+
# raise RTError("#{err}")
|
84
86
|
end
|
85
87
|
|
86
88
|
def self.stop
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubytext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.66
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -41,8 +41,12 @@ files:
|
|
41
41
|
- "./rubytext.gemspec"
|
42
42
|
- bin/rubytext
|
43
43
|
- examples/README
|
44
|
+
- examples/_demo.rb
|
45
|
+
- examples/_showme.rb
|
46
|
+
- examples/_slides
|
44
47
|
- examples/check.rb
|
45
48
|
- examples/demo.rb
|
49
|
+
- examples/foo
|
46
50
|
- examples/ide.rb
|
47
51
|
- examples/prog01.rb
|
48
52
|
- examples/prog02.rb
|
@@ -68,6 +72,8 @@ files:
|
|
68
72
|
- examples/prog22.rb
|
69
73
|
- examples/showme.rb
|
70
74
|
- examples/slides
|
75
|
+
- lib/_color.rb
|
76
|
+
- lib/_window.rb
|
71
77
|
- lib/color.rb
|
72
78
|
- lib/effects.rb
|
73
79
|
- lib/keys.rb
|