rustdoc: improve <wbr>
-insertion for SCREAMING_CAMEL_CASE
This commit is contained in:
parent
7caad69253
commit
e23419fc97
@ -108,7 +108,7 @@ 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() && !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;
|
||||||
|
@ -24,6 +24,10 @@ fn escape_body_text_with_wbr() {
|
|||||||
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");
|
||||||
|
assert_eq!(
|
||||||
|
&E("_SIDD_MASKED_NEGATIVE_POLARITY").to_string(),
|
||||||
|
"_SIDD_<wbr>MASKED_<wbr>NEGATIVE_<wbr>POLARITY"
|
||||||
|
);
|
||||||
// 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
|
||||||
|
Loading…
Reference in New Issue
Block a user