livetext 0.9.32 → 0.9.33
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/livetext +1 -1
- data/lib/livetext/formatter.rb +0 -20
- data/lib/livetext/more.rb +9 -1
- data/lib/livetext/standard.rb +1 -3
- data/lib/livetext/userapi.rb +15 -1
- data/lib/livetext/version.rb +1 -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: 4c6ed527394d333fd5c667d5737093c26595794269dcf444d72bc28cdcbf8c61
|
4
|
+
data.tar.gz: 7eb6d6907ebfd5bfd2ee7f8253a0c3a051d06cd83ffaac5baca388406168db6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57b37bb2795cacaa81f86f4d251d438b92dd8d0fd7f71839eb68edda95a4bf5d60a56af46d93d9ba93de118b7b878eea53f5daecab6459dd73a0167a5aba33d4
|
7
|
+
data.tar.gz: 7c7fb6ac4101629dd86b0901a961fc8d4c4901b661ff0eb8553081f7617601c7d807df03212ac57ab14b8c740a3a60efcfd3c2d951bea6b509f57a89170fa2b9
|
data/bin/livetext
CHANGED
data/lib/livetext/formatter.rb
CHANGED
@@ -41,7 +41,6 @@ module Formatter
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def grab_terminator
|
44
|
-
status("** grabterm 0")
|
45
44
|
@state = :LOOPING
|
46
45
|
# goes onto buffer by default
|
47
46
|
# Don't? what if searching for space_marker?
|
@@ -73,7 +72,6 @@ module Formatter
|
|
73
72
|
end
|
74
73
|
|
75
74
|
def wrap(text)
|
76
|
-
status("** wrap 0")
|
77
75
|
if text.empty?
|
78
76
|
result = @marker
|
79
77
|
result = "" if @marker[1] == "["
|
@@ -83,60 +81,45 @@ module Formatter
|
|
83
81
|
end
|
84
82
|
|
85
83
|
def initial
|
86
|
-
status("** init 0")
|
87
84
|
n = @marker.length
|
88
85
|
case
|
89
86
|
when escape?
|
90
|
-
status("** esc i0")
|
91
87
|
grab # backslash
|
92
|
-
status("** esc i1")
|
93
88
|
@buffer << grab # char
|
94
|
-
status("** esc i2")
|
95
89
|
when space_marker?
|
96
|
-
status("** init 1")
|
97
90
|
@buffer << grab # append the space
|
98
91
|
grab(n) # eat the marker
|
99
92
|
@state = :CDATA
|
100
93
|
when marker?
|
101
|
-
status("** init 2")
|
102
94
|
grab(n) # Eat the marker
|
103
95
|
@state = :CDATA
|
104
96
|
when eol?
|
105
|
-
status("** init 3")
|
106
97
|
@state = :FINAL
|
107
98
|
else
|
108
|
-
status("** init 4")
|
109
99
|
@state = :BUFFER
|
110
100
|
end
|
111
101
|
end
|
112
102
|
|
113
103
|
def buffer
|
114
|
-
status("** buffer 0")
|
115
104
|
@buffer << grab
|
116
105
|
@state = :LOOPING
|
117
106
|
end
|
118
107
|
|
119
108
|
def cdata
|
120
|
-
status("** cdata 0")
|
121
109
|
case
|
122
110
|
when eol?
|
123
|
-
status("** cdata 1")
|
124
111
|
if @cdata.empty?
|
125
|
-
status("** cdata 2")
|
126
112
|
@buffer << @marker unless @marker[1] == "["
|
127
113
|
else
|
128
|
-
status("** cdata 3")
|
129
114
|
@buffer << wrap(@cdata)
|
130
115
|
end
|
131
116
|
@state = :FINAL
|
132
117
|
when terminated?
|
133
|
-
status("** cdata 4")
|
134
118
|
@buffer << wrap(@cdata)
|
135
119
|
grab_terminator # "*a *b" case???
|
136
120
|
@cdata = ""
|
137
121
|
@state = :LOOPING
|
138
122
|
else
|
139
|
-
status("** cdata 5")
|
140
123
|
@cdata << grab
|
141
124
|
@state = :CDATA
|
142
125
|
end
|
@@ -146,11 +129,8 @@ module Formatter
|
|
146
129
|
n = @marker.length
|
147
130
|
case
|
148
131
|
when escape?
|
149
|
-
status("** esc l0")
|
150
132
|
grab # backslash
|
151
|
-
status("** esc l1")
|
152
133
|
@buffer << grab # char
|
153
|
-
status("** esc l2")
|
154
134
|
when space_marker?
|
155
135
|
@buffer << grab # append the space
|
156
136
|
grab(n) # eat the marker
|
data/lib/livetext/more.rb
CHANGED
@@ -7,6 +7,7 @@ class Livetext
|
|
7
7
|
|
8
8
|
class Variables
|
9
9
|
attr_reader :vars
|
10
|
+
|
10
11
|
def initialize(hash = {})
|
11
12
|
@vars = {}
|
12
13
|
hash.each_pair {|k, v| @vars[k.to_sym] = v }
|
@@ -34,6 +35,10 @@ class Livetext
|
|
34
35
|
api.setvar(var, value)
|
35
36
|
end
|
36
37
|
end
|
38
|
+
|
39
|
+
def to_a
|
40
|
+
@vars.to_a
|
41
|
+
end
|
37
42
|
end
|
38
43
|
|
39
44
|
Vars = Variables.new
|
@@ -95,7 +100,10 @@ class Livetext
|
|
95
100
|
obj = self.new
|
96
101
|
mix = Array(mix)
|
97
102
|
call = Array(call)
|
98
|
-
|
103
|
+
# STDERR.puts "#{__method__}: obj meth = #{obj.methods.sort.inspect}"
|
104
|
+
mix.each do |lib|
|
105
|
+
obj.invoke_dotcmd(:mixin, lib.dup)
|
106
|
+
end
|
99
107
|
call.each {|cmd| obj.main.send(cmd[1..-1]) } # ignores leading dot, no param
|
100
108
|
# vars.each_pair {|var, val| obj.setvar(var, val.to_s) }
|
101
109
|
obj.api.setvars(vars)
|
data/lib/livetext/standard.rb
CHANGED
@@ -173,7 +173,6 @@ module Livetext::Standard
|
|
173
173
|
lines = api.body
|
174
174
|
end
|
175
175
|
pairs = Livetext::ParseGeneral.parse_vars(lines, prefix: nil)
|
176
|
-
STDERR.puts "! pairs = #{pairs.inspect}"
|
177
176
|
api.setvars(pairs)
|
178
177
|
api.optional_blank_line
|
179
178
|
end
|
@@ -189,7 +188,6 @@ STDERR.puts "! pairs = #{pairs.inspect}"
|
|
189
188
|
lines = api.body
|
190
189
|
end
|
191
190
|
pairs = Livetext::ParseGeneral.parse_vars(lines, prefix: nil)
|
192
|
-
STDERR.puts "pairs = #{pairs.inspect}"
|
193
191
|
api.setvars(pairs)
|
194
192
|
api.optional_blank_line
|
195
193
|
end
|
@@ -217,7 +215,7 @@ STDERR.puts "pairs = #{pairs.inspect}"
|
|
217
215
|
end
|
218
216
|
|
219
217
|
def dot_include # dot command
|
220
|
-
file = api.
|
218
|
+
file = api.expand_variables(api.args.first) # allows for variables
|
221
219
|
check_file_exists(file)
|
222
220
|
@parent.process_file(file)
|
223
221
|
api.optional_blank_line
|
data/lib/livetext/userapi.rb
CHANGED
@@ -31,12 +31,26 @@ class Livetext::UserAPI
|
|
31
31
|
@live
|
32
32
|
end
|
33
33
|
|
34
|
+
def include_file(file)
|
35
|
+
api.data = file
|
36
|
+
api.dot_include
|
37
|
+
end
|
38
|
+
|
39
|
+
def expand_variables(str)
|
40
|
+
@expander.expand_variables(str)
|
41
|
+
end
|
42
|
+
|
43
|
+
def expand_functions(str)
|
44
|
+
@expander.expand_functions(str)
|
45
|
+
end
|
46
|
+
|
34
47
|
def setvar(var, val) # FIXME
|
35
48
|
@live.vars.set(var, val)
|
36
49
|
end
|
37
50
|
|
38
51
|
def setvars(pairs)
|
39
|
-
pairs = pairs.
|
52
|
+
# STDERR.puts "#{__method__}: pairs = #{pairs.inspect} (#{pairs.class})"
|
53
|
+
pairs = pairs.to_a # could be Hash or Variables
|
40
54
|
pairs.each do |var, value|
|
41
55
|
@live.vars.set(var, value)
|
42
56
|
end
|
data/lib/livetext/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: livetext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A smart text processor extensible in Ruby
|
14
14
|
email: rubyhacker@gmail.com
|