summaryrefslogtreecommitdiff
path: root/crates/typst-library/src/meta/mod.rs
diff options
context:
space:
mode:
authorSébastien d'Herbais de Thun <sebastien.d.herbais@gmail.com>2023-11-06 21:37:50 +0100
committerGitHub <noreply@github.com>2023-11-06 21:37:50 +0100
commitc0f6d2004afebfa9412ba0c2d598ef8287197c42 (patch)
tree4bb034ca671e7d1982a306f5aecfc4f78a01841d /crates/typst-library/src/meta/mod.rs
parent8fd546760c7c425398f0114997c8085a481d8d2a (diff)
Content rework 2 - Electric Boogaloo (#2504)
Diffstat (limited to 'crates/typst-library/src/meta/mod.rs')
-rw-r--r--crates/typst-library/src/meta/mod.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/crates/typst-library/src/meta/mod.rs b/crates/typst-library/src/meta/mod.rs
index 1019864f..ffe861ab 100644
--- a/crates/typst-library/src/meta/mod.rs
+++ b/crates/typst-library/src/meta/mod.rs
@@ -62,13 +62,15 @@ pub(super) fn define(global: &mut Scope) {
global.define_func::<query>();
}
-/// The named with which an element is referenced.
-pub trait LocalName {
- /// Get the name in the given language and (optionally) region.
- fn local_name(&self, lang: Lang, region: Option<Region>) -> &'static str;
-
- /// Resolve the local name with a style chain.
- fn local_name_in(&self, styles: StyleChain) -> &'static str {
- self.local_name(TextElem::lang_in(styles), TextElem::region_in(styles))
+/// An element that has a local name.
+pub trait LocalNameIn: LocalName {
+ /// Gets the local name from the style chain.
+ fn local_name_in(styles: StyleChain) -> &'static str
+ where
+ Self: Sized,
+ {
+ Self::local_name(TextElem::lang_in(styles), TextElem::region_in(styles))
}
}
+
+impl<T: LocalName> LocalNameIn for T {}