Create `cli_macros` shim crate

finchie
Feb 18, 2024, 12:32 AM
SHNZZSZGIBTTD4IV5SMW5BIN5DORUWQVTVTNB5RMRD5CTFNOMJ6AC

Dependencies

Change contents

  • file addition: cli_macros (d--r------)
    [5.1]
  • file addition: src (d--r------)
    [0.22]
  • file addition: lib.rs (----------)
    [0.39]
    //! A proc_macro shim for other crates in this workspace
    use proc_macro::TokenStream;
    use quote::quote;
    use syn::parse_macro_input;
    #[proc_macro_attribute]
    pub fn localize(attribute: TokenStream, item: TokenStream) -> TokenStream {
    let parsed_attribute: syn::LitStr = parse_macro_input!(attribute);
    let parsed_enum: syn::ItemEnum = parse_macro_input!(item);
    let enum_impl = fluent_embed::localize(
    parsed_attribute.clone(),
    parsed_enum.ident.clone(),
    parsed_enum.variants.clone(),
    );
    quote! {
    #parsed_enum
    #enum_impl
    }
    .into()
    }
  • file addition: Cargo.toml (----------)
    [0.22]
    [package]
    name = "cli_macros"
    version = "0.1.0"
    edition = "2021"
    [lib]
    proc-macro = true
    [lints]
    workspace = true
    [dependencies]
    fluent_embed = { path = "../fluent_embed" }
    syn = { version = "2.0.48", features = ["full", "extra-traits"] }
    quote = "1.0.35"
    [dev-dependencies]
    icu_locid = "1.4.0"
    icu_plurals = "1.4.0"
  • replacement in Cargo.toml at line 2
    [3.210][2.1579:1623]()
    members = ["fluent_embed", "output-macros"]
    [3.210]
    [3.238]
    members = ["fluent_embed", "output-macros", "cli_macros"]
  • edit in Cargo.lock at line 4
    [6.4381]
    [2.1624]
    [[package]]
    name = "cli_macros"
    version = "0.1.0"
    dependencies = [
    "fluent_embed",
    "icu_locid",
    "icu_plurals",
    "quote",
    "syn",
    ]
    [[package]]
    name = "displaydoc"
    version = "0.2.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
    ]
    [[package]]
    name = "fixed_decimal"
    version = "0.5.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "cbc7fdec9d7f6671a3ebb3282c969962aba67c49f6abac5311959b65cafabc10"
    dependencies = [
    "displaydoc",
    "smallvec",
    "writeable",
    ]
  • edit in Cargo.lock at line 66
    [2.2206]
    [2.2206]
    ]
    [[package]]
    name = "icu_locid"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "5c0aa2536adc14c07e2a521e95512b75ed8ef832f0fdf9299d4a0a45d2be2a9d"
    dependencies = [
    "displaydoc",
    "litemap",
    "tinystr",
    "writeable",
    "zerovec",
    ]
    [[package]]
    name = "icu_locid_transform"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "57c17d8f6524fdca4471101dd71f0a132eb6382b5d6d7f2970441cb25f6f435a"
    dependencies = [
    "displaydoc",
    "icu_locid",
    "icu_locid_transform_data",
    "icu_provider",
    "tinystr",
    "zerovec",
    ]
    [[package]]
    name = "icu_locid_transform_data"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "545c6c3e8bf9580e2dafee8de6f9ec14826aaf359787789c7724f1f85f47d3dc"
    [[package]]
    name = "icu_plurals"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "37d807b123eb2a9ae8f12080fb8cce479f5c8a761fba0bb5ab52da6dd5e31a03"
    dependencies = [
    "displaydoc",
    "fixed_decimal",
    "icu_locid",
    "icu_locid_transform",
    "icu_plurals_data",
    "icu_provider",
    "zerovec",
    ]
    [[package]]
    name = "icu_plurals_data"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "c3acd5f1f2f988ed2dae9316c3d3560dfe4e03a7516d142b4b89b92252ada41a"
    [[package]]
    name = "icu_provider"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "ba58e782287eb6950247abbf11719f83f5d4e4a5c1f2cd490d30a334bc47c2f4"
    dependencies = [
    "displaydoc",
    "icu_locid",
    "icu_provider_macros",
    "stable_deref_trait",
    "tinystr",
    "writeable",
    "yoke",
    "zerofrom",
    "zerovec",
  • edit in Cargo.lock at line 140
    [2.2221]
    [3.343]
    name = "icu_provider_macros"
    version = "1.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
    ]
    [[package]]
    name = "litemap"
    version = "0.7.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "f9d642685b028806386b2b6e75685faadd3eb65a85fff7df711ce18446a422da"
    [[package]]
  • edit in Cargo.lock at line 194
    [6.4959]
    [6.4959]
    name = "serde"
    version = "1.0.196"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
    dependencies = [
    "serde_derive",
    ]
    [[package]]
    name = "serde_derive"
    version = "1.0.196"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
    ]
    [[package]]
    name = "smallvec"
    version = "1.13.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
    [[package]]
    name = "stable_deref_trait"
    version = "1.2.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
    [[package]]
  • edit in Cargo.lock at line 234
    [6.5195]
    [2.2222]
    ]
    [[package]]
    name = "synstructure"
    version = "0.13.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
  • edit in Cargo.lock at line 268
    [2.2707]
    [6.5210]
    name = "tinystr"
    version = "0.7.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece"
    dependencies = [
    "displaydoc",
    "zerovec",
    ]
    [[package]]
  • edit in Cargo.lock at line 288
    [2.2913]
    [[package]]
    name = "writeable"
    version = "0.5.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "dad7bb64b8ef9c0aa27b6da38b452b0ee9fd82beaf276a87dd796fb55cbae14e"
    [[package]]
    name = "yoke"
    version = "0.7.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "65e71b2e4f287f467794c671e2b8f8a5f3716b3c829079a1c44740148eff07e4"
    dependencies = [
    "serde",
    "stable_deref_trait",
    "yoke-derive",
    "zerofrom",
    ]
    [[package]]
    name = "yoke-derive"
    version = "0.7.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
    "synstructure",
    ]
    [[package]]
    name = "zerofrom"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "655b0814c5c0b19ade497851070c640773304939a6c0fd5f5fb43da0696d05b7"
    dependencies = [
    "zerofrom-derive",
    ]
    [[package]]
    name = "zerofrom-derive"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
    "synstructure",
    ]
    [[package]]
    name = "zerovec"
    version = "0.10.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "eff4439ae91fb5c72b8abc12f3f2dbf51bd27e6eadb9f8a5bc8898dddb0e27ea"
    dependencies = [
    "yoke",
    "zerofrom",
    "zerovec-derive",
    ]
    [[package]]
    name = "zerovec-derive"
    version = "0.10.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
    dependencies = [
    "proc-macro2",
    "quote",
    "syn",
    ]