trac-wiki 0.3.20 → 0.3.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README +5 -0
- data/lib/trac-wiki/env.rb +7 -2
- data/lib/trac-wiki/parser.rb +6 -2
- data/lib/trac-wiki/version.rb +1 -1
- data/test/parser_test.rb +10 -6
- 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: 2cc0af0b5c51c390aa590950accded35c88c6b39
|
4
|
+
data.tar.gz: d0907cc3a0dc5a8a4e83555f4aa6366edad8ce3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0043c157364338f8c99d2c1e63c4c0a0754913dbe78580174fec37a66e728f341b21adbb4a65ca6ca7a8dcee9e9a3d8531ffad3e8942e087a00fb90a8d41e9f
|
7
|
+
data.tar.gz: 4408748ddc71a296aca9577c3e42af62beffab19e46d0f63975ea52f090bfa00be1a809a0dad13549b78cc86d6b6b2e62d561ed5a1e3ceb43d99d11bf598a13e
|
data/Gemfile.lock
CHANGED
data/README
CHANGED
@@ -118,6 +118,11 @@ Project page on github:
|
|
118
118
|
* `$0` all parameters (without named)
|
119
119
|
* `$00` all parameters (with named)
|
120
120
|
|
121
|
+
* `{{unknown_macro par1}}` is expanded to `{{unkmacro unknown_macro|par1}}`,
|
122
|
+
you have to specify `uknmacro` macro. If not, error strig
|
123
|
+
`UNKNOWN-MACRO(unkmacro)`
|
124
|
+
is generated.
|
125
|
+
|
121
126
|
* `{{!command}}`
|
122
127
|
|
123
128
|
== BUGS ==
|
data/lib/trac-wiki/env.rb
CHANGED
@@ -204,7 +204,7 @@ module TracWiki
|
|
204
204
|
if ! @parser.template_handler.nil?
|
205
205
|
str = @parser.template_handler.call(macro_name, @env, @argv)
|
206
206
|
is_defined = !str.nil?
|
207
|
-
@parser.used_templates[macro_name] = is_defined
|
207
|
+
@parser.used_templates[macro_name] = is_defined if macro_name != 'unkmacro'
|
208
208
|
if is_defined
|
209
209
|
if @argv_stack.size > 32
|
210
210
|
return "TOO_DEEP_RECURSION(`#{str}`)\n"
|
@@ -218,12 +218,16 @@ module TracWiki
|
|
218
218
|
return str
|
219
219
|
end
|
220
220
|
end
|
221
|
-
"UNKNOWN-MACRO(#{macro_name})"
|
221
|
+
#return "UNKNOWN-MACRO(#{macro_name})"
|
222
|
+
return "UNKNOWN-MACRO(#{@argv['0']})" if macro_name == 'unkmacro'
|
223
|
+
return "{{unkmacro #{macro_name}}}" if @argv['##'] == '0'
|
224
|
+
return "{{unkmacro #{macro_name}|#{@argv['00']}}}"
|
222
225
|
end
|
223
226
|
|
224
227
|
def do_macro_arg_to_env(args)
|
225
228
|
argv = {}
|
226
229
|
argv['00'] = args.join('|')
|
230
|
+
argv['##'] = args.size.to_s
|
227
231
|
arg0 = []
|
228
232
|
|
229
233
|
idx = 1
|
@@ -237,6 +241,7 @@ module TracWiki
|
|
237
241
|
end
|
238
242
|
end
|
239
243
|
argv['0'] = arg0.join('|')
|
244
|
+
argv['#'] = arg0.size.to_s
|
240
245
|
return argv
|
241
246
|
end
|
242
247
|
|
data/lib/trac-wiki/parser.rb
CHANGED
@@ -129,7 +129,7 @@ module TracWiki
|
|
129
129
|
# macro {{$var}} | {{#comment}} | {{!cmd}} | {{template}} | {{/template}}
|
130
130
|
# string begins with macro
|
131
131
|
MACRO_BEG_REX = /\A\{\{ ( \$[\$\.\w]+ | [\#!\/]\w* |\w+ ) /x
|
132
|
-
MACRO_BEG_INSIDE_REX = /\A(.*?)(?<!\{)\{\{ ( \$[\$\.\w]+ | [\#!\/]\w* | \w+ ) /xm
|
132
|
+
MACRO_BEG_INSIDE_REX = /\A(.*?) (?<!\{|!|!\{) \{\{ ( \$[\$\.\w]+ | [\#!\/]\w* | \w+ ) /xm
|
133
133
|
# find end of marcro or begin of inner macro
|
134
134
|
MACRO_END_REX = /\A(.*?) ( \}\} | \{\{ ( \$[\$\.\w]+ | [\#!\/]\w* | \w+) )/mx
|
135
135
|
|
@@ -472,8 +472,12 @@ module TracWiki
|
|
472
472
|
toggle_tag 'sup', $& # ^{}
|
473
473
|
when str =~ /\A,,/
|
474
474
|
toggle_tag 'sub', $& # _{}
|
475
|
-
when str =~ /\A
|
475
|
+
when str =~ /\A!\./
|
476
|
+
@tree.add('') # !. \relax
|
477
|
+
when str =~ /\A!(\{\{|[\S])/
|
476
478
|
@tree.add($1) # !neco !{{
|
479
|
+
# when str =~ /\A!(\{\{)/
|
480
|
+
# @tree.add($1) # !neco !{
|
477
481
|
when str =~ /\A./
|
478
482
|
@tree.add($&) # ordinal char
|
479
483
|
end
|
data/lib/trac-wiki/version.rb
CHANGED
data/test/parser_test.rb
CHANGED
@@ -70,6 +70,9 @@ class Bacon::Context
|
|
70
70
|
"off:{{$offset}}"
|
71
71
|
when '/slash'
|
72
72
|
"slash/slash"
|
73
|
+
when 'unkmacro'
|
74
|
+
#"UNKNOWN-MACRO:!{{!.{{$0}}}}."
|
75
|
+
"UNKNOWN-MACRO:!{{!.{{$1}}}}."
|
73
76
|
else
|
74
77
|
nil
|
75
78
|
#"UNK_TEMPL(#{tname})"
|
@@ -965,11 +968,11 @@ eos
|
|
965
968
|
|
966
969
|
tc "<h1>h1</h1>" , "{{# co{{HUU}}mment }}\n\n\n= h1 =\n{{# Comment2}}\n"
|
967
970
|
|
968
|
-
tc "<p>UNKNOWN-MACRO
|
969
|
-
tc "<p>ahoj UNKNOWN-MACRO
|
970
|
-
tc "<p>ahoj UNKNOWN-MACRO
|
971
|
-
tc "<p>ahoj {{%macrUNKNOWN-MACRO
|
972
|
-
tc "<p>ahoj UNKNOWN-MACRO
|
971
|
+
tc "<p>UNKNOWN-MACRO:{{macr}}.</p>\n" , "{{macr\nahoj\n}}"
|
972
|
+
tc "<p>ahoj UNKNOWN-MACRO:{{macr}}.</p>\n" , "ahoj {{macr{{o}}}}"
|
973
|
+
tc "<p>ahoj UNKNOWN-MACRO:{{macro}}.</p>\n" , "ahoj {{macro}}"
|
974
|
+
tc "<p>ahoj {{%macrUNKNOWN-MACRO:{{o}}.}}</p>\n" , "ahoj {{%macr{{o}}}}"
|
975
|
+
tc "<p>ahoj UNKNOWN-MACRO:{{macr}}.</p>\n" , "ahoj {{macr{{mac **o**}}}}"
|
973
976
|
tc "<p>ahoj ahoj</p>\n" , "ahoj {{$mac|ahoj}}"
|
974
977
|
end
|
975
978
|
|
@@ -980,7 +983,8 @@ eos
|
|
980
983
|
# macro errors:
|
981
984
|
tc "<p>TOO_DEEP_RECURSION(<tt>{{deep}}</tt>)3</p>\n", "{{deep}}3"
|
982
985
|
tc "<p>TOO_LONG_EXPANSION_OF_MACRO(wide)QUIT</p>\n", "{{wide}}3"
|
983
|
-
tc "<p>UNKNOWN-MACRO
|
986
|
+
tc "<p>UNKNOWN-MACRO:{{unknown}}.4</p>\n", "{{unknown u1|u2}}4"
|
987
|
+
tc "<p>UNKNOWN-MACRO:{{unknown}}.3</p>\n", "{{unknown}}3"
|
984
988
|
end
|
985
989
|
it 'should do temlate with args' do
|
986
990
|
tc "<p>jedna::VARTESTPARAM,dve:,p:DVE,arg::VARTESTPARAM|p=DVE</p>\n", "{{vartest::VARTESTPARAM|p=DVE}}"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trac-wiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitas Stradal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bacon
|