livetext 0.9.32 → 0.9.33
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/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
|