syntax_data: {"ast_node_type":"function","tokens":[{"end":87,"kind":"keyword","start":0,"text":"pub"}]}
source_snippet: pub fn edit_distance_with_substrings(a: &str, b: &str, limit: usize) -> Option<usize> {
context_before: /// Returns `None` if the distance exceeds the limit.
context_after:     let n = a.chars().count();