rustdoc: move the wbr after the underscore, instead of before
This commit is contained in:
parent
3bf8bcfbe0
commit
ac303df4e2
@ -108,13 +108,13 @@ fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
|
|||||||
|| pk.map_or(true, |(_, t)| t.chars().any(|c| c.is_uppercase()));
|
|| pk.map_or(true, |(_, t)| t.chars().any(|c| c.is_uppercase()));
|
||||||
let next_is_underscore = || pk.map_or(true, |(_, t)| t.contains('_'));
|
let next_is_underscore = || pk.map_or(true, |(_, t)| t.contains('_'));
|
||||||
let next_is_colon = || pk.map_or(true, |(_, t)| t.contains(':'));
|
let next_is_colon = || pk.map_or(true, |(_, t)| t.contains(':'));
|
||||||
if (i - last > 3 && is_uppercase() && !next_is_uppercase())
|
if i - last > 3 && is_uppercase() && !next_is_uppercase() {
|
||||||
|| (s.contains('_') && !next_is_underscore())
|
|
||||||
{
|
|
||||||
EscapeBodyText(&text[last..i]).fmt(fmt)?;
|
EscapeBodyText(&text[last..i]).fmt(fmt)?;
|
||||||
fmt.write_str("<wbr>")?;
|
fmt.write_str("<wbr>")?;
|
||||||
last = i;
|
last = i;
|
||||||
} else if s.contains(':') && !next_is_colon() {
|
} else if (s.contains(':') && !next_is_colon())
|
||||||
|
|| (s.contains('_') && !next_is_underscore())
|
||||||
|
{
|
||||||
EscapeBodyText(&text[last..i + 1]).fmt(fmt)?;
|
EscapeBodyText(&text[last..i + 1]).fmt(fmt)?;
|
||||||
fmt.write_str("<wbr>")?;
|
fmt.write_str("<wbr>")?;
|
||||||
last = i + 1;
|
last = i + 1;
|
||||||
|
@ -14,16 +14,16 @@ fn escape_body_text_with_wbr() {
|
|||||||
assert_eq!(&E(" ").to_string(), " ");
|
assert_eq!(&E(" ").to_string(), " ");
|
||||||
// real(istic) examples
|
// real(istic) examples
|
||||||
assert_eq!(&E("FirstSecond").to_string(), "First<wbr>Second");
|
assert_eq!(&E("FirstSecond").to_string(), "First<wbr>Second");
|
||||||
assert_eq!(&E("First_Second").to_string(), "First<wbr>_Second");
|
assert_eq!(&E("First_Second").to_string(), "First_<wbr>Second");
|
||||||
assert_eq!(&E("First Second").to_string(), "First Second");
|
assert_eq!(&E("First Second").to_string(), "First Second");
|
||||||
assert_eq!(&E("First HSecond").to_string(), "First HSecond");
|
assert_eq!(&E("First HSecond").to_string(), "First HSecond");
|
||||||
assert_eq!(&E("First HTTPSecond").to_string(), "First HTTP<wbr>Second");
|
assert_eq!(&E("First HTTPSecond").to_string(), "First HTTP<wbr>Second");
|
||||||
assert_eq!(&E("First SecondThird").to_string(), "First Second<wbr>Third");
|
assert_eq!(&E("First SecondThird").to_string(), "First Second<wbr>Third");
|
||||||
assert_eq!(&E("First<T>_Second").to_string(), "First<<wbr>T><wbr>_Second");
|
assert_eq!(&E("First<T>_Second").to_string(), "First<<wbr>T>_<wbr>Second");
|
||||||
assert_eq!(&E("first_second").to_string(), "first<wbr>_second");
|
assert_eq!(&E("first_second").to_string(), "first_<wbr>second");
|
||||||
assert_eq!(&E("first:second").to_string(), "first:<wbr>second");
|
assert_eq!(&E("first:second").to_string(), "first:<wbr>second");
|
||||||
assert_eq!(&E("first::second").to_string(), "first::<wbr>second");
|
assert_eq!(&E("first::second").to_string(), "first::<wbr>second");
|
||||||
assert_eq!(&E("MY_CONSTANT").to_string(), "MY<wbr>_CONSTANT");
|
assert_eq!(&E("MY_CONSTANT").to_string(), "MY_<wbr>CONSTANT");
|
||||||
// a string won't get wrapped if it's less than 8 bytes
|
// a string won't get wrapped if it's less than 8 bytes
|
||||||
assert_eq!(&E("HashSet").to_string(), "HashSet");
|
assert_eq!(&E("HashSet").to_string(), "HashSet");
|
||||||
// an individual word won't get wrapped if it's less than 4 bytes
|
// an individual word won't get wrapped if it's less than 4 bytes
|
||||||
|
@ -1 +1 @@
|
|||||||
<ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.MY_CONSTANT.html" title="constant item_desc_list_at_start::MY_CONSTANT">MY<wbr />_CONSTANT</a></div><div class="desc docblock-short">Groups: <code>SamplePatternSGIS</code>, <code>SamplePatternEXT</code></div></li></ul>
|
<ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.MY_CONSTANT.html" title="constant item_desc_list_at_start::MY_CONSTANT">MY_<wbr />CONSTANT</a></div><div class="desc docblock-short">Groups: <code>SamplePatternSGIS</code>, <code>SamplePatternEXT</code></div></li></ul>
|
Loading…
Reference in New Issue
Block a user