rubytext 0.0.97 → 0.0.98
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/lib/color.rb +3 -0
- data/lib/output.rb +0 -38
- data/lib/rubytext.rb +4 -3
- data/lib/settings.rb +2 -9
- data/lib/version.rb +1 -1
- data/lib/widgets.rb +3 -1
- data/lib/window.rb +14 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db229c48ceef85f09ba0f26e8a2b9db9c38254f5285c511dbd208c37061a0db6
|
4
|
+
data.tar.gz: df30b42eced953fba5747e56c71e5a8fb682a37eb802d7318731c0b9619801a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 289af3313189482069f4077f5fd8206d065acc20f5e870c1312eaf5c9510ab7738d6f152e8bff7e17b2588220a1b4b0ed4393cc3f689fd3bea940b595206bf47
|
7
|
+
data.tar.gz: 3786a4654e1a4bd580079dc77cae3b58e647a61346e607ba40bb8c55294a515c0183845b9fd909b474ac2231324cdf5c793c3b51c5cba2d090387729a8808ef8
|
data/lib/color.rb
CHANGED
@@ -8,6 +8,9 @@ Colors = [Black, Blue, Cyan, Green, Magenta, Red, White, Yellow]
|
|
8
8
|
class RubyText::Color
|
9
9
|
Colors = ::Colors
|
10
10
|
|
11
|
+
# FIXME some should be private
|
12
|
+
# TODO add color-pair constants
|
13
|
+
|
11
14
|
def self.sym2const(color) # to curses constant
|
12
15
|
X.const_get("COLOR_#{color.to_s.upcase}")
|
13
16
|
end
|
data/lib/output.rb
CHANGED
@@ -245,44 +245,6 @@ class RubyText::Window
|
|
245
245
|
gs.value
|
246
246
|
end
|
247
247
|
|
248
|
-
def old_gets # still needs improvement
|
249
|
-
# echo assumed to be OFF, keypad ON
|
250
|
-
str = ""
|
251
|
-
i = 0
|
252
|
-
r0, c0 = self.rc
|
253
|
-
loop do
|
254
|
-
ch = self.getch
|
255
|
-
case ch
|
256
|
-
when 10; self.crlf; break # Enter
|
257
|
-
when 8, 127, 63 # backspace, del, ^H (huh?)
|
258
|
-
if i >= 1
|
259
|
-
str = str[0..-2]
|
260
|
-
i -= 1
|
261
|
-
self.left
|
262
|
-
self[*self.rc] = ' '
|
263
|
-
r, c = self.rc
|
264
|
-
rcprint r, c, str[i+1..-1] + " "
|
265
|
-
end
|
266
|
-
when 260 # left-arrow
|
267
|
-
if i > 0
|
268
|
-
i -= 1
|
269
|
-
self.left
|
270
|
-
end
|
271
|
-
when 261 # right-arrow
|
272
|
-
if i < str.length
|
273
|
-
i += 1
|
274
|
-
self.right
|
275
|
-
end
|
276
|
-
else
|
277
|
-
str.insert(i, ch)
|
278
|
-
self.right
|
279
|
-
self.go(r0, c0) { self.print str }
|
280
|
-
i += 1
|
281
|
-
end
|
282
|
-
end
|
283
|
-
str
|
284
|
-
end
|
285
|
-
|
286
248
|
end
|
287
249
|
|
288
250
|
module WindowIO
|
data/lib/rubytext.rb
CHANGED
@@ -41,7 +41,7 @@ def import(meth, recv)
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
def make_exception(sym, str)
|
44
|
+
def make_exception(sym, str) # FIXME refactor
|
45
45
|
return if Object.constants.include?(sym)
|
46
46
|
Object.const_set(sym, StandardError.dup)
|
47
47
|
define_method(sym) do |*args|
|
@@ -53,14 +53,15 @@ def make_exception(sym, str)
|
|
53
53
|
end
|
54
54
|
|
55
55
|
make_exception(:RTError, "General error: $1 $2 $3")
|
56
|
+
# TODO more...
|
56
57
|
|
57
58
|
def debugging(onoff)
|
58
|
-
$debugging = onoff
|
59
|
+
$debugging = onoff # FIXME eschew global?
|
59
60
|
end
|
60
61
|
|
61
62
|
def debug(*args)
|
62
63
|
return unless $debugging
|
63
|
-
return unless $debug
|
64
|
+
return unless $debug # FIXME eschew global?
|
64
65
|
$debug.puts *args
|
65
66
|
$debug.flush
|
66
67
|
end
|
data/lib/settings.rb
CHANGED
@@ -10,6 +10,8 @@ module RubyText
|
|
10
10
|
|
11
11
|
$debugging = true
|
12
12
|
|
13
|
+
# FIXME refactor save/restore, etc. - rep as binary vector?
|
14
|
+
|
13
15
|
def self.start(*args, log: "/tmp/rubytext.log",
|
14
16
|
fg: White, bg: Blue, scroll: false)
|
15
17
|
$debug ||= File.new(log, "w") if log # FIXME remove global
|
@@ -122,15 +124,6 @@ module RubyText
|
|
122
124
|
end
|
123
125
|
end
|
124
126
|
|
125
|
-
# Why did I put this here?
|
126
|
-
|
127
|
-
def self.window(high, wide, r: nil, c: nil, border: true,
|
128
|
-
fg: White, bg: Blue, scroll: false)
|
129
|
-
r ||= (STDSCR.rows - high)/2
|
130
|
-
c ||= (STDSCR.cols - wide)/2
|
131
|
-
RubyText::Window.new(high, wide, r, c, border, fg, bg, scroll)
|
132
|
-
end
|
133
|
-
|
134
127
|
def self.hide_cursor
|
135
128
|
X.curs_set(0)
|
136
129
|
end
|
data/lib/version.rb
CHANGED
data/lib/widgets.rb
CHANGED
@@ -13,7 +13,7 @@ module RubyText
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def self.spinner(win: STDSCR, &block)
|
16
|
+
def self.spinner(win: STDSCR, &block) # TODO delay, etc.
|
17
17
|
chars = "-\\|/"
|
18
18
|
RubyText.hide_cursor
|
19
19
|
thread = Thread.new { i=0; loop { i = (i+1) % 4; win.print chars[i]; win.left; sleep 0.1 } }
|
@@ -22,4 +22,6 @@ module RubyText
|
|
22
22
|
Thread.kill(thread)
|
23
23
|
RubyText.show_cursor
|
24
24
|
end
|
25
|
+
|
26
|
+
# TODO add splash
|
25
27
|
end
|
data/lib/window.rb
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
|
2
|
+
module RubyText
|
3
|
+
# TODO add title:?
|
4
|
+
def self.window(high, wide, r: nil, c: nil, border: true,
|
5
|
+
fg: White, bg: Blue, scroll: false)
|
6
|
+
r ||= (STDSCR.rows - high)/2
|
7
|
+
c ||= (STDSCR.cols - wide)/2
|
8
|
+
RubyText::Window.new(high, wide, r, c, border, fg, bg, scroll)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
1
12
|
class RubyText::Window
|
2
13
|
Vert, Horiz = X::A_VERTICAL, X::A_HORIZONTAL
|
3
14
|
|
@@ -5,7 +16,7 @@ class RubyText::Window
|
|
5
16
|
attr_reader :r0, :c0
|
6
17
|
attr_accessor :fg, :bg
|
7
18
|
|
8
|
-
# Better to use Window.window IRL
|
19
|
+
# Better to use Window.window IRL
|
9
20
|
|
10
21
|
def initialize(high=nil, wide=nil, r0=0, c0=0, border=false,
|
11
22
|
fg=White, bg=Blue, scroll=false)
|
@@ -43,6 +54,8 @@ class RubyText::Window
|
|
43
54
|
File.open("/tmp/main.out", "w") {|f| f.puts err.inspect; f.puts err.backtrace }
|
44
55
|
end
|
45
56
|
|
57
|
+
# FIXME try again to inline this
|
58
|
+
|
46
59
|
def self.make(cwin, high, wide, r0, c0, border: true, fg: White, bg: Black, scroll: false)
|
47
60
|
obj = self.allocate
|
48
61
|
obj.instance_eval do
|
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.98
|
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-12-
|
11
|
+
date: 2018-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|