Merge branch 'rust-lang:master' into master

This commit is contained in:
Jianpeng Hou 2024-01-17 08:47:24 +08:00 committed by GitHub
commit a3836121c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 7 deletions

View File

@ -28,7 +28,6 @@ log = "0.4.17"
memchr = "2.5.0" memchr = "2.5.0"
opener = "0.6.1" opener = "0.6.1"
pulldown-cmark = { version = "0.9.3", default-features = false } pulldown-cmark = { version = "0.9.3", default-features = false }
pathdiff = "0.2.1"
regex = "1.8.1" regex = "1.8.1"
serde = { version = "1.0.163", features = ["derive"] } serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96" serde_json = "1.0.96"
@ -41,6 +40,7 @@ topological-sort = "0.2.2"
notify = { version = "6.1.1", optional = true } notify = { version = "6.1.1", optional = true }
notify-debouncer-mini = { version = "0.4.1", optional = true } notify-debouncer-mini = { version = "0.4.1", optional = true }
ignore = { version = "0.4.20", optional = true } ignore = { version = "0.4.20", optional = true }
pathdiff = { version = "0.2.1", optional = true }
# Serve feature # Serve feature
futures-util = { version = "0.3.28", optional = true } futures-util = { version = "0.3.28", optional = true }
@ -61,7 +61,7 @@ walkdir = "2.3.3"
[features] [features]
default = ["watch", "serve", "search"] default = ["watch", "serve", "search"]
watch = ["dep:notify", "dep:notify-debouncer-mini", "dep:ignore"] watch = ["dep:notify", "dep:notify-debouncer-mini", "dep:ignore", "dep:pathdiff"]
serve = ["dep:futures-util", "dep:tokio", "dep:warp"] serve = ["dep:futures-util", "dep:tokio", "dep:warp"]
search = ["dep:elasticlunr-rs", "dep:ammonia"] search = ["dep:elasticlunr-rs", "dep:ammonia"]

View File

@ -939,8 +939,9 @@ fn add_playground_pre(
/// Modifies all `<code>` blocks to convert "hidden" lines and to wrap them in /// Modifies all `<code>` blocks to convert "hidden" lines and to wrap them in
/// a `<span class="boring">`. /// a `<span class="boring">`.
fn hide_lines(html: &str, code_config: &Code) -> String { fn hide_lines(html: &str, code_config: &Code) -> String {
let language_regex = Regex::new(r"\blanguage-(\w+)\b").unwrap(); static LANGUAGE_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"\blanguage-(\w+)\b").unwrap());
let hidelines_regex = Regex::new(r"\bhidelines=(\S+)").unwrap(); static HIDELINES_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"\bhidelines=(\S+)").unwrap());
CODE_BLOCK_RE CODE_BLOCK_RE
.replace_all(html, |caps: &Captures<'_>| { .replace_all(html, |caps: &Captures<'_>| {
let text = &caps[1]; let text = &caps[1];
@ -955,12 +956,12 @@ fn hide_lines(html: &str, code_config: &Code) -> String {
) )
} else { } else {
// First try to get the prefix from the code block // First try to get the prefix from the code block
let hidelines_capture = hidelines_regex.captures(classes); let hidelines_capture = HIDELINES_REGEX.captures(classes);
let hidelines_prefix = match &hidelines_capture { let hidelines_prefix = match &hidelines_capture {
Some(capture) => Some(&capture[1]), Some(capture) => Some(&capture[1]),
None => { None => {
// Then look up the prefix by language // Then look up the prefix by language
language_regex.captures(classes).and_then(|capture| { LANGUAGE_REGEX.captures(classes).and_then(|capture| {
code_config.hidelines.get(&capture[1]).map(|p| p.as_str()) code_config.hidelines.get(&capture[1]).map(|p| p.as_str())
}) })
} }

View File

@ -103,7 +103,7 @@ fn find_chapter(
} }
} }
previous = Some(item.clone()); previous = Some(item);
} }
_ => continue, _ => continue,
} }