livetext 0.8.7 → 0.8.8
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 +33 -27
- data/lib/livetext.rb +3 -2
- data/lib/standard.rb +2 -2
- data/lib/userapi.rb +6 -2
- data/test/data/def_method/source.lt3 +1 -0
- data/test/data/example_alpha/source.lt3 +1 -1
- data/test/data/example_alpha2/source.lt3 +1 -1
- data/test/test.rb +0 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c91ce7a249cbd6ed27e1f538022a9e3fbc6d435
|
4
|
+
data.tar.gz: 99a2002ac810d323423651ebcd9a0a9964ccb12a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c7f6358e3f32cd1a5e2cf0e7fb915a6eca1add56f4cbbeee43c51f929a134d66fc8ff34aaeb80df22f4b900d8d9fe0501c9593bfcb36acf1983b4dd53ee62c3
|
7
|
+
data.tar.gz: 9e4074bc5af1c26d961852dd057bf63e10b6d3d0a334095644bac488e02d715d2c8cda4551593da9c394c5997c709b03b084d8422ae8a78286bda6b4328f146b
|
data/bin/livetext
CHANGED
@@ -12,31 +12,37 @@ end
|
|
12
12
|
|
13
13
|
x = Livetext.new
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
puts "bin: path = #{Path}"
|
21
|
-
file = "#{Path}/../test/test.rb"
|
22
|
-
cmd = "ruby #{file} cmdline"
|
23
|
-
puts cmd
|
24
|
-
system(cmd)
|
25
|
-
when "--path"
|
26
|
-
puts Path
|
27
|
-
when "-s", "--stdin"
|
28
|
-
src = STDIN.read
|
29
|
-
x.process(src)
|
30
|
-
when nil
|
31
|
-
puts <<-EOF
|
32
|
-
Usage:
|
33
|
-
livetext -v
|
34
|
-
livetext --version
|
35
|
-
livetext filename
|
36
|
-
EOF
|
37
|
-
puts
|
38
|
-
when Object
|
39
|
-
src = ARGV.first
|
40
|
-
x.process_file(src)
|
41
|
-
end
|
15
|
+
@backtrace = false
|
16
|
+
|
17
|
+
loop do
|
18
|
+
arg = ARGV.shift
|
19
|
+
break if arg.nil?
|
42
20
|
|
21
|
+
case arg
|
22
|
+
when "-v", "--version"
|
23
|
+
puts "#{Livetext::VERSION}\n "
|
24
|
+
when "-t", "--test" # FIXME doesn't work - path problem
|
25
|
+
file = "#{Path}/../test/test.rb"
|
26
|
+
flag = @backtrace ? "-back" : ""
|
27
|
+
cmd = "ruby #{file} cmdline#{flag}"
|
28
|
+
puts cmd
|
29
|
+
system(cmd)
|
30
|
+
when "--path"
|
31
|
+
puts Path
|
32
|
+
when "--backtrace"
|
33
|
+
@backtrace = true
|
34
|
+
when "-s", "--stdin"
|
35
|
+
src = STDIN.read
|
36
|
+
x.process(src)
|
37
|
+
when nil
|
38
|
+
puts <<-EOF
|
39
|
+
Usage:
|
40
|
+
livetext -v
|
41
|
+
livetext --version
|
42
|
+
livetext filename
|
43
|
+
EOF
|
44
|
+
puts
|
45
|
+
when Object
|
46
|
+
x.process_file(arg, @backtrace)
|
47
|
+
end
|
48
|
+
end
|
data/lib/livetext.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
class Livetext
|
2
|
-
VERSION = "0.8.
|
2
|
+
VERSION = "0.8.8"
|
3
3
|
end
|
4
4
|
|
5
5
|
require 'fileutils'
|
@@ -110,9 +110,10 @@ class Livetext
|
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
113
|
-
def process_file(fname)
|
113
|
+
def process_file(fname, backtrace=false)
|
114
114
|
raise "No such file '#{fname}' to process" unless File.exist?(fname)
|
115
115
|
enum = File.readlines(fname).each
|
116
|
+
@backtrace = backtrace
|
116
117
|
@main.source(enum, fname, 0)
|
117
118
|
loop do
|
118
119
|
line = @main.nextline
|
data/lib/standard.rb
CHANGED
@@ -43,7 +43,7 @@ module Livetext::Standard
|
|
43
43
|
_error! "Illegal name '#{funcname}'" if _disallowed?(funcname)
|
44
44
|
func_def = <<-EOS
|
45
45
|
def #{funcname}
|
46
|
-
#{
|
46
|
+
#{_body_text}
|
47
47
|
end
|
48
48
|
EOS
|
49
49
|
Livetext::Functions.class_eval func_def
|
@@ -142,7 +142,7 @@ module Livetext::Standard
|
|
142
142
|
name = @_args[0]
|
143
143
|
str = "def #{name}\n"
|
144
144
|
raise "Illegal name '#{name}'" if _disallowed?(name)
|
145
|
-
str +=
|
145
|
+
str += _raw_body!
|
146
146
|
str += "end\n"
|
147
147
|
eval str
|
148
148
|
rescue => err
|
data/lib/userapi.rb
CHANGED
@@ -67,7 +67,7 @@ module Livetext::UserAPI
|
|
67
67
|
@line = nextline
|
68
68
|
break if _end?(@line, sigil)
|
69
69
|
next if _comment?(@line, sigil) # FIXME?
|
70
|
-
lines << @line
|
70
|
+
lines << _formatting(@line)
|
71
71
|
end
|
72
72
|
_optional_blank_line
|
73
73
|
if block_given?
|
@@ -79,10 +79,14 @@ module Livetext::UserAPI
|
|
79
79
|
_error!("Expecting .end, found end of file")
|
80
80
|
end
|
81
81
|
|
82
|
-
def
|
82
|
+
def _body_text(sigil=".")
|
83
83
|
_body(sigil).join("\n")
|
84
84
|
end
|
85
85
|
|
86
|
+
def _raw_body!(sigil=".")
|
87
|
+
_raw_body(sigil).join("\n")
|
88
|
+
end
|
89
|
+
|
86
90
|
def _handle_escapes(str, set)
|
87
91
|
str = str.dup
|
88
92
|
set.each_char do |ch|
|
data/test/test.rb
CHANGED
@@ -58,9 +58,6 @@ class TestingLivetext < MiniTest::Test
|
|
58
58
|
src, out, exp = "source.lt3", "/tmp/#{base}--actual-output.txt", "expected-output.txt"
|
59
59
|
err, erx = "/tmp/#{base}--actual-error.txt", "expected-error.txt"
|
60
60
|
cmd = "livetext #{src} >#{out} 2>#{err}"
|
61
|
-
puts
|
62
|
-
puts Dir.pwd
|
63
|
-
puts cmd
|
64
61
|
system(cmd)
|
65
62
|
output, expected, errors, errexp = File.read(out), File.read(exp), File.read(err), File.read(erx)
|
66
63
|
|
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.8.
|
4
|
+
version: 0.8.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A smart text processor extensible in Ruby
|
14
14
|
email: rubyhacker@gmail.com
|