livetext 0.9.14 → 0.9.15

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.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cmdargs.rb +93 -0
  3. data/lib/formatline.rb +56 -83
  4. data/lib/helpers.rb +142 -4
  5. data/lib/livetext.rb +11 -141
  6. data/lib/parser/file.rb +8 -0
  7. data/lib/parser/mixin.rb +28 -15
  8. data/lib/parser/set.rb +35 -26
  9. data/lib/parser/string.rb +19 -4
  10. data/lib/processor.rb +1 -4
  11. data/lib/standard.rb +56 -96
  12. data/plugin/bookish.rb +26 -22
  13. data/plugin/calibre.rb +1 -1
  14. data/plugin/livemagick.rb +10 -10
  15. data/plugin/markdown.rb +13 -11
  16. data/plugin/pyggish.rb +94 -84
  17. data/plugin/tutorial.rb +10 -5
  18. data/test/all.rb +0 -1
  19. data/test/snapshots/OMIT.txt +7 -8
  20. data/test/snapshots/clusion.txt +35 -0
  21. data/test/snapshots/error_inc_line_num/actual-error.txt +14 -0
  22. data/test/snapshots/error_inc_line_num/actual-output.txt +7 -0
  23. data/test/snapshots/error_inc_line_num/match-error.txt +1 -1
  24. data/test/snapshots/error_inc_line_num/out-sdiff.txt +14 -0
  25. data/test/snapshots/error_invalid_name/actual-error.txt +10 -0
  26. data/test/snapshots/error_invalid_name/actual-output.txt +0 -0
  27. data/test/snapshots/error_invalid_name/match-error.txt +1 -1
  28. data/test/snapshots/error_invalid_name/out-sdiff.txt +6 -0
  29. data/test/snapshots/error_line_num/match-error.txt +1 -1
  30. data/test/snapshots/error_mismatched_end/match-error.txt +1 -1
  31. data/test/snapshots/error_missing_end/actual-error.txt +10 -0
  32. data/test/snapshots/error_missing_end/actual-output.txt +0 -0
  33. data/test/snapshots/error_missing_end/match-error.txt +1 -1
  34. data/test/snapshots/error_missing_end/out-sdiff.txt +6 -0
  35. data/test/snapshots/error_no_such_copy/actual-error.txt +10 -0
  36. data/test/snapshots/error_no_such_copy/actual-output.txt +0 -0
  37. data/test/snapshots/error_no_such_copy/match-error.txt +1 -1
  38. data/test/snapshots/error_no_such_copy/out-sdiff.txt +5 -0
  39. data/test/snapshots/error_no_such_copy/source.lt3 +0 -1
  40. data/test/snapshots/error_no_such_inc/actual-error.txt +10 -0
  41. data/test/snapshots/error_no_such_inc/actual-output.txt +0 -0
  42. data/test/snapshots/error_no_such_inc/match-error.txt +1 -1
  43. data/test/snapshots/error_no_such_inc/out-sdiff.txt +6 -0
  44. data/test/snapshots/error_no_such_mixin/actual-error.txt +37 -0
  45. data/test/snapshots/error_no_such_mixin/actual-output.txt +0 -0
  46. data/test/snapshots/error_no_such_mixin/out-sdiff.txt +6 -0
  47. data/test/snapshots/simple_import/actual-error.txt +8 -0
  48. data/test/snapshots/simple_import/actual-output.txt +3 -0
  49. data/test/snapshots/simple_import/err-sdiff.txt +9 -0
  50. data/test/snapshots/simple_import/expected-error.txt +0 -0
  51. data/test/snapshots/simple_import/expected-output.txt +7 -0
  52. data/test/snapshots/simple_import/out-sdiff.txt +9 -0
  53. data/test/snapshots/simple_import/simple_import.rb +5 -0
  54. data/test/snapshots/simple_import/source.lt3 +7 -0
  55. data/test/snapshots/simple_include/source.lt3 +0 -1
  56. data/test/snapshots.rb +3 -2
  57. data/test/unit/all.rb +1 -0
  58. data/test/unit/formatline.rb +650 -0
  59. data/test/unit/parser/importable.rb +1 -1
  60. data/test/unit/parser/mixin.rb +1 -1
  61. data/test/unit/parser/set.rb +19 -12
  62. data/test/unit/parser/string.rb +14 -14
  63. metadata +32 -5
  64. data/test/formatting-tests.rb +0 -35
  65. data/test/formatting.rb +0 -103
  66. data/test/snapshots/formatting-tests.txt +0 -124
@@ -3,7 +3,7 @@ require 'minitest/autorun'
3
3
 
4
4
  require_relative '../../../lib/parser/set'
5
5
 
6
- ParseSet = Livetext::ParseSet
6
+ # ParseSet = Livetext::ParseSet
7
7
 
8
8
  class TestParseSet < MiniTest::Test
9
9
 
@@ -13,7 +13,7 @@ class TestParseSet < MiniTest::Test
13
13
  def teardown
14
14
  end
15
15
 
16
- def test_one_unquoted
16
+ def ztest_one_unquoted
17
17
  set = ParseSet.new('my_var_123 = 789').parse
18
18
  pair = set.first
19
19
  assert_equal pair, %w[my_var_123 789]
@@ -23,37 +23,38 @@ class TestParseSet < MiniTest::Test
23
23
  assert_equal pair, %w[var_234 naked_string]
24
24
  end
25
25
 
26
- def test_one_single_quoted
26
+ def ztest_one_single_quoted
27
27
  set = ParseSet.new("fancy.var.name = 'simple string'").parse
28
28
  pair = set.first
29
29
  assert_equal pair, ["fancy.var.name", "simple string"]
30
30
  end
31
31
 
32
- def test_one_double_quoted
32
+ def ztest_one_double_quoted
33
33
  set = ParseSet.new('fancy.var2 = "another string"').parse
34
34
  pair = set.first
35
35
  assert_equal pair, ["fancy.var2", "another string"]
36
36
  end
37
37
 
38
- def test_multiple_unquoted
38
+ def ztest_multiple_unquoted
39
+ puts __method__
39
40
  pair1, pair2 = ParseSet.new("this=345, that=678").parse
40
41
  assert_equal pair1, %w[this 345]
41
42
  assert_equal pair2, %w[that 678]
42
43
  end
43
44
 
44
- def test_multiple_unquoted_quoted
45
+ def ztest_multiple_unquoted_quoted
45
46
  pair1, pair2 = ParseSet.new('alpha = 567, beta = "oh well"').parse
46
47
  assert_equal pair1, %w[alpha 567]
47
48
  assert_equal pair2, ["beta", "oh well"]
48
49
  end
49
50
 
50
- def test_quote_embedded_comma
51
+ def ztest_quote_embedded_comma
51
52
  set = ParseSet.new('gamma = "oh, well"').parse
52
53
  pair = set.first
53
54
  assert_equal pair, ["gamma", "oh, well"]
54
55
  end
55
56
 
56
- def test_get_var
57
+ def ztest_get_var
57
58
  @parse = ParseSet.new("foo=345")
58
59
  assert_equal @parse.get_var, "foo"
59
60
  @parse = ParseSet.new("foo = 345")
@@ -78,7 +79,7 @@ class TestParseSet < MiniTest::Test
78
79
  assert_raises(BadVariableName) { @parse.get_var }
79
80
  end
80
81
 
81
- def test_skip_equal
82
+ def ztest_skip_equal
82
83
  @parse = ParseSet.new("=")
83
84
  assert_nil @parse.skip_equal
84
85
  @parse = ParseSet.new(" = ")
@@ -96,7 +97,7 @@ class TestParseSet < MiniTest::Test
96
97
  assert_raises(NoEqualSign) { @parse.skip_equal }
97
98
  end
98
99
 
99
- def test_quoted_value
100
+ def ztest_quoted_value
100
101
  @parse = ParseSet.new(%['this'])
101
102
  assert_equal @parse.quoted_value, "this"
102
103
  @parse = ParseSet.new(%["that"])
@@ -118,7 +119,7 @@ class TestParseSet < MiniTest::Test
118
119
  # - allow (escaped?) comma in quoted string
119
120
  end
120
121
 
121
- def test_unquoted_value
122
+ def ztest_unquoted_value
122
123
  # Note: an unquoted value is still a string!
123
124
  @parse = ParseSet.new(%[342 ])
124
125
  assert_equal @parse.unquoted_value, "342"
@@ -139,7 +140,7 @@ class TestParseSet < MiniTest::Test
139
140
 
140
141
  # BUG: FormatLine doesn't know variables in this context!
141
142
 
142
- def xtest_4
143
+ def xtest_4 # FIXME
143
144
  set = ParseSet.new("file = $File").parse
144
145
  assert_equal set.first, "file"
145
146
  assert set.last !~ /undefined/
@@ -148,10 +149,16 @@ class TestParseSet < MiniTest::Test
148
149
  # BUG: ...or functions.
149
150
  # (Additional bug: Failing silently seems wrong.)
150
151
 
151
- def xtest_5
152
+ def xtest_5 # FIXME
152
153
  set = ParseSet.new("date = $$date").parse
153
154
  assert_equal set.first, "date"
154
155
  assert set.last =~ /^\d\d.\d\d.\d\d/
155
156
  end
156
157
 
158
+ def test_two_strings
159
+ line = %[bday="May_31", date="5/31"]
160
+ set = ParseSet.new(line).parse
161
+ assert set == [["bday", "May_31"], ["date", "5/31"]]
162
+ end
163
+
157
164
  end
@@ -35,14 +35,14 @@ class TestStringParser < MiniTest::Test
35
35
  assert_equal @many.i, 0
36
36
  end
37
37
 
38
- def test_next
39
- assert_nil @zero.next
38
+ def test_grab
39
+ assert_nil @zero.grab
40
40
  assert_equal @zero.i, 0 # nothing happens
41
41
 
42
- assert_equal @one.next, "x"
42
+ assert_equal @one.grab, "x"
43
43
  assert_equal @one.i, 1
44
44
 
45
- assert_equal @many.next, "T"
45
+ assert_equal @many.grab, "T"
46
46
  refute @many.eos, "EOS was true for #{@many.inspect}"
47
47
  assert_equal @many.i, 1
48
48
  end
@@ -53,19 +53,19 @@ class TestStringParser < MiniTest::Test
53
53
  refute @many.eos?
54
54
  end
55
55
 
56
- def test_next_eos
57
- @zero.next
56
+ def test_grab_eos
57
+ @zero.grab
58
58
  assert @zero.eos?
59
59
 
60
- @one.next
60
+ @one.grab
61
61
  assert @one.eos?
62
- @one.next
62
+ @one.grab
63
63
  assert @one.eos?
64
64
 
65
- @many.next
65
+ @many.grab
66
66
  refute @many.eos?
67
67
  count = @many.len # doesn't make sense??
68
- count.times { @many.next }
68
+ count.times { @many.grab }
69
69
  assert @many.eos?
70
70
  end
71
71
 
@@ -75,8 +75,8 @@ class TestStringParser < MiniTest::Test
75
75
  assert_equal @many.peek, @strN[0]
76
76
  end
77
77
 
78
- def test_next_peek
79
- char1 = @zero.next
78
+ def test_grab_peek
79
+ char1 = @zero.grab
80
80
  char2 = @zero.peek
81
81
  assert_nil char1
82
82
  assert_nil char2
@@ -87,7 +87,7 @@ class TestStringParser < MiniTest::Test
87
87
  refute @one.last? # FIXME??
88
88
  char1 = @one.peek
89
89
  refute @one.last? # FIXME??
90
- char2 = @one.next
90
+ char2 = @one.grab
91
91
  char3 = @one.peek
92
92
  assert char1
93
93
  assert char2 == char1
@@ -97,7 +97,7 @@ class TestStringParser < MiniTest::Test
97
97
  assert @one.eos? # FIXME??
98
98
 
99
99
  char1 = @many.peek
100
- char2 = @many.next
100
+ char2 = @many.grab
101
101
  char3 = @many.peek
102
102
  assert char1
103
103
  assert char2 == char1
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.14
4
+ version: 0.9.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-23 00:00:00.000000000 Z
11
+ date: 2022-01-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A smart text processor extensible in Ruby
14
14
  email: rubyhacker@gmail.com
@@ -20,6 +20,7 @@ files:
20
20
  - "./README.lt3"
21
21
  - "./README.md"
22
22
  - bin/livetext
23
+ - lib/cmdargs.rb
23
24
  - lib/errors.rb
24
25
  - lib/formatline.rb
25
26
  - lib/functions.rb
@@ -28,6 +29,7 @@ files:
28
29
  - lib/livetext.rb
29
30
  - lib/livetext/importable.rb
30
31
  - lib/parser.rb
32
+ - lib/parser/file.rb
31
33
  - lib/parser/general.rb
32
34
  - lib/parser/import.rb
33
35
  - lib/parser/mixin.rb
@@ -47,8 +49,6 @@ files:
47
49
  - test/affirm/lm-kbks.lt
48
50
  - test/all.rb
49
51
  - test/cleanup
50
- - test/formatting-tests.rb
51
- - test/formatting.rb
52
52
  - test/newtest
53
53
  - test/sdtest
54
54
  - test/snapshots.rb
@@ -59,6 +59,7 @@ files:
59
59
  - test/snapshots/block_comment/expected-error.txt
60
60
  - test/snapshots/block_comment/expected-output.txt
61
61
  - test/snapshots/block_comment/source.lt3
62
+ - test/snapshots/clusion.txt
62
63
  - test/snapshots/comments_ignored_1/expected-error.txt
63
64
  - test/snapshots/comments_ignored_1/expected-output.txt
64
65
  - test/snapshots/comments_ignored_1/source.lt3
@@ -70,12 +71,18 @@ files:
70
71
  - test/snapshots/def_method/expected-error.txt
71
72
  - test/snapshots/def_method/expected-output.txt
72
73
  - test/snapshots/def_method/source.lt3
74
+ - test/snapshots/error_inc_line_num/actual-error.txt
75
+ - test/snapshots/error_inc_line_num/actual-output.txt
73
76
  - test/snapshots/error_inc_line_num/expected-output.txt
74
77
  - test/snapshots/error_inc_line_num/file2.lt3
75
78
  - test/snapshots/error_inc_line_num/match-error.txt
79
+ - test/snapshots/error_inc_line_num/out-sdiff.txt
76
80
  - test/snapshots/error_inc_line_num/source.lt3
81
+ - test/snapshots/error_invalid_name/actual-error.txt
82
+ - test/snapshots/error_invalid_name/actual-output.txt
77
83
  - test/snapshots/error_invalid_name/expected-output.txt
78
84
  - test/snapshots/error_invalid_name/match-error.txt
85
+ - test/snapshots/error_invalid_name/out-sdiff.txt
79
86
  - test/snapshots/error_invalid_name/source.lt3
80
87
  - test/snapshots/error_line_num/expected-output.txt
81
88
  - test/snapshots/error_line_num/match-error.txt
@@ -83,20 +90,32 @@ files:
83
90
  - test/snapshots/error_mismatched_end/expected-output.txt
84
91
  - test/snapshots/error_mismatched_end/match-error.txt
85
92
  - test/snapshots/error_mismatched_end/source.lt3
93
+ - test/snapshots/error_missing_end/actual-error.txt
94
+ - test/snapshots/error_missing_end/actual-output.txt
86
95
  - test/snapshots/error_missing_end/expected-output.txt
87
96
  - test/snapshots/error_missing_end/match-error.txt
97
+ - test/snapshots/error_missing_end/out-sdiff.txt
88
98
  - test/snapshots/error_missing_end/source.lt3
89
99
  - test/snapshots/error_name_not_permitted/expected-output.txt
90
100
  - test/snapshots/error_name_not_permitted/match-error.txt
91
101
  - test/snapshots/error_name_not_permitted/source.lt3
102
+ - test/snapshots/error_no_such_copy/actual-error.txt
103
+ - test/snapshots/error_no_such_copy/actual-output.txt
92
104
  - test/snapshots/error_no_such_copy/expected-output.txt
93
105
  - test/snapshots/error_no_such_copy/match-error.txt
106
+ - test/snapshots/error_no_such_copy/out-sdiff.txt
94
107
  - test/snapshots/error_no_such_copy/source.lt3
108
+ - test/snapshots/error_no_such_inc/actual-error.txt
109
+ - test/snapshots/error_no_such_inc/actual-output.txt
95
110
  - test/snapshots/error_no_such_inc/expected-output.txt
96
111
  - test/snapshots/error_no_such_inc/match-error.txt
112
+ - test/snapshots/error_no_such_inc/out-sdiff.txt
97
113
  - test/snapshots/error_no_such_inc/source.lt3
114
+ - test/snapshots/error_no_such_mixin/actual-error.txt
115
+ - test/snapshots/error_no_such_mixin/actual-output.txt
98
116
  - test/snapshots/error_no_such_mixin/expected-output.txt
99
117
  - test/snapshots/error_no_such_mixin/match-error.txt
118
+ - test/snapshots/error_no_such_mixin/out-sdiff.txt
100
119
  - test/snapshots/error_no_such_mixin/source.lt3
101
120
  - test/snapshots/example_alpha/expected-error.txt
102
121
  - test/snapshots/example_alpha/expected-output.txt
@@ -105,7 +124,6 @@ files:
105
124
  - test/snapshots/example_alpha2/expected-output.txt
106
125
  - test/snapshots/example_alpha2/source.lt3
107
126
  - test/snapshots/fixit
108
- - test/snapshots/formatting-tests.txt
109
127
  - test/snapshots/functions/expected-error.txt
110
128
  - test/snapshots/functions/expected-output.txt
111
129
  - test/snapshots/functions/source.lt3
@@ -129,6 +147,14 @@ files:
129
147
  - test/snapshots/simple_copy/expected-output.txt
130
148
  - test/snapshots/simple_copy/simplefile.inc
131
149
  - test/snapshots/simple_copy/source.lt3
150
+ - test/snapshots/simple_import/actual-error.txt
151
+ - test/snapshots/simple_import/actual-output.txt
152
+ - test/snapshots/simple_import/err-sdiff.txt
153
+ - test/snapshots/simple_import/expected-error.txt
154
+ - test/snapshots/simple_import/expected-output.txt
155
+ - test/snapshots/simple_import/out-sdiff.txt
156
+ - test/snapshots/simple_import/simple_import.rb
157
+ - test/snapshots/simple_import/source.lt3
132
158
  - test/snapshots/simple_include/expected-error.txt
133
159
  - test/snapshots/simple_include/expected-output.txt
134
160
  - test/snapshots/simple_include/simplefile.inc
@@ -149,6 +175,7 @@ files:
149
175
  - test/snapshots/table_with_heredocs/source.lt3
150
176
  - test/testlines.rb
151
177
  - test/unit/all.rb
178
+ - test/unit/formatline.rb
152
179
  - test/unit/html.rb
153
180
  - test/unit/parser.rb
154
181
  - test/unit/parser/all.rb
@@ -1,35 +0,0 @@
1
- require 'minitest/autorun'
2
-
3
- require_relative '../lib/livetext'
4
-
5
- # Just another testing class. Chill.
6
-
7
- class TestingLivetext < MiniTest::Test
8
-
9
- TestLines = []
10
-
11
- items = []
12
- formatting_tests = File.open("formatting-tests.txt")
13
- loop do
14
- 4.times { items << formatting_tests.gets.chomp }
15
- # Blank line terminates each "stanza"
16
- raise "Oops? #{items.inspect}" unless items.last.empty?
17
- TestLines << items
18
- break if formatting_tests.eof?
19
- end
20
-
21
- TestLines.each.with_index do |item, num|
22
- msg, src, exp, blank = *item
23
- define_method("test_formatting_#{num}") do
24
- actual = FormatLine.parse!(src)
25
- # FIXME could simplify assert logic?
26
- if exp[0] == "/" # regex! FIXME doesn't honor %r[...]
27
- exp = Regexp.compile(exp[1..-2]) # skip slashes
28
- assert_match(exp, actual, msg)
29
- else
30
- assert_equal(exp, actual, msg)
31
- end
32
- end
33
- end
34
- end
35
-
data/test/formatting.rb DELETED
@@ -1,103 +0,0 @@
1
- require 'minitest/autorun'
2
-
3
- require_relative '../lib/livetext'
4
-
5
- class TestingLivetext < MiniTest::Test
6
-
7
- TTY = File.open("/dev/tty","w")
8
-
9
- dir = ARGV.first == "cmdline" ? "../" : ""
10
- Data = "#{dir}test/data"
11
-
12
- TestLines = []
13
-
14
- Dir.chdir `livetext --path`.chomp if ARGV.first == "cmdline"
15
-
16
- Dir.chdir(Data)
17
-
18
- f = File.open("lines.txt")
19
- loop do
20
- item = []
21
- 4.times { item << f.gets.chomp }
22
- raise "Oops? #{item.inspect}" unless item.last == ""
23
- TestLines << item
24
- break if f.eof?
25
- end
26
-
27
- if File.size("subset.txt") # == 0
28
- puts "Defining via TestLines"
29
- TestLines.each.with_index do |item, i|
30
- msg, src, exp, blank = *item
31
- define_method("test_formatting_#{i}") do
32
- actual = FormatLine.parse!(src)
33
- if exp[0] == "/" # regex!
34
- exp = Regexp.compile(exp[1..-2]) # skip slashes
35
- assert_match(exp, actual, msg)
36
- else
37
- assert_equal(exp, actual, msg)
38
- end
39
- end
40
- end
41
- end
42
-
43
- TestDirs = Dir.entries(".").reject {|f| ! File.directory?(f) } - %w[. ..]
44
- selected = File.readlines("subset.txt").map(&:chomp)
45
- Subset = selected.empty? ? TestDirs : selected
46
-
47
- # puts "Subset = #{Subset.inspect}"
48
-
49
- Subset.each do |tdir|
50
- define_method("test_#{tdir}") do
51
- external_files(tdir)
52
- end
53
- end
54
-
55
- def green(str)
56
- "" + str + ""
57
- end
58
-
59
- def red(str)
60
- "" + str + ""
61
- end
62
-
63
- def external_files(base)
64
- Dir.chdir(base) do
65
- src, out, exp = "source.lt3", "/tmp/#{base}--actual-output.txt", "expected-output.txt"
66
- err, erx = "/tmp/#{base}--actual-error.txt", "expected-error.txt"
67
- cmd = "livetext #{src} >#{out} 2>#{err}"
68
- system(cmd)
69
- output, expected, errors, errexp = File.read(out), File.read(exp), File.read(err), File.read(erx)
70
-
71
- out_ok = output == expected
72
- err_ok = errors == errexp
73
- nout = output.split("\n").size
74
- nexp = expected.split("\n").size
75
- bad_out = "--- Expected (#{nexp} lines): \n#{green(expected)}\n--- Output (#{nout} lines): \n#{red(output)}\n"
76
- bad_err = "--- Error Expected: \n#{green(errexp)}\n--- Error Output: \n#{red(errors)}\n"
77
-
78
- assert(out_ok, bad_out)
79
- assert(err_ok, bad_err)
80
- # only on success
81
- system("rm -f #{out} #{err}") if out_ok && err_ok
82
- end
83
- end
84
-
85
- end
86
-
87
-
88
- =begin
89
-
90
- You can add any ordinary test method above. But so far, all these tests simply
91
- call external_files.
92
-
93
- The external_files method works this way:
94
- - If the test (caller) method is test_my_silly_feature, then we will
95
- look for a directory called data/my_silly_feature
96
- - In here, there must be a source.lt3, expected-output.txt, and expected-error.txt
97
- - Technically, any of these can be empty
98
- - We run livetext on the source and compare actual vs expected (stdout, stderr)
99
- - The "real" output gets checked first
100
- - Of course, both must compare correctly for the test to pass
101
-
102
- =end
103
-
@@ -1,124 +0,0 @@
1
- Check output of $$date
2
- Today is $$date, I guess
3
- /Today is \d\d\d\d-\d\d-\d\d, I guess/
4
-
5
- Check output of $$time
6
- Tick tock, it's $$time right now
7
- /Tick tock, it's \d\d:\d\d:\d\d right now/
8
-
9
- Trying $$b function, no param
10
- This is $$b being called
11
- This is <b>NO PARAMETER</b> being called
12
-
13
- Trying $$b function, brackets
14
- This is $$b[bold text] being called
15
- This is <b>bold text</b> being called
16
-
17
- Trying $$b function, unterminated brackets
18
- This is $$b[bold text being called
19
- This is <b>bold text being called</b>
20
-
21
- Trying $$b function, colon param
22
- This is $$b:token being called
23
- This is <b>token</b> being called
24
-
25
- Try $$i
26
- There is $$i[some text] here
27
- There is <i>some text</i> here
28
-
29
- Try $$t
30
- There is $$t[some text] here
31
- There is <font size=+1><tt>some text</tt></font> here
32
-
33
- Try $$s
34
- There is $$s[some text] here
35
- There is <strike>some text</strike> here
36
-
37
- Try $$bi
38
- There is $$bi[some text] here
39
- There is <b><i>some text</i></b> here
40
-
41
- Try $$bt
42
- There is $$bt[some text] here
43
- There is <b><font size=+1><tt>some text</tt></font></b> here
44
-
45
- Try $$bs
46
- There is $$bs[some text] here
47
- There is <b><strike>some text</strike></b> here
48
-
49
- Try $$it
50
- There is $$it[some text] here
51
- There is <i><font size=+1><tt>some text</tt></font></i> here
52
-
53
- Try $$is
54
- There is $$is[some text] here
55
- There is <i><strike>some text</strike></i> here
56
-
57
- Try $$ts
58
- There is $$ts[some text] here
59
- There is <font size=+1><tt><strike>some text</strike></tt></font> here
60
-
61
- Try $$bit
62
- There is $$bit[some text] here
63
- There is <b><i><font size=+1><tt>some text</tt></font></i></b> here
64
-
65
- Try $$bis
66
- There is $$bis[some text] here
67
- There is <b><i><strike>some text</strike></i></b> here
68
-
69
- Try $$bts
70
- There is $$bts[some text] here
71
- There is <b><font size=+1><tt><strike>some text</strike></tt></font></b> here
72
-
73
- Try $$its
74
- There is $$its[some text] here
75
- There is <i><font size=+1><tt><strike>some text</strike></tt></font></i> here
76
-
77
- Try $$bits
78
- There is $$bits[some text] here
79
- There is <b><i><font size=+1><tt><strike>some text</strike></tt></font></i></b> here
80
-
81
- Escaped brackets inside bracketed function parameter
82
- Here is an $$t[\[:array, :expression\]] with escapes.
83
- Here is an <font size=+1><tt>[:array, :expression]</tt></font> with escapes.
84
-
85
- Escape brackets inside *
86
- There are brackets *[\[\]] here
87
- There are brackets <b>[]</b> here
88
-
89
- Escape brackets inside _
90
- There are brackets _[\[\]] here
91
- There are brackets <i>[]</i> here
92
-
93
- Escape brackets inside `
94
- There are brackets `[\[\]] here
95
- There are brackets <font size=+1><tt>[]</tt></font> here
96
-
97
- Escape brackets inside ~
98
- There are brackets ~[\[\]] here
99
- There are brackets <strike>[]</strike> here
100
-
101
- Line starts with underscore
102
- _This for example
103
- <i>This</i> for example
104
-
105
- Line starts with double underscore
106
- __This, for example
107
- <i>This</i>, for example
108
-
109
- Line has embedded underscores
110
- This has some_embedded_underscores
111
- This has some_embedded_underscores
112
-
113
- Line has escaped underscores
114
- This has some\_escaped\_underscores
115
- This has some_escaped_underscores
116
-
117
- Doubled underscore, midline
118
- This is __doubled, it seems
119
- This is <i>doubled</i>, it seems
120
-
121
- Underscore inside parens
122
- This is (_italicized and parenthesized)
123
- This is (<i>italicized</i> and parenthesized)
124
-