diff --git a/src/lexer.rs b/src/lexer.rs index 937fd60..8e80b35 100644 --- a/src/lexer.rs +++ b/src/lexer.rs @@ -637,11 +637,26 @@ fn lex_word(word: &str, lexer: &mut Lexer) -> Result<(), String> { "c" | "celsius" => Token::unit(Celsius), "f" | "fahrenheit" | "fahrenheits" => Token::unit(Fahrenheit), - // Currency units + "AU$" => Token::unit(AUD), + "R$" => Token::unit(BRL), + "CA$" | "C$" => Token::unit(CAD), "€" | "euro" | "euros" => Token::unit(EUR), - "$" => Token::unit(USD), "£" => Token::unit(GBP), + "HK$" => Token::unit(HKD), + "₹" | "Rs" => Token::unit(INR), + "₪" => Token::unit(ILS), "¥" => Token::unit(JPY), + "₩" => Token::unit(KRW), + "MX$" => Token::unit(MXN), + "NZ$" => Token::unit(NZD), + "₱" => Token::unit(PHP), + "zl" | "zł" => Token::unit(PLN), + "S$" => Token::unit(SGD), + "฿" => Token::unit(THB), + "tl" | "₺" => Token::unit(TRY), + "₴" => Token::unit(UAH), + "$" | "US$" => Token::unit(USD), + "₫" => Token::unit(VND), string if let Ok(unit) = currency_code_to_unit(string) => Token::unit(unit), string => {