rubytext 0.0.45 → 0.0.46
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/prog01.rb +1 -1
- data/lib/color.rb +1 -1
- data/lib/effects.rb +21 -0
- data/lib/output.rb +3 -1
- data/lib/rubytext.rb +2 -0
- data/lib/settings.rb +23 -10
- data/lib/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5bdd350f25e6f839cc14ed02094834b04500fc4d19d0820528c4f7926e6ad06
|
4
|
+
data.tar.gz: 7b692875289645bfcd7549b55802d3ae71c107d495946577174b3ca90d53cbb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c3ed73c4221ead1bfbb6fce563e4b6946e35e5eccda27f3895f24e2c56cd18b49d13987c073b68ddc71b732e054a7423ff3d7cc0a68844091ac912657fb18e3
|
7
|
+
data.tar.gz: cdd9791ff4789cd234fc8ef7c364913f79ab5fa8b73b81d00dd86b9751b477d3aa8aa5af57a29d16f7984a27b7f6bf0061b75995e6b2cc4a8026dbbd8fb3ef03
|
data/examples/prog01.rb
CHANGED
data/lib/color.rb
CHANGED
data/lib/effects.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class RubyText::Effects # dumb name?
|
2
|
+
Modes = %w[A_BOLD A_NORMAL A_PROTECT A_REVERSE A_STANDOUT A_UNDERLINE]
|
3
|
+
|
4
|
+
attr_reader :value
|
5
|
+
|
6
|
+
def initialize(bg, *args)
|
7
|
+
bits = 0
|
8
|
+
args.each do |arg|
|
9
|
+
if Modes.include?(arg)
|
10
|
+
val = eval("X::A_#{arg.to_s.upcase}")
|
11
|
+
bits ||= val
|
12
|
+
elsif RubyText::Colors.include?(arg)
|
13
|
+
val = eval("X::COLOR_#{arg.to_s.upcase}")
|
14
|
+
bits ||= val
|
15
|
+
end
|
16
|
+
end
|
17
|
+
@value = bits
|
18
|
+
X.attrset(bits)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
data/lib/output.rb
CHANGED
@@ -30,7 +30,7 @@ class RubyText::Window
|
|
30
30
|
args.map!(&:inspect)
|
31
31
|
else
|
32
32
|
args.map! do |x|
|
33
|
-
if RubyText::Colors.include? x
|
33
|
+
if RubyText::Colors.include?(x) || x.is_a?(RubyText::Effects)
|
34
34
|
x
|
35
35
|
else
|
36
36
|
x.to_s
|
@@ -43,6 +43,8 @@ class RubyText::Window
|
|
43
43
|
args.each do |arg|
|
44
44
|
if arg.is_a? Symbol # must be a color
|
45
45
|
RubyText::Window.colors(@win, arg, @bg) # FIXME?
|
46
|
+
elsif arg.is_a? RubyText::Effects
|
47
|
+
X.attrset(arg.value)
|
46
48
|
else
|
47
49
|
arg.each_char {|ch| ch == "\n" ? crlf : @win.addch(ch) }
|
48
50
|
end
|
data/lib/rubytext.rb
CHANGED
@@ -11,9 +11,11 @@ require 'keys' # RubyText::Keys
|
|
11
11
|
require 'menu' # RubyText
|
12
12
|
require 'window' # RubyText::Window
|
13
13
|
require 'color' # RubyText, RubyText::Window
|
14
|
+
require 'effects'
|
14
15
|
require 'navigation' # RubyText::Window
|
15
16
|
require 'settings' # RubyText
|
16
17
|
|
18
|
+
|
17
19
|
# Skeleton... Can't put at top because of #initalize
|
18
20
|
|
19
21
|
module RubyText
|
data/lib/settings.rb
CHANGED
@@ -1,33 +1,46 @@
|
|
1
1
|
module RubyText
|
2
|
-
def self.set(*args)
|
3
|
-
# Allow a block?
|
2
|
+
def self.set(*args) # Allow a block?
|
4
3
|
standard = [:cbreak, :raw, :echo, :keypad]
|
5
|
-
@
|
4
|
+
@defaults = [:cbreak, :echo, :keypad, :cursor]
|
5
|
+
@flags = @defaults.dup
|
6
|
+
save_flags
|
6
7
|
args.each do |arg|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
@flags << arg
|
9
|
+
flag = arg.to_s
|
10
|
+
if standard.include? flag.to_sym
|
11
|
+
X.send(flag)
|
12
|
+
elsif flag[0] == "_" && standard.include?(flag[1..-1].to_sym)
|
13
|
+
flag.sub!(/^_/, "no")
|
11
14
|
X.send(flag)
|
12
15
|
else
|
13
|
-
@flags << arg
|
14
16
|
case arg
|
15
17
|
when :cursor
|
16
18
|
X.show_cursor
|
17
19
|
when :_cursor, :nocursor
|
18
20
|
X.hide_cursor
|
21
|
+
else puts "wtf is #{arg}?"
|
19
22
|
end
|
20
23
|
end
|
21
24
|
end
|
25
|
+
if block_given?
|
26
|
+
yield
|
27
|
+
rest_flags
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.reset
|
32
|
+
restflags
|
22
33
|
end
|
23
34
|
|
24
|
-
def save_flags
|
35
|
+
def self.save_flags
|
25
36
|
@fstack ||= []
|
26
37
|
@fstack.push @flags
|
27
38
|
end
|
28
39
|
|
29
|
-
def rest_flags
|
40
|
+
def self.rest_flags
|
30
41
|
@flags = @fstack.pop
|
42
|
+
rescue
|
43
|
+
@flags = @defaults
|
31
44
|
end
|
32
45
|
|
33
46
|
def self.start(*args, log: nil, fg: nil, bg: nil)
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.46
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- examples/showme.rb
|
69
69
|
- examples/slides
|
70
70
|
- lib/color.rb
|
71
|
+
- lib/effects.rb
|
71
72
|
- lib/keys.rb
|
72
73
|
- lib/menu.rb
|
73
74
|
- lib/navigation.rb
|