mdbook_angular/codeblock/
flags.rs1#[derive(PartialEq, Eq, Debug)]
2pub(super) enum CodeBlockFlags {
3 Hide,
5 Collapsed,
7 Uncollapsed,
9
10 Playground,
12 NoPlayground,
14
15 NoInsert,
17}
18
19fn to_flag(value: &str) -> Option<CodeBlockFlags> {
20 match value {
21 "hide" => Some(CodeBlockFlags::Hide),
22 "playground" => Some(CodeBlockFlags::Playground),
23 "noplayground" | "no-playground" => Some(CodeBlockFlags::NoPlayground),
24 "uncollapsed" | "no-collapse" => Some(CodeBlockFlags::Uncollapsed),
25 "collapsed" | "collapse" => Some(CodeBlockFlags::Collapsed),
26 "no-insert" => Some(CodeBlockFlags::NoInsert),
27 _ => None,
28 }
29}
30
31fn is_flag_separator(c: char) -> bool {
32 c == ',' || c == ' '
33}
34
35pub(super) fn get_flags(string: &str) -> Vec<CodeBlockFlags> {
40 string
41 .split(is_flag_separator)
42 .filter_map(to_flag)
43 .collect()
44}