{"ast_node_type":"other","tokens":[{"end":57,"kind":"keyword","start":0,"text":".take_while(|n|"}]}
        .take_while(|n| n.text_range().start() == offset)
        .parent_ancestors()
        .find_map(|n| kinds.iter().find(|&kind_filter| kind_filter(n.kind())).zip(Some(n)))?;