This commit is contained in:
Josh Thomas 2025-01-06 12:58:56 -06:00
parent 1f439d3933
commit ef102fcae9

View file

@ -228,31 +228,27 @@ impl Parser {
let token = self.peek_previous()?; let token = self.peek_previous()?;
let start = token.start().unwrap_or(0); let start = token.start().unwrap_or(0);
let mut bits = Vec::new(); let parts: Vec<&str> = content.split('|').collect();
let bits: Vec<String> = parts[0].split('.').map(|s| s.trim().to_string()).collect();
let mut filters = Vec::new(); let mut filters = Vec::new();
let parts: Vec<&str> = content.split('|').map(|s| s.trim()).collect(); for filter_part in parts.iter().skip(1) {
if !parts.is_empty() { let filter_parts: Vec<&str> = filter_part.split(':').collect();
bits = parts[0].split('.').map(|s| s.trim().to_string()).collect(); let name = filter_parts[0].trim();
let args = if filter_parts.len() > 1 {
filter_parts[1]
.split(',')
.map(|s| s.trim().to_string())
.collect()
} else {
Vec::new()
};
for filter_part in parts.iter().skip(1) { filters.push(DjangoFilter {
let filter_parts: Vec<&str> = filter_part.split(':').collect(); name: name.to_string(),
let filter_name = filter_parts[0].trim(); args,
let filter_args = if filter_parts.len() > 1 { span: Span::new(start + 4, content.len() as u32),
filter_parts[1] });
.split(',')
.map(|s| s.trim().to_string())
.collect()
} else {
Vec::new()
};
filters.push(DjangoFilter {
name: filter_name.to_string(),
args: filter_args,
span: Span::new(start + 4, content.len() as u32),
});
}
} }
Ok(Node::Variable { Ok(Node::Variable {