markdown_that/plugins/cmark/inline/
backticks.rs

1//! Code spans
2//!
3//! `` `looks like this` ``
4//!
5//! <https://spec.commonmark.org/0.30/#code-span>
6use crate::generics::inline::code_pair;
7use crate::{MarkdownThat, Node, NodeValue, Renderer};
8
9#[derive(Debug)]
10pub struct CodeInline {
11    pub marker: char,
12    pub marker_len: usize,
13}
14
15impl NodeValue for CodeInline {
16    fn render(&self, node: &Node, fmt: &mut dyn Renderer) {
17        fmt.open("code", &node.attrs);
18        fmt.contents(&node.children);
19        fmt.close("code");
20    }
21}
22
23pub fn add(md: &mut MarkdownThat) {
24    code_pair::add_with::<'`'>(md, |len| {
25        Node::new(CodeInline {
26            marker: '`',
27            marker_len: len,
28        })
29    });
30}