livetext 0.9.10 → 0.9.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/livetext.rb +8 -4
- data/lib/processor.rb +3 -3
- data/lib/userapi.rb +4 -4
- data/test/data/error_inc_line_num/FOO +21 -0
- data/test/data/error_inc_line_num/expected-output.txt +6 -0
- data/test/data/error_mismatched_end/expected-output.txt +2 -0
- data/test/data/error_missing_end/ERR +32 -0
- data/test/data/error_missing_end/expected-output.txt +1 -0
- data/test/data/error_no_such_copy/expected-output.txt +4 -0
- data/test/data/error_no_such_copy/source.lt3 +1 -0
- data/test/data/error_no_such_inc/expected-output.txt +4 -0
- data/test/data/lines.txt +4 -0
- data/test/data/predef_vars/expected-error.txt +0 -0
- data/test/data/predef_vars/expected-output.txt +6 -0
- data/test/data/predef_vars/source.lt3 +6 -0
- data/test/testlines.rb +15 -5
- metadata +8 -4
- data/test/extratests.txt +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f49173986fc8a17fc77f35032e823f4818d404007d5aacd2d3d5a4a74f19e02
|
4
|
+
data.tar.gz: 61c0eab54d60c23abe0c27a6b8adc16f621e35c347253b557f07ffc80b31f80e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '07389bbd1154d200f6f56b0373c0459bf140baeefa370d789224f2dedd53fe5120f0f7116e2c9d1381ff07a48f945786bb8e5f3478ac9002aea0f9443f61f579'
|
7
|
+
data.tar.gz: 12829e57528407a55f842f8ad8de77b47396cb6fffb22d76feaf8d98d644ebf00fc50d447a24f453026980a7cb7631443e11f9f7d67121ce9529d583ef85e513
|
data/lib/livetext.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
class Livetext
|
2
|
-
VERSION = "0.9.
|
2
|
+
VERSION = "0.9.11"
|
3
3
|
Path = File.expand_path(File.join(File.dirname(__FILE__)))
|
4
4
|
end
|
5
5
|
|
@@ -74,6 +74,10 @@ class Livetext
|
|
74
74
|
@main = Processor.new(self, output)
|
75
75
|
@indentation = [0]
|
76
76
|
@_vars = Livetext::Vars
|
77
|
+
|
78
|
+
# Other predefined variables (see also _setfile)
|
79
|
+
_setvar(:User, `whoami`.chomp)
|
80
|
+
_setvar(:Version, Livetext::VERSION)
|
77
81
|
end
|
78
82
|
|
79
83
|
def _parse_colon_args(args, hash) # really belongs in livetext
|
@@ -230,10 +234,10 @@ class Livetext
|
|
230
234
|
end
|
231
235
|
result
|
232
236
|
rescue => err
|
233
|
-
STDERR.puts "Error
|
237
|
+
STDERR.puts "Error: #{err.inspect}"
|
234
238
|
STDERR.puts err.backtrace
|
235
|
-
@main._error!(err)
|
236
|
-
|
239
|
+
# @main._error!(err)
|
240
|
+
puts @body
|
237
241
|
@body = ""
|
238
242
|
return @body
|
239
243
|
end
|
data/lib/processor.rb
CHANGED
@@ -35,11 +35,11 @@ class Livetext
|
|
35
35
|
def _error!(err, abort=true, trace=false)
|
36
36
|
where = @sources.last || @save_location
|
37
37
|
# puts @parent.body
|
38
|
-
puts "[lib/processor] Error: #{err}"
|
39
|
-
puts err.backtrace.join("\n") if err.respond_to?(:backtrace)
|
38
|
+
# puts "[lib/processor] Error: #{err}"
|
39
|
+
# puts err.backtrace.join("\n") if err.respond_to?(:backtrace)
|
40
40
|
STDERR.puts "[lib/processor] Error: #{err}" # (at #{where[1]} line #{where[2]})"
|
41
|
-
raise "lib/processor error!"
|
42
41
|
STDERR.puts err.backtrace if err.respond_to?(:backtrace) # && trace
|
42
|
+
# raise "lib/processor error!" # FIXME
|
43
43
|
exit if abort
|
44
44
|
end
|
45
45
|
|
data/lib/userapi.rb
CHANGED
@@ -93,10 +93,10 @@ module Livetext::UserAPI
|
|
93
93
|
else
|
94
94
|
lines
|
95
95
|
end
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
96
|
+
# rescue => err
|
97
|
+
# str = err.inspect + "\n"
|
98
|
+
# str << err.backtrace.map {|x| " " + x }.join("\n")
|
99
|
+
# _error!(str)
|
100
100
|
end
|
101
101
|
|
102
102
|
def _body_text(raw=false)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
[lib/processor] Error: Name 'foobar' is unknown
|
2
|
+
Error was: #<RuntimeError: lib/processor error!> (calling @main._error!)
|
3
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/processor.rb:41:in `_error!'
|
4
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:228:in `handle_dotcmd'
|
5
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:130:in `process_line'
|
6
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:192:in `block in process_file'
|
7
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `loop'
|
8
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `process_file'
|
9
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/standard.rb:341:in `_include'
|
10
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:226:in `handle_dotcmd'
|
11
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:130:in `process_line'
|
12
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:192:in `block in process_file'
|
13
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `loop'
|
14
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `process_file'
|
15
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:88:in `block in <top (required)>'
|
16
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:57:in `loop'
|
17
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:57:in `<top (required)>'
|
18
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/livetext:23:in `load'
|
19
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/livetext:23:in `<main>'
|
20
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `eval'
|
21
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `<main>'
|
@@ -0,0 +1,32 @@
|
|
1
|
+
[lib/processor] Error: #<RuntimeError: Expected .end, found end of file>
|
2
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/userapi.rb:88:in `_body'
|
3
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/standard.rb:32:in `comment'
|
4
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:226:in `handle_dotcmd'
|
5
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:130:in `process_line'
|
6
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:192:in `block in process_file'
|
7
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `loop'
|
8
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `process_file'
|
9
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:88:in `block in <top (required)>'
|
10
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:57:in `loop'
|
11
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:57:in `<top (required)>'
|
12
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/livetext:23:in `load'
|
13
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/livetext:23:in `<main>'
|
14
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `eval'
|
15
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `<main>'
|
16
|
+
Error was: #<RuntimeError: lib/processor error!> (calling @main._error!)
|
17
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/processor.rb:41:in `_error!'
|
18
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/userapi.rb:99:in `rescue in _body'
|
19
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/userapi.rb:75:in `_body'
|
20
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/standard.rb:32:in `comment'
|
21
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:226:in `handle_dotcmd'
|
22
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:130:in `process_line'
|
23
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:192:in `block in process_file'
|
24
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `loop'
|
25
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/lib/livetext.rb:189:in `process_file'
|
26
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:88:in `block in <top (required)>'
|
27
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:57:in `loop'
|
28
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/gems/livetext-0.9.08/bin/livetext:57:in `<top (required)>'
|
29
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/livetext:23:in `load'
|
30
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/livetext:23:in `<main>'
|
31
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `eval'
|
32
|
+
/Users/Hal/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `<main>'
|
data/test/data/lines.txt
CHANGED
File without changes
|
data/test/testlines.rb
CHANGED
@@ -8,20 +8,30 @@ require 'formatline'
|
|
8
8
|
input = ARGV.first || "test/data/lines.txt"
|
9
9
|
data = File.readlines(input)
|
10
10
|
|
11
|
-
|
11
|
+
pass = fail = 0
|
12
|
+
data.each_slice(4).with_index do |lines, i|
|
12
13
|
title, input, expected, blank = *lines
|
14
|
+
lnum = i*4 + 1
|
13
15
|
input.chomp!
|
14
16
|
expected.chomp!
|
15
17
|
expected = eval(expected) if expected[0] == "/"
|
16
18
|
|
17
|
-
puts "-----------------------------"
|
18
|
-
print "Test: #{title}"
|
19
19
|
|
20
20
|
actual = FormatLine.parse!(input)
|
21
|
-
|
21
|
+
if expected === actual
|
22
|
+
pass += 1
|
23
|
+
# puts "PASS: #{title}"
|
24
|
+
next
|
25
|
+
end
|
22
26
|
|
23
|
-
|
27
|
+
fail += 1
|
28
|
+
puts "----------------------------- (line #{lnum})"
|
29
|
+
puts "Test: #{title}"
|
30
|
+
puts "Input: #{input}"
|
24
31
|
puts " #{red('FAIL Expected: ')} #{expected.inspect}"
|
25
32
|
puts " #{red(' Actual : ')} #{actual.inspect}"
|
26
33
|
puts
|
27
34
|
end
|
35
|
+
|
36
|
+
puts
|
37
|
+
puts "#{pass} passes #{fail} fails"
|
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.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A smart text processor extensible in Ruby
|
14
14
|
email: rubyhacker@gmail.com
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- test/data/def_method/expected-error.txt
|
54
54
|
- test/data/def_method/expected-output.txt
|
55
55
|
- test/data/def_method/source.lt3
|
56
|
+
- test/data/error_inc_line_num/FOO
|
56
57
|
- test/data/error_inc_line_num/expected-err-line1match.txt
|
57
58
|
- test/data/error_inc_line_num/expected-output.txt
|
58
59
|
- test/data/error_inc_line_num/file2.lt3
|
@@ -66,6 +67,7 @@ files:
|
|
66
67
|
- test/data/error_mismatched_end/expected-err-line1match.txt
|
67
68
|
- test/data/error_mismatched_end/expected-output.txt
|
68
69
|
- test/data/error_mismatched_end/source.lt3
|
70
|
+
- test/data/error_missing_end/ERR
|
69
71
|
- test/data/error_missing_end/expected-err-line1match.txt
|
70
72
|
- test/data/error_missing_end/expected-output.txt
|
71
73
|
- test/data/error_missing_end/source.lt3
|
@@ -98,6 +100,9 @@ files:
|
|
98
100
|
- test/data/more_complex_vars/expected-error.txt
|
99
101
|
- test/data/more_complex_vars/expected-output.txt
|
100
102
|
- test/data/more_complex_vars/source.lt3
|
103
|
+
- test/data/predef_vars/expected-error.txt
|
104
|
+
- test/data/predef_vars/expected-output.txt
|
105
|
+
- test/data/predef_vars/source.lt3
|
101
106
|
- test/data/raw_lines/expected-error.txt
|
102
107
|
- test/data/raw_lines/expected-output.txt
|
103
108
|
- test/data/raw_lines/source.lt3
|
@@ -127,7 +132,6 @@ files:
|
|
127
132
|
- test/data/table_with_heredocs/expected-error.txt
|
128
133
|
- test/data/table_with_heredocs/expected-output.txt
|
129
134
|
- test/data/table_with_heredocs/source.lt3
|
130
|
-
- test/extratests.txt
|
131
135
|
- test/formatting.rb
|
132
136
|
- test/newtest
|
133
137
|
- test/sdtest
|
@@ -152,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
156
|
- !ruby/object:Gem::Version
|
153
157
|
version: '0'
|
154
158
|
requirements: []
|
155
|
-
rubygems_version: 3.
|
159
|
+
rubygems_version: 3.1.2
|
156
160
|
signing_key:
|
157
161
|
specification_version: 4
|
158
162
|
summary: A smart processor for text
|
data/test/extratests.txt
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Line starts with underscore
|
2
|
-
_This for example
|
3
|
-
<i>This</i> for example
|
4
|
-
|
5
|
-
Line starts with double underscore
|
6
|
-
__This, for example
|
7
|
-
<i>This,</i> for example
|
8
|
-
|
9
|
-
Line has embedded underscores
|
10
|
-
This has some_embedded_underscores
|
11
|
-
This has some_embedded_underscores
|
12
|
-
|
13
|
-
Doubled underscore, midline
|
14
|
-
This is __doubled, it seems
|
15
|
-
This is <i>doubled,</i> it seems
|
16
|
-
|
17
|
-
Line has escaped underscores
|
18
|
-
This has some\_escaped\_underscores
|
19
|
-
This has some_escaped_underscores
|
20
|
-
|