tangled
alpha
login
or
join now
tholps.site
/
skidmark
0
fork
atom
Tholp's bespoke website generator
0
fork
atom
overview
issues
pulls
pipelines
fix template expansion crash
Tholp1
10 months ago
7e4e57e9
3349e4c1
+7
-5
1 changed file
expand all
collapse all
unified
split
src
macros
template.rs
+7
-5
src/macros/template.rs
···
40
40
41
41
let mut output = self.tokens.clone();
42
42
43
43
+
for tok in &mut output
44
44
+
{
45
45
+
tok.origin_file = origin_index;
46
46
+
}
47
47
+
43
48
let mut args_index: usize = 0;
44
49
for param in &self.args {
45
50
let mut found_pattern = find_pattern(&output, format!("[[{}]]", param));
46
51
while found_pattern.is_some() {
47
52
let (start, len) = found_pattern.unwrap();
48
53
let replacement = split_to_tokens(args[args_index].clone(), origin_index);
49
49
-
found_pattern = find_pattern(
50
50
-
&output[start + replacement.len()..],
51
51
-
format!("[[{}]]", param),
52
52
-
);
53
54
output.splice(start..start + len, replacement);
55
55
+
found_pattern = find_pattern(&output, format!("[[{}]]", param));
54
56
}
55
57
args_index += 1;
56
58
}
···
59
61
while found_pattern.is_some() {
60
62
let (start, len) = found_pattern.unwrap();
61
63
let replacement = scope.to_vec();
62
62
-
found_pattern = find_pattern(&output[start + replacement.len()..], "[[{}]]".into());
63
64
output.splice(start..start + len, replacement);
65
65
+
found_pattern = find_pattern(&output, "[[{}]]".into());
64
66
}
65
67
66
68
output