rubytext 0.0.70 → 0.0.71
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/prog20.rb +8 -5
- data/lib/output.rb +12 -11
- data/lib/rubytext.rb +1 -0
- data/lib/settings.rb +14 -14
- data/lib/version.rb +1 -1
- data/test/auto.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ba1e44016afa687e37e3233162615824f10f6ca66aa6a44280119e608d92843
|
4
|
+
data.tar.gz: 6abaef119351e6994926a83ae452adcc35dddf1e946327fafaf1e832f9e77a0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: debbda96ab1dd24c0362702297740417fae2cd8068c97ad4aa3b3885fe226a3ff602c32568fbe3f0caa301d912e3867d9c8448e4a45013d35f38decac43db214
|
7
|
+
data.tar.gz: f31966fc64d1fbd2a2550e395f2d463e40d39c75be3a4d0d9e85dcf5b43a5a0d9d94d656305cc7bc4e5c6f8322c55e79961b6bd77b5fd8388bd456de39fdcbbe
|
data/examples/prog20.rb
CHANGED
@@ -2,14 +2,17 @@ def fx(*args) # find better way
|
|
2
2
|
RubyText::Effects.new(*args)
|
3
3
|
end
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
fg, bg = White, Blue
|
6
|
+
win = RubyText.window(9, 65, 2, 26, fg: fg, bg: bg)
|
7
7
|
|
8
|
-
win.puts "This is EXPERIMENTAL."
|
9
|
-
win.puts "Use an \"effect\" to change the color or \"look\""
|
10
|
-
win.puts "of the text (temporarily):\n "
|
8
|
+
win.puts "This is EXPERIMENTAL (and BUGGY)."
|
9
|
+
win.puts "Use an \"effect\" to change the text color or \"look\":"
|
11
10
|
|
12
11
|
win.puts "This is", fx(win, Yellow), " another color ",
|
13
12
|
fx(win, White), "and yet another."
|
13
|
+
win.puts "We can ", fx(win, :bold), "boldface ",
|
14
|
+
"and ", fx(win, :reverse), "reverse ",
|
15
|
+
"and ", fx(win, :under), "underline ",
|
16
|
+
fx(win, :normal), "text at will.\n "
|
14
17
|
win.puts "This is ", fx(win, :bold, Red), "bold red ",
|
15
18
|
fx(win, :normal, fg), "and this is normal again.\n "
|
data/lib/output.rb
CHANGED
@@ -22,33 +22,34 @@ class RubyText::Window
|
|
22
22
|
def delegate_output(sym, *args)
|
23
23
|
self.cwin.attrset(0)
|
24
24
|
args = [""] if args.empty?
|
25
|
-
args += ["\n"]
|
26
|
-
|
27
|
-
|
25
|
+
args += ["\n"] if sym == :puts
|
26
|
+
# debug "\ndelegate_output:"
|
27
|
+
# debug " 1. args = #{args.inspect}"
|
28
28
|
set_colors(@fg, @bg)
|
29
29
|
debug " set colors: #{[@fg, @bg].inspect}"
|
30
30
|
if sym == :p
|
31
31
|
args.map! {|x| effect?(x) ? x : x.inspect }
|
32
|
-
|
32
|
+
# debug " 2. args = #{args.inspect}"
|
33
33
|
else
|
34
34
|
args.map! {|x| effect?(x) ? x : x.to_s }
|
35
|
-
|
35
|
+
# debug " 3. args = #{args.inspect}"
|
36
36
|
end
|
37
37
|
args.each do |arg|
|
38
|
-
|
38
|
+
# debug " loop: arg = #{arg.inspect}"
|
39
39
|
if arg.is_a?(RubyText::Effects)
|
40
|
-
|
41
|
-
self.cwin.
|
42
|
-
|
40
|
+
# debug " arg.value = #{arg.value.inspect}, fg = #{arg.fg.inspect}"
|
41
|
+
self.cwin.attron(arg.value)
|
42
|
+
# debug " set colors = #{[arg.fg, @bg]}"
|
43
43
|
self.set_colors(arg.fg, @bg) if arg.fg
|
44
44
|
else
|
45
|
-
|
45
|
+
# debug " printing arg = #{arg.inspect}"
|
46
46
|
arg.each_char {|ch| ch == "\n" ? crlf : @cwin.addch(ch) }
|
47
47
|
@cwin.refresh
|
48
48
|
end
|
49
49
|
end
|
50
|
+
crlf if sym == :p
|
50
51
|
set_colors(@fg, @bg)
|
51
|
-
|
52
|
+
# debug " set colors: #{[@fg, @bg].inspect}"
|
52
53
|
@cwin.refresh
|
53
54
|
end
|
54
55
|
|
data/lib/rubytext.rb
CHANGED
data/lib/settings.rb
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
module RubyText
|
2
2
|
# Hmm, all these are module-level.
|
3
3
|
|
4
|
+
def self.start(*args, log: nil, fg: White, bg: Blue, scroll: false)
|
5
|
+
$debug ||= File.new(log, "w") if log
|
6
|
+
main = RubyText::Window.main(fg: fg, bg: bg, scroll: scroll)
|
7
|
+
Object.const_set(:STDSCR, main) unless defined? STDSCR
|
8
|
+
$stdscr = STDSCR
|
9
|
+
Object.include(WindowIO)
|
10
|
+
self.set(:_echo, :cbreak) # defaults
|
11
|
+
self.set(*args) # override defaults
|
12
|
+
rescue => err
|
13
|
+
debug(err.inspect)
|
14
|
+
debug(err.backtrace)
|
15
|
+
raise RTError("#{err}")
|
16
|
+
end
|
17
|
+
|
4
18
|
def self.flags
|
5
19
|
@flags.uniq!
|
6
20
|
@flags
|
@@ -70,20 +84,6 @@ module RubyText
|
|
70
84
|
@flags = @defaults
|
71
85
|
end
|
72
86
|
|
73
|
-
def self.start(*args, log: nil, fg: White, bg: Blue, scroll: false)
|
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) unless defined? STDSCR
|
77
|
-
$stdscr = STDSCR
|
78
|
-
Object.include(WindowIO)
|
79
|
-
self.set(:_echo, :cbreak) # defaults
|
80
|
-
self.set(*args) # override defaults
|
81
|
-
rescue => err
|
82
|
-
debug(err.inspect)
|
83
|
-
debug(err.backtrace)
|
84
|
-
raise RTError("#{err}")
|
85
|
-
end
|
86
|
-
|
87
87
|
def self.stop
|
88
88
|
X.close_screen
|
89
89
|
end
|
data/lib/version.rb
CHANGED
data/test/auto.rb
CHANGED
@@ -22,11 +22,11 @@ class MyTest < Minitest::Test
|
|
22
22
|
assert curr == [:cbreak, :echo, :keypad, :cursor, :_raw]
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def xtest_002_start_bad_param
|
26
26
|
assert_raises(RTError) { RubyText.start(:foobar); RubyText.stop }
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
29
|
+
def xtest_003_start_bad_color
|
30
30
|
assert_raises(RTError) { RubyText.start(fg: :chartreuse); RubyText.stop }
|
31
31
|
end
|
32
32
|
|