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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63fd4f07417878ad5d57fa7e320c0994c2eb66ca041496f3343e5653d3d917d2
4
- data.tar.gz: f0ab6a636a4cbade143d65601cae90f1eae786f413e86afb415c06cd59b4197f
3
+ metadata.gz: db229c48ceef85f09ba0f26e8a2b9db9c38254f5285c511dbd208c37061a0db6
4
+ data.tar.gz: df30b42eced953fba5747e56c71e5a8fb682a37eb802d7318731c0b9619801a8
5
5
  SHA512:
6
- metadata.gz: 403c07f49e761a3b5cbb92121f8ba3342e3b03d3fd6c45f2c977639fa0feb96080611c330c441ebcd80b9af159a42e7657e398bf217157c90d370b7d7620f654
7
- data.tar.gz: 8fb97b2927abe08075348d1a49651b37c0eca436539a89f3d278099a0edea84d970018dbcc4b8213a730e48c8b98cda40d2930a62e37f631c621f8de0d2fd482
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
@@ -1,6 +1,6 @@
1
1
 
2
2
  module RubyText
3
- VERSION = "0.0.97"
3
+ VERSION = "0.0.98"
4
4
 
5
5
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
6
6
  end
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.97
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-20 00:00:00.000000000 Z
11
+ date: 2018-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curses