ui_cli/shared/
markdown_utils.rs

1pub fn extract_rust_code_from_markdown(markdown: &str) -> Option<String> {
2    let lines: Vec<&str> = markdown.lines().collect();
3    let mut in_rust_block = false;
4    let mut rust_code_lines = Vec::new();
5
6    for line in lines {
7        if line.trim() == "```rust" {
8            in_rust_block = true;
9            continue;
10        }
11
12        if in_rust_block && line.trim() == "```" {
13            break;
14        }
15
16        if in_rust_block {
17            rust_code_lines.push(line);
18        }
19    }
20
21    if rust_code_lines.is_empty() { None } else { Some(rust_code_lines.join("\n")) }
22}