use markdown_ai_cite_remove::{remove_citations_with_config, CitationRemover, RemoverConfig};
fn main() {
let input = r#"Research shows results[1][2].
## References
[1]: https://example.com
[2]: https://test.com"#;
println!("Original text:\n{}\n", input);
println!("{}", "=".repeat(60));
println!("\n1. Inline citations only:");
let config1 = RemoverConfig::inline_only();
let result1 = remove_citations_with_config(input, config1);
println!("{}", result1);
println!("\n2. Reference sections only:");
let config2 = RemoverConfig::references_only();
let result2 = remove_citations_with_config(input, config2);
println!("{}", result2);
println!("\n3. Custom config (no whitespace normalization):");
let config3 = RemoverConfig {
remove_inline_citations: true,
remove_reference_links: true,
remove_reference_headers: true,
remove_reference_entries: true,
normalize_whitespace: false,
remove_blank_lines: false,
trim_lines: false,
};
let result3 = remove_citations_with_config(input, config3);
println!("{}", result3);
println!("\n4. Reusable remover:");
let remover = CitationRemover::with_config(RemoverConfig::default());
let texts = [
"First document[1].",
"Second document[2][3].",
"Third document[source:1].",
];
for (i, text) in texts.iter().enumerate() {
let result = remover.remove(text);
println!(" Document {}: {} -> {}", i + 1, text, result);
}
}