1use std::ops::Range;
2use tree_sitter::{Query, QueryMatch};
3
4use crate::MigrationPatterns;
5use crate::patterns::SETTINGS_ROOT_KEY_VALUE_PATTERN;
6
7pub const SETTINGS_PATTERNS: MigrationPatterns =
8 &[(SETTINGS_ROOT_KEY_VALUE_PATTERN, rename_agent_font_size)];
9
10/// Renames the setting `agent_font_size` to `agent_ui_font_size`
11fn rename_agent_font_size(
12 contents: &str,
13 mat: &QueryMatch,
14 query: &Query,
15) -> Option<(Range<usize>, String)> {
16 let setting_capture_ix = query.capture_index_for_name("name")?;
17
18 let setting_name_range = mat
19 .nodes_for_capture_index(setting_capture_ix)
20 .next()?
21 .byte_range();
22
23 let setting_name = contents.get(setting_name_range.clone())?;
24
25 if setting_name != "agent_font_size" {
26 return None;
27 }
28
29 Some((setting_name_range, "agent_ui_font_size".to_string()))
30}