bevy/crates/bevy_encase_derive/src/lib.rs

38 lines
1.1 KiB
Rust
Raw Normal View History

// FIXME(3492): remove once docs are ready
#![allow(missing_docs)]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![doc(
html_logo_url = "https://bevyengine.org/assets/icon.png",
html_favicon_url = "https://bevyengine.org/assets/icon.png"
)]
use bevy_macro_utils::BevyManifest;
use encase_derive_impl::{implement, syn};
const ENCASE: &str = "encase";
fn bevy_encase_path() -> syn::Path {
let bevy_manifest = BevyManifest::default();
bevy_manifest
.get_subcrate("render")
.map(|bevy_render_path| {
let mut segments = bevy_render_path.segments;
segments.push(BevyManifest::parse_str("render_resource"));
syn::Path {
leading_colon: None,
segments,
}
})
.map(|path| {
let mut segments = path.segments;
segments.push(BevyManifest::parse_str(ENCASE));
syn::Path {
leading_colon: None,
segments,
}
})
.unwrap_or_else(|| bevy_manifest.get_path(ENCASE))
}
implement!(bevy_encase_path());