diff --git a/src-tauri/yaak-templates/src/parser.rs b/src-tauri/yaak-templates/src/parser.rs index f624b11b..30470d16 100644 --- a/src-tauri/yaak-templates/src/parser.rs +++ b/src-tauri/yaak-templates/src/parser.rs @@ -271,7 +271,7 @@ impl Parser { let is_valid = if start_pos == self.pos { ch.is_alphabetic() // First char has to be alphabetic } else { - ch.is_alphanumeric() || ch == '-' || ch == '-' + ch.is_alphanumeric() || ch == '-' || ch == '_' }; if is_valid { text.push(ch); @@ -441,6 +441,20 @@ mod tests { ); } + #[test] + fn var_underscores() { + let mut p = Parser::new("${[ a_b ]}"); + assert_eq!( + p.parse().tokens, + vec![ + Token::Tag { + val: Val::Var { name: "a_b".into() } + }, + Token::Eof + ] + ); + } + #[test] fn var_prefixes() { let mut p = Parser::new("${[ -a ]}${[ _a ]}${[ 0a ]}");