rubytext 0.0.97 → 0.0.98

Sign up to get free protection for your applications and to get access to all the features.
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