···
105
-
let mut found_pattern = find_pattern(&output, "[[{}]]".into());
106
-
while found_pattern.is_some() {
107
-
let (start, len) = found_pattern.unwrap();
105
+
let mut found_block_pattern = find_pattern(&output, "[[{}]]".into());
106
+
while found_block_pattern.is_some() {
107
+
let (start, len) = found_block_pattern.unwrap();
let replacement = scope.to_vec();
output.splice(start..start + len, replacement);
110
-
found_pattern = find_pattern(&output, "[[{}]]".into());
110
+
found_block_pattern = find_pattern(&output, "[[{}]]".into());
113
+
//replace [[..]] with space seperated remaining args
114
+
let mut found_trailing_pattern = find_pattern(&output, "[[..]]".into());
115
+
while found_trailing_pattern.is_some() {
116
+
let (start, len) = found_trailing_pattern.unwrap();
117
+
let mut replacement = Vec::new();
118
+
for arg in &args[self.args.len()..] {
119
+
replacement.append(&mut split_to_tokens(arg.clone() + " ".into(), origin_index));
121
+
output.splice(start..start + len, replacement);
122
+
found_trailing_pattern = find_pattern(&output, "[[..]]".into());
125
+
//replace [[".."]] with space seperated quoted remaining args
126
+
found_trailing_pattern = find_pattern(&output, "[[\"..\"]]".into());
127
+
while found_trailing_pattern.is_some() {
128
+
let (start, len) = found_trailing_pattern.unwrap();
129
+
let mut replacement = Vec::new();
130
+
for arg in &args[self.args.len()..] {
131
+
replacement.append(&mut split_to_tokens("\"".to_string() + arg + "\" ".into(), origin_index));
133
+
output.splice(start..start + len, replacement);
134
+
found_trailing_pattern = find_pattern(&output, "[[\"..\"]]".into());
···
"Attempted to make a template using a reserved name \"{}\"",
175
+
if arg == ".." || arg == "\"..\"" {
181
+
"Attempted to make a template using a reserved parameter name \"{}\"",