livetext 0.8.1 → 0.8.2

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.
data/bin/livetext CHANGED
@@ -4,28 +4,31 @@ require_relative '../lib/livetext'
4
4
 
5
5
  def handle_ltx(src)
6
6
  abort "Unknown file extension" unless src =~ /.ltx$/
7
- x = Livetext.new
8
- x.process_file(src)
9
7
  end
10
8
 
11
9
  # Main
12
10
 
11
+ x = Livetext.new
12
+
13
13
  case ARGV.first
14
14
  when "-v", "--version"
15
15
  puts "#{Livetext::VERSION}\n "
16
- exit
16
+ when "-t", "--test"
17
+ dir = File.dirname(__FILE__)
18
+ system("ruby #{dir}/../test/test.rb")
19
+ when "-s", "--stdin"
20
+ src = STDIN.read
21
+ x.process(src)
17
22
  when nil
18
23
  puts <<-EOF
19
24
  Usage:
20
25
  livetext -v
21
26
  livetext --version
22
27
  livetext filename
23
-
24
28
  EOF
25
- exit
26
- else
29
+ puts
30
+ when Object
27
31
  src = ARGV.first
32
+ x.process_file(src)
28
33
  end
29
34
 
30
- handle_ltx(src)
31
-
data/dsl/markdown.rb CHANGED
@@ -13,6 +13,14 @@ def h4; _puts "#### #{@_data}"; end
13
13
  def h5; _puts "##### #{@_data}"; end
14
14
  def h6; _puts "###### #{@_data}"; end
15
15
 
16
+ def title
17
+ h1
18
+ end
19
+
20
+ def section
21
+ h3
22
+ end
23
+
16
24
  def bq # block quote
17
25
  _body {|line| _puts "> #{line}" }
18
26
  end
@@ -23,13 +31,13 @@ def list
23
31
  _body {|line| _puts " * #{line}" }
24
32
  end
25
33
 
26
- alias nlist olist
27
-
28
34
  def olist # Doesn't handle paragraphs yet
29
35
  n = 0
30
36
  _body do |line|
31
37
  n += 1
32
- _puts "#{n}. #{line}"
38
+ _puts "#{n}. #{_formatting(line)}"
33
39
  end
34
40
  end
35
41
 
42
+ alias nlist olist
43
+
data/dsl/tutorial.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  require 'cgi'
2
2
 
3
3
  def title
4
- puts "<center><h2>#{@_data}</h2></center>"
4
+ h1
5
5
  end
6
6
 
7
7
  def section
8
- puts "<br>" * 2 + "<b><font size=+1>#{@_data}</font></b>" + "<br>"
8
+ h3
9
9
  end
10
10
 
11
11
  def code
@@ -18,33 +18,6 @@ def rx(str)
18
18
  ::Regexp.compile(::Regexp.escape(str))
19
19
  end
20
20
 
21
- def list
22
- puts "<ul>"
23
- _body {|line| puts "<li>#{_formatting(line)}</li>" }
24
- _puts "</ul>"
25
- end
26
-
27
- def nlist
28
- puts "<ol>"
29
- _body {|line| puts "<li>#{_formatting(line)}</li>" }
30
- _puts "</ol>"
31
- end
32
-
33
- def dlist
34
- delim = "~~"
35
- _puts "<table>"
36
- _body do |line|
37
- # @tty.puts "Line = #{line}"
38
- line = _formatting(line)
39
- # @tty.puts "Line = #{line}\n "
40
- term, defn = line.split(delim)
41
- _puts "<tr>"
42
- _puts "<td width=3%><td width=10%>#{term}</td><td>#{defn}</td>"
43
- _puts "</tr>"
44
- end
45
- _puts "</table>"
46
- end
47
-
48
21
  def inout
49
22
  src, out = _args
50
23
  t1 = ::File.readlines(src) rescue (abort "t1 = #{src}")
@@ -52,8 +25,6 @@ def inout
52
25
  # To pacify markdown for README (FIXME later)
53
26
  t1 = t1.map {|x| " " + x.sub(/ +$/,"").gsub(/_/, "\\_") }.join
54
27
  t2 = t2.map {|x| " " + x.sub(/ +$/,"").gsub(/_/, "\\_") }.join
55
- # t1 = ::CGI.escape_html(t1)
56
- # t2 = ::CGI.escape_html(t2)
57
28
 
58
29
  puts <<-HTML
59
30
  <center>
@@ -103,11 +74,9 @@ end
103
74
 
104
75
  def testcase
105
76
  name = _args.first
106
- # _puts "\n<b>Test: <tt>#{name.gsub(/_/, "\\_")}</tt></b><br>"
107
77
  _puts "\n<font size=+1><b>Test: </font><font size=+2><tt>#{name}</tt></font></b></h3><br>"
108
78
  src, exp = "test/testfiles/#{name}/source.ltx", "test/testfiles/#{name}/expected-output.txt"
109
79
  @_args = [src, exp] # Better way to do this??
110
- # inout # Weird - only place I've done this yet.
111
80
  put_table(src, exp)
112
81
  _puts "<br>"
113
82
  end
data/lib/livetext.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  class Livetext
2
- VERSION = "0.8.1"
2
+ VERSION = "0.8.2"
3
3
  end
4
4
 
5
5
  require 'fileutils'
@@ -109,8 +109,8 @@ class Livetext
109
109
  end
110
110
 
111
111
  def process_file(fname)
112
- enum = File.readlines(fname).each
113
112
  raise "No such file '#{fname}' to process" unless File.exist?(fname)
113
+ enum = File.readlines(fname).each
114
114
  @main.source(enum, fname, 0)
115
115
  loop do
116
116
  line = @main.nextline
@@ -119,6 +119,16 @@ class Livetext
119
119
  end
120
120
  end
121
121
 
122
+ def process(text)
123
+ enum = text.each_line
124
+ @main.source(enum, "STDIN", 0)
125
+ loop do
126
+ line = @main.nextline
127
+ break if line.nil?
128
+ process_line(line)
129
+ end
130
+ end
131
+
122
132
  def rx(str, space=nil)
123
133
  Regexp.compile("^" + Regexp.escape(str) + "#{space}")
124
134
  end
data/lib/standard.rb CHANGED
@@ -239,7 +239,7 @@ module Livetext::Standard
239
239
  end
240
240
 
241
241
  def dlist
242
- delim = "~~"
242
+ delim = _args.first
243
243
  _puts "<table>"
244
244
  _body do |line|
245
245
  line = _formatting(line)
data/test/test.rb CHANGED
@@ -26,8 +26,12 @@ class TestingLivetext < MiniTest::Test
26
26
  define_method("test_formatting_#{i}") do
27
27
  x = FormatLine.new
28
28
  actual = x.parse(src)
29
- # raise "Hello?"
30
- assert_equal(exp, actual, msg)
29
+ if exp[0] == "/" # regex!
30
+ exp = Regexp.compile(exp[1..-2]) # skip slashes
31
+ assert_match(exp, actual, msg)
32
+ else
33
+ assert_equal(exp, actual, msg)
34
+ end
31
35
  end
32
36
  end
33
37
 
@@ -274,3 +274,11 @@ Escape brackets inside ~
274
274
  There are brackets ~[\[\]] here
275
275
  There are brackets <strike>[]</strike> here
276
276
 
277
+ Check output of $$date
278
+ Today is $$date, I guess
279
+ /Today is \d\d\d\d-\d\d-\d\d, I guess/
280
+
281
+ Check output of $$time
282
+ Tick tock, it's $$time right now
283
+ /Tick tock, it's \d\d:\d\d:\d\d right now/
284
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livetext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton