summaryrefslogtreecommitdiff
path: root/library/src/meta/reference.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/src/meta/reference.rs')
-rw-r--r--library/src/meta/reference.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/library/src/meta/reference.rs b/library/src/meta/reference.rs
index adbc9f57..29b28828 100644
--- a/library/src/meta/reference.rs
+++ b/library/src/meta/reference.rs
@@ -184,10 +184,11 @@ impl Show for RefElem {
};
let lang = TextElem::lang_in(styles);
+ let region = TextElem::region_in(styles);
let reference = elem
.with::<dyn Refable>()
.expect("element should be refable")
- .reference(vt, supplement, lang)?;
+ .reference(vt, supplement, lang, region)?;
Ok(reference.linked(Destination::Location(elem.location().unwrap())))
}
@@ -259,21 +260,27 @@ pub trait Refable {
///
/// # Arguments
/// - `vt` - The virtual typesetter.
- /// - `styles` - The styles of the reference.
- /// - `location` - The location where the reference is being created.
/// - `supplement` - The supplement of the reference.
+ /// - `lang`: The language of the reference.
+ /// - `region`: The region of the reference.
fn reference(
&self,
vt: &mut Vt,
supplement: Option<Content>,
lang: Lang,
+ region: Option<Region>,
) -> SourceResult<Content>;
/// Tries to build an outline element for this element.
/// If this returns `None`, the outline will not include this element.
/// By default this just calls [`Refable::reference`].
- fn outline(&self, vt: &mut Vt, lang: Lang) -> SourceResult<Option<Content>> {
- self.reference(vt, None, lang).map(Some)
+ fn outline(
+ &self,
+ vt: &mut Vt,
+ lang: Lang,
+ region: Option<Region>,
+ ) -> SourceResult<Option<Content>> {
+ self.reference(vt, None, lang, region).map(Some)
}
/// Returns the level of this element.