Skip to repository content39 lines · 1.1 KB · rust
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T08:07:49.255Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
settings.rs
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, replace_setting_value)];
9
10fn replace_setting_value(
11 contents: &str,
12 mat: &QueryMatch,
13 query: &Query,
14) -> Option<(Range<usize>, String)> {
15 let setting_capture_ix = query.capture_index_for_name("name")?;
16 let setting_name_range = mat
17 .nodes_for_capture_index(setting_capture_ix)
18 .next()?
19 .byte_range();
20 let setting_name = contents.get(setting_name_range)?;
21
22 if setting_name != "hide_mouse" {
23 return None;
24 }
25
26 let value_capture_ix = query.capture_index_for_name("value")?;
27 let value_range = mat
28 .nodes_for_capture_index(value_capture_ix)
29 .next()?
30 .byte_range();
31 let value = contents.get(value_range.clone())?;
32
33 if value.trim() != "\"on_typing_and_movement\"" {
34 return None;
35 }
36
37 Some((value_range, "\"on_typing_and_action\"".to_string()))
38}
39