diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2021-01-16 11:54:54 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2021-01-16 11:54:54 +0000 |
commit | ac032d01f41ad8da67ccaae35bf8cfd62054683a (patch) | |
tree | b2b3b4ea20a96f2a505c2cc579dc250676b82d83 /src/typeset.rs | |
parent | e5ae0c58c64de7f6304aa144f502d8fe88de9e68 (diff) | |
download | subplot-ac032d01f41ad8da67ccaae35bf8cfd62054683a.tar.gz |
typeset: recognise noNumberLines to invert default numberLines
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'src/typeset.rs')
-rw-r--r-- | src/typeset.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/typeset.rs b/src/typeset.rs index c421e58..a30df6f 100644 --- a/src/typeset.rs +++ b/src/typeset.rs @@ -32,7 +32,15 @@ pub fn file_block(attr: &Attr, text: &str) -> Block { let filename = inlinestr(&attr.0); let filename = Inline::Strong(vec![filename]); let intro = Block::Para(vec![inlinestr("File:"), space(), filename]); - let codeblock = Block::CodeBlock(attr.clone(), text.to_string()); + let mut cbattrs = attr.clone(); + if cbattrs.1.iter().any(|s| s == "noNumberLines") { + // If the block says "noNumberLines" we remove that class + cbattrs.1.retain(|s| s != "noNumberLines"); + } else if cbattrs.1.iter().all(|s| s != "numberLines") { + // Otherwise if it doesn't say numberLines we add that in. + cbattrs.1.push("numberLines".to_string()); + } + let codeblock = Block::CodeBlock(cbattrs, text.to_string()); let noattr = ("".to_string(), vec![], vec![]); Block::Div(noattr, vec![intro, codeblock]) } |