Tholp's bespoke website generator

for_each_file_in_group_reverse

+37
+30
src/macros/for_each.rs
··· 129 129 scope, 130 130 ); 131 131 } 132 + 133 + pub fn macro_for_each_file_in_group_reverse( 134 + origin_index: usize, 135 + origin_line: usize, 136 + proj_context: &mut Project, 137 + _skid_context: &mut SkidContext, 138 + args: &Vec<String>, 139 + scope: &[Token], 140 + ) -> Vec<Token> { 141 + let mut files: Vec<String> = Vec::new(); 142 + for g in proj_context.filegroups.iter().rev() { 143 + if g.name == args[1] { 144 + for f in &g.files { 145 + let path = f 146 + .file_input 147 + .strip_prefix(&proj_context.input_folder) 148 + .unwrap(); 149 + files.push(path.to_str().unwrap().into()); 150 + } 151 + } 152 + } 153 + return for_each_base( 154 + &args[0], 155 + &files, 156 + proj_context, 157 + origin_index, 158 + origin_line, 159 + scope, 160 + ); 161 + }
+7
src/macros/mod.rs
··· 98 98 min_args: 2, 99 99 max_args: 2, 100 100 }, 101 + Macro { 102 + symbol: "for_each_file_in_group_reverse", 103 + expansion: macro_for_each_file_in_group_reverse, 104 + takes_block: true, 105 + min_args: 2, 106 + max_args: 2, 107 + }, 101 108 ];