settings.rs

 1use std::ops::Range;
 2use tree_sitter::{Query, QueryMatch};
 3
 4use crate::MigrationPatterns;
 5use crate::patterns::SETTINGS_ASSISTANT_TOOLS_PATTERN;
 6
 7pub const SETTINGS_PATTERNS: MigrationPatterns =
 8    &[(SETTINGS_ASSISTANT_TOOLS_PATTERN, rename_path_search_tool)];
 9
10fn rename_path_search_tool(
11    contents: &str,
12    mat: &QueryMatch,
13    query: &Query,
14) -> Option<(Range<usize>, String)> {
15    let tool_name_capture_ix = query.capture_index_for_name("tool_name")?;
16    let tool_name_range = mat
17        .nodes_for_capture_index(tool_name_capture_ix)
18        .next()?
19        .byte_range();
20    let tool_name = contents.get(tool_name_range.clone())?;
21
22    if tool_name == "path_search" {
23        return Some((tool_name_range, "find_path".to_string()));
24    }
25
26    None
27}