Skip to content

Commit

Permalink
Add skeleton patterns in other calendar systems (#4850)
Browse files Browse the repository at this point in the history
  • Loading branch information
sffc committed Apr 30, 2024
1 parent b7aea49 commit daa13bb
Show file tree
Hide file tree
Showing 3,273 changed files with 49,854 additions and 98 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
30 changes: 15 additions & 15 deletions components/datetime/src/calendar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ impl CldrCalendar for Buddhist {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = BuddhistDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = BuddhistDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Chinese {
Expand All @@ -215,7 +215,7 @@ impl CldrCalendar for Chinese {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = ChineseDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = ChineseDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Coptic {
Expand All @@ -229,7 +229,7 @@ impl CldrCalendar for Coptic {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = CopticDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = CopticDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Dangi {
Expand All @@ -243,7 +243,7 @@ impl CldrCalendar for Dangi {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = DangiDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = DangiDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Ethiopian {
Expand All @@ -257,7 +257,7 @@ impl CldrCalendar for Ethiopian {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = EthiopianDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = EthiopianDateNeoSkeletonPatternsV1Marker;
fn is_identifier_allowed_for_calendar(value: &Value) -> bool {
*value == value!("ethiopic") || *value == value!("ethioaa")
}
Expand Down Expand Up @@ -288,7 +288,7 @@ impl CldrCalendar for Hebrew {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = HebrewDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = HebrewDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Indian {
Expand All @@ -302,7 +302,7 @@ impl CldrCalendar for Indian {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = IndianDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = IndianDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for IslamicCivil {
Expand All @@ -319,7 +319,7 @@ impl CldrCalendar for IslamicCivil {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = IslamicDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = IslamicDateNeoSkeletonPatternsV1Marker;
fn is_identifier_allowed_for_calendar(value: &Value) -> bool {
*value == value!("islamicc") || is_islamic_subcal(value, tinystr!(8, "civil"))
}
Expand All @@ -336,7 +336,7 @@ impl CldrCalendar for IslamicObservational {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = IslamicDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = IslamicDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for IslamicTabular {
Expand All @@ -353,7 +353,7 @@ impl CldrCalendar for IslamicTabular {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = IslamicDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = IslamicDateNeoSkeletonPatternsV1Marker;
fn is_identifier_allowed_for_calendar(value: &Value) -> bool {
is_islamic_subcal(value, tinystr!(8, "tbla"))
}
Expand All @@ -373,7 +373,7 @@ impl CldrCalendar for IslamicUmmAlQura {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = IslamicDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = IslamicDateNeoSkeletonPatternsV1Marker;
fn is_identifier_allowed_for_calendar(value: &Value) -> bool {
is_islamic_subcal(value, tinystr!(8, "umalqura"))
}
Expand All @@ -390,7 +390,7 @@ impl CldrCalendar for Japanese {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = JapaneseDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = JapaneseDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for JapaneseExtended {
Expand All @@ -404,7 +404,7 @@ impl CldrCalendar for JapaneseExtended {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = JapaneseExtendedDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = JapaneseExtendedDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Persian {
Expand All @@ -418,7 +418,7 @@ impl CldrCalendar for Persian {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = PersianDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = PersianDateNeoSkeletonPatternsV1Marker;
}

impl CldrCalendar for Roc {
Expand All @@ -432,7 +432,7 @@ impl CldrCalendar for Roc {
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DatePatternV1Marker = RocDatePatternV1Marker;
#[cfg(any(feature = "datagen", feature = "experimental"))]
type DateSkeletonPatternsV1Marker = NeverMarker<PackedSkeletonDataV1<'static>>; // TODO
type DateSkeletonPatternsV1Marker = RocDateNeoSkeletonPatternsV1Marker;
}

#[cfg(any(feature = "datagen", feature = "experimental"))]
Expand Down
28 changes: 26 additions & 2 deletions components/datetime/src/provider/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,6 @@ pub const KEYS: &[DataKey] = &[
#[cfg(feature = "experimental")]
neo::TimeNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::GregorianDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::BuddhistYearNamesV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::ChineseYearNamesV1Marker::KEY,
Expand Down Expand Up @@ -316,4 +314,30 @@ pub const KEYS: &[DataKey] = &[
neo::PersianDatePatternV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::RocDatePatternV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::BuddhistDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::ChineseDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::CopticDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::DangiDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::EthiopianDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::GregorianDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::HebrewDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::IndianDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::IslamicDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::JapaneseDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::JapaneseExtendedDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::PersianDateNeoSkeletonPatternsV1Marker::KEY,
#[cfg(feature = "experimental")]
neo::RocDateNeoSkeletonPatternsV1Marker::KEY,
];
19 changes: 15 additions & 4 deletions components/datetime/src/provider/neo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -619,10 +619,21 @@ impl AsULE for SkeletonDataIndex {
}

#[icu_provider::data_struct(
marker(
GregorianDateNeoSkeletonPatternsV1Marker,
"datetime/patterns/gregory/skeleton@1"
),
// date patterns
marker(BuddhistDateNeoSkeletonPatternsV1Marker, "datetime/patterns/buddhist/skeleton@1"),
marker(ChineseDateNeoSkeletonPatternsV1Marker, "datetime/patterns/chinese/skeleton@1"),
marker(CopticDateNeoSkeletonPatternsV1Marker, "datetime/patterns/coptic/skeleton@1"),
marker(DangiDateNeoSkeletonPatternsV1Marker, "datetime/patterns/dangi/skeleton@1"),
marker(EthiopianDateNeoSkeletonPatternsV1Marker, "datetime/patterns/ethiopic/skeleton@1"),
marker(GregorianDateNeoSkeletonPatternsV1Marker, "datetime/patterns/gregory/skeleton@1"),
marker(HebrewDateNeoSkeletonPatternsV1Marker, "datetime/patterns/hebrew/skeleton@1"),
marker(IndianDateNeoSkeletonPatternsV1Marker, "datetime/patterns/indian/skeleton@1"),
marker(IslamicDateNeoSkeletonPatternsV1Marker, "datetime/patterns/islamic/skeleton@1"),
marker(JapaneseDateNeoSkeletonPatternsV1Marker, "datetime/patterns/japanese/skeleton@1"),
marker(JapaneseExtendedDateNeoSkeletonPatternsV1Marker, "datetime/patterns/japanext/skeleton@1"),
marker(PersianDateNeoSkeletonPatternsV1Marker, "datetime/patterns/persian/skeleton@1"),
marker(RocDateNeoSkeletonPatternsV1Marker, "datetime/patterns/roc/skeleton@1"),
// Time patterns
marker(TimeNeoSkeletonPatternsV1Marker, "datetime/patterns/time_skeleton@1")
)]
#[derive(Debug, PartialEq, Clone)]
Expand Down
60 changes: 60 additions & 0 deletions provider/baked/datetime/data/macros.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit daa13bb

Please sign in to comment.