Skip to content

Commit

Permalink
Merge pull request #571 from triallax/lowercase-currencies
Browse files Browse the repository at this point in the history
Add lowercase aliases for currency units
  • Loading branch information
sharkdp authored Sep 24, 2024
2 parents e61ea62 + d4dcbf7 commit b129ad6
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 56 deletions.
56 changes: 28 additions & 28 deletions book/src/list-units.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,36 +122,36 @@ and — where sensible — units allow for [binary prefixes](https://en.wikipedi
| `Mass` | [Tonne](https://en.wikipedia.org/wiki/Tonne) | `metricton`, `ton`, `tonne`, `tonnes`, `tons` |
| `Molality` | [Molal](https://en.wikipedia.org/wiki/Molality) | `molal` |
| `Molarity` | [Molar](https://en.wikipedia.org/wiki/Molar_concentration) | `molar` |
| `Money` | [Australian dollar](https://en.wikipedia.org/wiki/Australian_dollar) | `A$`, `AUD`, `australian_dollar`, `australian_dollars` |
| `Money` | [Brazilian real](https://en.wikipedia.org/wiki/Brazilian_real) | `brazilian_real`, `brazilian_reals`, `BRL`, `R$` |
| `Money` | [Pound sterling](https://en.wikipedia.org/wiki/Pound_sterling) | `british_pound`, `GBP`, `pound_sterling`, `£` |
| `Money` | [Bulgarian lev](https://en.wikipedia.org/wiki/Bulgarian_lev) | `BGN`, `bulgarian_lev`, `bulgarian_leva` |
| `Money` | [Canadian dollar](https://en.wikipedia.org/wiki/Canadian_dollar) | `C$`, `CAD`, `canadian_dollar`, `canadian_dollars` |
| `Money` | [Czech koruna](https://en.wikipedia.org/wiki/Czech_koruna) | `czech_koruna`, `czech_korunas`, `CZK`, `` |
| `Money` | [Danish krone](https://en.wikipedia.org/wiki/Danish_krone) | `danish_krone`, `danish_kroner`, `DKK` |
| `Money` | [US dollar](https://en.wikipedia.org/wiki/United_States_dollar) | `$`, `dollar`, `dollars`, `USD` |
| `Money` | [Australian dollar](https://en.wikipedia.org/wiki/Australian_dollar) | `A$`, `AUD`, `aud`, `australian_dollar`, `australian_dollars` |
| `Money` | [Brazilian real](https://en.wikipedia.org/wiki/Brazilian_real) | `brazilian_real`, `brazilian_reals`, `BRL`, `brl`, `R$`, `r$` |
| `Money` | [Pound sterling](https://en.wikipedia.org/wiki/Pound_sterling) | `british_pound`, `GBP`, `gbp`, `pound_sterling`, `£` |
| `Money` | [Bulgarian lev](https://en.wikipedia.org/wiki/Bulgarian_lev) | `BGN`, `bgn`, `bulgarian_lev`, `bulgarian_leva` |
| `Money` | [Canadian dollar](https://en.wikipedia.org/wiki/Canadian_dollar) | `C$`, `c$`, `CAD`, `cad`, `canadian_dollar`, `canadian_dollars` |
| `Money` | [Czech koruna](https://en.wikipedia.org/wiki/Czech_koruna) | `czech_koruna`, `czech_korunas`, `CZK`, `czk`, `` |
| `Money` | [Danish krone](https://en.wikipedia.org/wiki/Danish_krone) | `danish_krone`, `danish_kroner`, `DKK`, `dkk` |
| `Money` | [US dollar](https://en.wikipedia.org/wiki/United_States_dollar) | `$`, `dollar`, `dollars`, `USD`, `usd` |
| `Money` | [Euro](https://en.wikipedia.org/wiki/Euro) | `EUR`, `euro`, `euros`, `` |
| `Money` | [Hong Kong dollar](https://en.wikipedia.org/wiki/Hong_Kong_dollar) | `HK$`, `HKD`, `hong_kong_dollar`, `hong_kong_dollars` |
| `Money` | [Hungarian forint](https://en.wikipedia.org/wiki/Hungarian_forint) | `Ft`, `HUF`, `hungarian_forint`, `hungarian_forints` |
| `Money` | [Icelandic króna](https://en.wikipedia.org/wiki/Icelandic_króna) | `icelandic_krona`, `icelandic_kronur`, `icelandic_króna`, `icelandic_krónur`, `ISK` |
| `Money` | [Indian rupee](https://en.wikipedia.org/wiki/Indian_rupee) | `indian_rupee`, `indian_rupees`, `INR`, `` |
| `Money` | [Indonesian rupiah](https://en.wikipedia.org/wiki/Indonesian_rupiah) | `IDR`, `indonesian_rupiah`, `indonesian_rupiahs`, `Rp` |
| `Money` | [Israeli new shekel](https://en.wikipedia.org/wiki/Israeli_new_shekel) | `ILS`, `israeli_new_shekel`, `israeli_new_shekels`, `NIS`, `` |
| `Money` | [Hong Kong dollar](https://en.wikipedia.org/wiki/Hong_Kong_dollar) | `HK$`, `hk$`, `HKD`, `hkd`, `hong_kong_dollar`, `hong_kong_dollars` |
| `Money` | [Hungarian forint](https://en.wikipedia.org/wiki/Hungarian_forint) | `Ft`, `HUF`, `huf`, `hungarian_forint`, `hungarian_forints` |
| `Money` | [Icelandic króna](https://en.wikipedia.org/wiki/Icelandic_króna) | `icelandic_krona`, `icelandic_kronur`, `icelandic_króna`, `icelandic_krónur`, `ISK`, `isk` |
| `Money` | [Indian rupee](https://en.wikipedia.org/wiki/Indian_rupee) | `indian_rupee`, `indian_rupees`, `INR`, `inr`, `` |
| `Money` | [Indonesian rupiah](https://en.wikipedia.org/wiki/Indonesian_rupiah) | `IDR`, `idr`, `indonesian_rupiah`, `indonesian_rupiahs`, `Rp` |
| `Money` | [Israeli new shekel](https://en.wikipedia.org/wiki/Israeli_new_shekel) | `ILS`, `ils`, `israeli_new_shekel`, `israeli_new_shekels`, `NIS`, `nis`, `` |
| `Money` | [Malaysian ringgit](https://en.wikipedia.org/wiki/Malaysian_ringgit) | `malaysian_ringgit`, `malaysian_ringgits`, `MYR`, `RM` |
| `Money` | [New Zealand dollar](https://en.wikipedia.org/wiki/New_Zealand_dollar) | `new_zealand_dollar`, `new_zealand_dollars`, `NZ$`, `NZD` |
| `Money` | [Norwegian krone](https://en.wikipedia.org/wiki/Norwegian_krone) | `NOK`, `norwegian_krone`, `norwegian_kroner` |
| `Money` | [Philippine peso](https://en.wikipedia.org/wiki/Philippine_peso) | `philippine_peso`, `philippine_pesos`, `PHP`, `` |
| `Money` | [Polish złoty](https://en.wikipedia.org/wiki/Polish_złoty) | `PLN`, `polish_zloty`, `polish_zlotys`, `` |
| `Money` | [Chinese yuan](https://en.wikipedia.org/wiki/Renminbi) | `CNY`, `renminbi`, `yuan`, `` |
| `Money` | [Romanian leu](https://en.wikipedia.org/wiki/Romanian_leu) | `lei`, `romanian_leu`, `romanian_leus`, `RON` |
| `Money` | [Singapore dollar](https://en.wikipedia.org/wiki/Singapore_dollar) | `S$`, `SGD`, `singapore_dollar`, `singapore_dollars` |
| `Money` | [South African rand](https://en.wikipedia.org/wiki/South_African_rand) | `south_african_rand`, `ZAR` |
| `Money` | [South Korean won](https://en.wikipedia.org/wiki/South_Korean_won) | `KRW`, `south_korean_won`, `south_korean_wons`, `` |
| `Money` | [Swedish krona](https://en.wikipedia.org/wiki/Swedish_krona) | `SEK`, `swedish_krona`, `swedish_kronor` |
| `Money` | [Swiss franc](https://en.wikipedia.org/wiki/Swiss_franc) | `CHF`, `swiss_franc`, `swiss_francs` |
| `Money` | [Thai baht](https://en.wikipedia.org/wiki/Thai_baht) | `thai_baht`, `thai_bahts`, `THB`, `฿` |
| `Money` | [Turkish lira](https://en.wikipedia.org/wiki/Turkish_lira) | `TRY`, `turkish_lira`, `turkish_liras`, `` |
| `Money` | [Japanese yen](https://en.wikipedia.org/wiki/Japanese_yen) | `JPY`, `yen`, `¥`, `` |
| `Money` | [New Zealand dollar](https://en.wikipedia.org/wiki/New_Zealand_dollar) | `new_zealand_dollar`, `new_zealand_dollars`, `NZ$`, `nz$`, `NZD`, `nzd` |
| `Money` | [Norwegian krone](https://en.wikipedia.org/wiki/Norwegian_krone) | `NOK`, `nok`, `norwegian_krone`, `norwegian_kroner` |
| `Money` | [Philippine peso](https://en.wikipedia.org/wiki/Philippine_peso) | `philippine_peso`, `philippine_pesos`, `PHP`, `php`, `` |
| `Money` | [Polish złoty](https://en.wikipedia.org/wiki/Polish_złoty) | `PLN`, `pln`, `polish_zloty`, `polish_zlotys`, `` |
| `Money` | [Chinese yuan](https://en.wikipedia.org/wiki/Renminbi) | `CNY`, `cny`, `renminbi`, `yuan`, `` |
| `Money` | [Romanian leu](https://en.wikipedia.org/wiki/Romanian_leu) | `lei`, `romanian_leu`, `romanian_leus`, `RON`, `ron` |
| `Money` | [Singapore dollar](https://en.wikipedia.org/wiki/Singapore_dollar) | `S$`, `SGD`, `sgd`, `singapore_dollar`, `singapore_dollars` |
| `Money` | [South African rand](https://en.wikipedia.org/wiki/South_African_rand) | `south_african_rand`, `ZAR`, `zar` |
| `Money` | [South Korean won](https://en.wikipedia.org/wiki/South_Korean_won) | `KRW`, `krw`, `south_korean_won`, `south_korean_wons`, `` |
| `Money` | [Swedish krona](https://en.wikipedia.org/wiki/Swedish_krona) | `SEK`, `sek`, `swedish_krona`, `swedish_kronor` |
| `Money` | [Swiss franc](https://en.wikipedia.org/wiki/Swiss_franc) | `CHF`, `chf`, `swiss_franc`, `swiss_francs` |
| `Money` | [Thai baht](https://en.wikipedia.org/wiki/Thai_baht) | `thai_baht`, `thai_bahts`, `THB`, `thb`, `฿` |
| `Money` | [Turkish lira](https://en.wikipedia.org/wiki/Turkish_lira) | `TRY`, `try`, `turkish_lira`, `turkish_liras`, `` |
| `Money` | [Japanese yen](https://en.wikipedia.org/wiki/Japanese_yen) | `JPY`, `jpy`, `yen`, `¥`, `` |
| `Person` | Person | `capita`, `people`, `person`, `persons` |
| `Piece` | Piece | `piece`, `pieces` |
| `Pixel` | [Pixel](https://en.wikipedia.org/wiki/Pixel) | `pixel`, `pixels`, `px` |
Expand Down
56 changes: 28 additions & 28 deletions numbat/modules/units/currencies.nbt
Original file line number Diff line number Diff line change
Expand Up @@ -10,92 +10,92 @@ fn exchange_rate(currency: String) -> Scalar

@name("US dollar")
@url("https://en.wikipedia.org/wiki/United_States_dollar")
@aliases(dollars, USD, $: short)
@aliases(dollars, USD, usd, $: short)
unit dollar: Money = EUR / exchange_rate("USD")

@name("Japanese yen")
@url("https://en.wikipedia.org/wiki/Japanese_yen")
@aliases(JPY, ¥: short, 円)
@aliases(JPY, jpy, ¥: short, 円)
unit yen: Money = EUR / exchange_rate("JPY")

@name("Pound sterling")
@url("https://en.wikipedia.org/wiki/Pound_sterling")
@aliases(pound_sterling, GBP, £: short)
@aliases(pound_sterling, GBP, gbp, £: short)
unit british_pound: Money = EUR / exchange_rate("GBP")

@name("Chinese yuan")
@url("https://en.wikipedia.org/wiki/Renminbi")
@aliases(yuan, CNY: short, 元)
@aliases(yuan, CNY: short, cny, 元)
unit renminbi: Money = EUR / exchange_rate("CNY")

@name("Australian dollar")
@url("https://en.wikipedia.org/wiki/Australian_dollar")
@aliases(australian_dollars, AUD: short, A$)
@aliases(australian_dollars, AUD: short, aud, A$)
unit australian_dollar: Money = EUR / exchange_rate("AUD")

@name("Canadian dollar")
@url("https://en.wikipedia.org/wiki/Canadian_dollar")
@aliases(canadian_dollars, CAD: short, C$)
@aliases(canadian_dollars, CAD: short, cad, C$, c$)
unit canadian_dollar: Money = EUR / exchange_rate("CAD")

@name("Swiss franc")
@url("https://en.wikipedia.org/wiki/Swiss_franc")
@aliases(swiss_francs, CHF: short)
@aliases(swiss_francs, CHF: short, chf)
unit swiss_franc: Money = EUR / exchange_rate("CHF")

@name("Bulgarian lev")
@url("https://en.wikipedia.org/wiki/Bulgarian_lev")
@aliases(bulgarian_leva, BGN: short)
@aliases(bulgarian_leva, BGN: short, bgn)
unit bulgarian_lev: Money = EUR / exchange_rate("BGN")

@name("Czech koruna")
@url("https://en.wikipedia.org/wiki/Czech_koruna")
@aliases(czech_korunas, CZK: short, Kč)
@aliases(czech_korunas, CZK: short, czk, Kč)
unit czech_koruna: Money = EUR / exchange_rate("CZK")

@name("Hungarian forint")
@url("https://en.wikipedia.org/wiki/Hungarian_forint")
@aliases(hungarian_forints, HUF: short, Ft)
@aliases(hungarian_forints, HUF: short, huf, Ft)
unit hungarian_forint: Money = EUR / exchange_rate("HUF")

@name("Polish złoty")
@url("https://en.wikipedia.org/wiki/Polish_złoty")
@aliases(polish_zlotys, PLN: short, zł)
@aliases(polish_zlotys, PLN: short, pln, zł)
unit polish_zloty: Money = EUR / exchange_rate("PLN")

@name("Romanian leu")
@url("https://en.wikipedia.org/wiki/Romanian_leu")
@aliases(romanian_leus, RON: short, lei)
@aliases(romanian_leus, RON: short, ron, lei)
unit romanian_leu: Money = EUR / exchange_rate("RON")

@name("Turkish lira")
@url("https://en.wikipedia.org/wiki/Turkish_lira")
@aliases(turkish_liras, TRY: short, ₺)
@aliases(turkish_liras, TRY: short, try, ₺)
unit turkish_lira: Money = EUR / exchange_rate("TRY")

@name("Brazilian real")
@url("https://en.wikipedia.org/wiki/Brazilian_real")
@aliases(brazilian_reals, BRL: short, R$)
@aliases(brazilian_reals, BRL: short, brl, R$, r$)
unit brazilian_real: Money = EUR / exchange_rate("BRL")

@name("Hong Kong dollar")
@url("https://en.wikipedia.org/wiki/Hong_Kong_dollar")
@aliases(hong_kong_dollars, HKD: short, HK$)
@aliases(hong_kong_dollars, HKD: short, hkd, HK$, hk$)
unit hong_kong_dollar: Money = EUR / exchange_rate("HKD")

@name("Indonesian rupiah")
@url("https://en.wikipedia.org/wiki/Indonesian_rupiah")
@aliases(indonesian_rupiahs, IDR: short, Rp)
@aliases(indonesian_rupiahs, IDR: short, idr, Rp)
unit indonesian_rupiah: Money = EUR / exchange_rate("IDR")

@name("Indian rupee")
@url("https://en.wikipedia.org/wiki/Indian_rupee")
@aliases(indian_rupees, INR: short, ₹)
@aliases(indian_rupees, INR: short, inr, ₹)
unit indian_rupee: Money = EUR / exchange_rate("INR")

@name("South Korean won")
@url("https://en.wikipedia.org/wiki/South_Korean_won")
@aliases(south_korean_wons, KRW: short, ₩)
@aliases(south_korean_wons, KRW: short, krw, ₩)
unit south_korean_won: Money = EUR / exchange_rate("KRW")

@name("Malaysian ringgit")
Expand All @@ -105,50 +105,50 @@ unit malaysian_ringgit: Money = EUR / exchange_rate("MYR")

@name("New Zealand dollar")
@url("https://en.wikipedia.org/wiki/New_Zealand_dollar")
@aliases(new_zealand_dollars, NZD: short, NZ$)
@aliases(new_zealand_dollars, NZD: short, nzd, NZ$, nz$)
unit new_zealand_dollar: Money = EUR / exchange_rate("NZD")

@name("Philippine peso")
@url("https://en.wikipedia.org/wiki/Philippine_peso")
@aliases(philippine_pesos, PHP: short, ₱)
@aliases(philippine_pesos, PHP: short, php, ₱)
unit philippine_peso: Money = EUR / exchange_rate("PHP")

@name("Singapore dollar")
@url("https://en.wikipedia.org/wiki/Singapore_dollar")
@aliases(singapore_dollars, SGD: short, S$)
@aliases(singapore_dollars, SGD: short, sgd, S$)
unit singapore_dollar: Money = EUR / exchange_rate("SGD")

@name("Thai baht")
@url("https://en.wikipedia.org/wiki/Thai_baht")
@aliases(thai_bahts, THB: short, ฿)
@aliases(thai_bahts, THB: short, thb, ฿)
unit thai_baht: Money = EUR / exchange_rate("THB")

@name("Danish krone")
@url("https://en.wikipedia.org/wiki/Danish_krone")
@aliases(danish_kroner, DKK: short)
@aliases(danish_kroner, DKK: short, dkk)
unit danish_krone: Money = EUR / exchange_rate("DKK")

@name("Swedish krona")
@url("https://en.wikipedia.org/wiki/Swedish_krona")
@aliases(swedish_kronor, SEK: short)
@aliases(swedish_kronor, SEK: short, sek)
unit swedish_krona: Money = EUR / exchange_rate("SEK")

@name("Icelandic króna")
@url("https://en.wikipedia.org/wiki/Icelandic_króna")
@aliases(icelandic_krónur, icelandic_krona, icelandic_kronur, ISK: short)
@aliases(icelandic_krónur, icelandic_krona, icelandic_kronur, ISK: short, isk)
unit icelandic_króna: Money = EUR / exchange_rate("ISK")

@name("Norwegian krone")
@url("https://en.wikipedia.org/wiki/Norwegian_krone")
@aliases(norwegian_kroner, NOK: short)
@aliases(norwegian_kroner, NOK: short, nok)
unit norwegian_krone: Money = EUR / exchange_rate("NOK")

@name("Israeli new shekel")
@url("https://en.wikipedia.org/wiki/Israeli_new_shekel")
@aliases(israeli_new_shekels, ILS: short, ₪, NIS)
@aliases(israeli_new_shekels, ILS: short, ils, ₪, NIS, nis)
unit israeli_new_shekel: Money = EUR / exchange_rate("ILS")

@name("South African rand")
@url("https://en.wikipedia.org/wiki/South_African_rand")
@aliases(ZAR: short)
@aliases(ZAR: short, zar)
unit south_african_rand: Money = EUR / exchange_rate("ZAR")
31 changes: 31 additions & 0 deletions numbat/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -612,20 +612,25 @@ impl Context {
const CURRENCY_IDENTIFIERS: &[&str] = &[
"$",
"USD",
"usd",
"dollar",
"dollars",
"A$",
"AUD",
"aud",
"australian_dollar",
"australian_dollars",
"C$",
"CAD",
"cad",
"canadian_dollar",
"canadian_dollars",
"CHF",
"chf",
"swiss_franc",
"swiss_francs",
"CNY",
"cny",
"yuan",
"renminbi",
"元",
Expand All @@ -634,56 +639,70 @@ impl Context {
"euros",
"€",
"GBP",
"gbp",
"british_pound",
"pound_sterling",
"£",
"JPY",
"jpy",
"yen",
"yens",
"¥",
"円",
"bulgarian_lev",
"bulgarian_leva",
"BGN",
"bgn",
"czech_koruna",
"czech_korunas",
"CZK",
"czk",
"Kč",
"hungarian_forint",
"hungarian_forints",
"HUF",
"huf",
"Ft",
"polish_zloty",
"polish_zlotys",
"PLN",
"pln",
"zł",
"romanian_leu",
"romanian_leus",
"RON",
"ron",
"lei",
"turkish_lira",
"turkish_liras",
"TRY",
"try",
"₺",
"brazilian_real",
"brazilian_reals",
"BRL",
"brl",
"R$",
"hong_kong_dollar",
"hong_kong_dollars",
"HKD",
"hkd",
"HK$",
"hk$",
"indonesian_rupiah",
"indonesian_rupiahs",
"IDR",
"idr",
"Rp",
"indian_rupee",
"indian_rupees",
"INR",
"inr",
"₹",
"south_korean_won",
"south_korean_wons",
"KRW",
"krw",
"₩",
"malaysian_ringgit",
"malaysian_ringgits",
Expand All @@ -692,38 +711,50 @@ impl Context {
"new_zealand_dollar",
"new_zealand_dollars",
"NZD",
"nzd",
"NZ$",
"nz$",
"philippine_peso",
"philippine_pesos",
"PHP",
"php",
"₱",
"singapore_dollar",
"singapore_dollars",
"SGD",
"sgd",
"S$",
"thai_baht",
"thai_bahts",
"THB",
"thb",
"฿",
"danish_krone",
"danish_kroner",
"DKK",
"dkk",
"swedish_krona",
"swedish_kronor",
"SEK",
"sek",
"icelandic_króna",
"icelandic_krónur",
"ISK",
"isk",
"norwegian_krone",
"norwegian_kroner",
"NOK",
"nok",
"israeli_new_shekel",
"israeli_new_shekels",
"ILS",
"ils",
"₪",
"NIS",
"nis",
"south_african_rand",
"ZAR",
"zar",
];
if CURRENCY_IDENTIFIERS.contains(&identifier.as_str()) {
let mut no_print_settings = InterpreterSettings {
Expand Down

0 comments on commit b129ad6

Please sign in to comment.