Merge pull request #2905 from ehuss/fix-indented-code-block
Fix rust fenced code blocks with an indent
This commit is contained in:
commit
3fa49214ad
6 changed files with 35 additions and 1 deletions
|
|
@ -141,8 +141,15 @@ fn partition_rust_source(s: &str) -> (&str, &str) {
|
|||
let split_idx = match HEADER_RE.captures(s) {
|
||||
Some(caps) => {
|
||||
let attributes = &caps[1];
|
||||
if attributes.trim().is_empty() {
|
||||
// Don't include pure whitespace as an attribute. The
|
||||
// whitespace in the regex is intended to handle multiple
|
||||
// attributes *separated* by potential whitespace.
|
||||
0
|
||||
} else {
|
||||
attributes.len()
|
||||
}
|
||||
}
|
||||
None => 0,
|
||||
};
|
||||
s.split_at(split_idx)
|
||||
|
|
@ -179,4 +186,8 @@ fn it_partitions_rust_source() {
|
|||
),
|
||||
("\n#![allow(foo)]\n\n#![allow(bar)]\n\n", "let x = 1;")
|
||||
);
|
||||
assert_eq!(
|
||||
partition_rust_source(" // Example"),
|
||||
("", " // Example")
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -223,3 +223,9 @@ Html text was:
|
|||
fn html_blocks() {
|
||||
BookTest::from_dir("rendering/html_blocks").check_all_main_files();
|
||||
}
|
||||
|
||||
// Test for a fenced code block that is also indented.
|
||||
#[test]
|
||||
fn code_block_fenced_with_indent() {
|
||||
BookTest::from_dir("rendering/code_blocks_fenced_with_indent").check_all_main_files();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
[book]
|
||||
title = "code_blocks_fenced_with_indent"
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<h1 id="code-blocks-fenced-with-indent"><a class="header" href="#code-blocks-fenced-with-indent">Code blocks fenced with indent</a></h1>
|
||||
<pre class="playground"><code class="language-rust"><span class="boring">#![allow(unused)]
|
||||
</span><span class="boring">fn main() {
|
||||
</span> // This has a first line that is indented.
|
||||
println!("hello");
|
||||
<span class="boring">}</span></code></pre>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# Summary
|
||||
|
||||
- [Code blocks fenced with indent](./code-blocks-fenced-with-indent.md)
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
# Code blocks fenced with indent
|
||||
|
||||
```rust
|
||||
// This has a first line that is indented.
|
||||
println!("hello");
|
||||
```
|
||||
Loading…
Add table
Reference in a new issue