diff options
| author | Michael Howell <michael@notriddle.com> | 2024-07-06 19:07:22 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2024-07-29 10:30:56 -0700 |
| commit | 1d339b07ca84743710dc87dc0bc4c0597006ed59 (patch) | |
| tree | af74e9afe05e1faefefb6480682873d551cb7274 /src/librustdoc/html/render | |
| parent | 9186001f3491c0eb996de6f61a457cecfb089333 (diff) | |
rustdoc: use `<wbr>` in sidebar headers
This also improves sidebar layout, so instead of
BTreeM
ap
you get this
BTree
Map
Diffstat (limited to 'src/librustdoc/html/render')
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/render/sidebar.rs | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index aaac8678264..b5cc495ce41 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -30,7 +30,7 @@ mod tests; mod context; mod print_item; -mod sidebar; +pub(crate) mod sidebar; mod span_map; mod type_layout; mod write_shared; diff --git a/src/librustdoc/html/render/sidebar.rs b/src/librustdoc/html/render/sidebar.rs index 6e826446c0e..101cc839f09 100644 --- a/src/librustdoc/html/render/sidebar.rs +++ b/src/librustdoc/html/render/sidebar.rs @@ -77,6 +77,22 @@ impl<'a> Link<'a> { } } +pub(crate) mod filters { + use std::fmt::Display; + + use rinja::filters::Safe; + + use crate::html::escape::EscapeBodyTextWithWbr; + use crate::html::render::display_fn; + pub(crate) fn wrapped<T>(v: T) -> rinja::Result<Safe<impl Display>> + where + T: Display, + { + let string = v.to_string(); + Ok(Safe(display_fn(move |f| EscapeBodyTextWithWbr(&string).fmt(f)))) + } +} + pub(super) fn print_sidebar(cx: &Context<'_>, it: &clean::Item, buffer: &mut Buffer) { let blocks: Vec<LinkBlock<'_>> = match *it.kind { clean::StructItem(ref s) => sidebar_struct(cx, it, s), |
