Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T06:57:32.609Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

settings.rs

51 lines · 1.5 KB · rust
1use std::ops::Range;
2use tree_sitter::{Query, QueryMatch};
3
4use crate::MigrationPatterns;
5use crate::patterns::SETTINGS_NESTED_KEY_VALUE_PATTERN;
6
7pub const SETTINGS_PATTERNS: MigrationPatterns =
8    &[(SETTINGS_NESTED_KEY_VALUE_PATTERN, rename_heex_settings)];
9
10fn rename_heex_settings(
11    contents: &str,
12    mat: &QueryMatch,
13    query: &Query,
14) -> Option<(Range<usize>, String)> {
15    if !is_heex_settings(contents, mat, query) {
16        return None;
17    }
18
19    let setting_name_ix = query.capture_index_for_name("setting_name")?;
20    let setting_name_range = mat
21        .nodes_for_capture_index(setting_name_ix)
22        .next()?
23        .byte_range();
24
25    Some((setting_name_range, "HEEx".to_string()))
26}
27
28fn is_heex_settings(contents: &str, mat: &QueryMatch, query: &Query) -> bool {
29    let parent_key_ix = match query.capture_index_for_name("parent_key") {
30        Some(ix) => ix,
31        None => return false,
32    };
33    let parent_range = match mat.nodes_for_capture_index(parent_key_ix).next() {
34        Some(node) => node.byte_range(),
35        None => return false,
36    };
37    if contents.get(parent_range) != Some("languages") {
38        return false;
39    }
40
41    let setting_name_ix = match query.capture_index_for_name("setting_name") {
42        Some(ix) => ix,
43        None => return false,
44    };
45    let setting_name_range = match mat.nodes_for_capture_index(setting_name_ix).next() {
46        Some(node) => node.byte_range(),
47        None => return false,
48    };
49    contents.get(setting_name_range) == Some("HEEX")
50}
51
Served at tenant.openagents/omega Member data and write actions are omitted.