diff options
| author | Laurenz <laurmaedje@gmail.com> | 2024-11-11 15:11:44 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2024-11-13 10:21:40 +0100 |
| commit | 525154a730dfdb224fe2ced3dae0cfb33114fafa (patch) | |
| tree | c81f490cb6b2091146d787fdc044f7be530d8181 /crates/typst-library/src | |
| parent | 5625914872b2824388ce65f3fb184d913f29cbff (diff) | |
Add support for raw range spans
Diffstat (limited to 'crates/typst-library/src')
| -rw-r--r-- | crates/typst-library/src/lib.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/typst-library/src/lib.rs b/crates/typst-library/src/lib.rs index 4db377e9..bd135cdb 100644 --- a/crates/typst-library/src/lib.rs +++ b/crates/typst-library/src/lib.rs @@ -125,13 +125,13 @@ world_impl!(W for &W); pub trait WorldExt { /// Get the byte range for a span. /// - /// Returns `None` if the `Span` does not point into any source file. + /// Returns `None` if the `Span` does not point into any file. fn range(&self, span: Span) -> Option<Range<usize>>; } -impl<T: World> WorldExt for T { +impl<T: World + ?Sized> WorldExt for T { fn range(&self, span: Span) -> Option<Range<usize>> { - self.source(span.id()?).ok()?.range(span) + span.range().or_else(|| self.source(span.id()?).ok()?.range(span)) } } |
