Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T08:08:17.399Z 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

56 lines · 1.7 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,
9    rename_enable_preview_from_code_navigation_setting,
10)];
11
12fn rename_enable_preview_from_code_navigation_setting(
13    contents: &str,
14    mat: &QueryMatch,
15    query: &Query,
16) -> Option<(Range<usize>, String)> {
17    if !is_enable_preview_from_code_navigation(contents, mat, query) {
18        return None;
19    }
20
21    let setting_name_ix = query.capture_index_for_name("setting_name")?;
22    let setting_name_range = mat
23        .nodes_for_capture_index(setting_name_ix)
24        .next()?
25        .byte_range();
26
27    Some((
28        setting_name_range,
29        "enable_keep_preview_on_code_navigation".to_string(),
30    ))
31}
32
33fn is_enable_preview_from_code_navigation(contents: &str, mat: &QueryMatch, query: &Query) -> bool {
34    let parent_key_ix = match query.capture_index_for_name("parent_key") {
35        Some(ix) => ix,
36        None => return false,
37    };
38    let parent_range = match mat.nodes_for_capture_index(parent_key_ix).next() {
39        Some(node) => node.byte_range(),
40        None => return false,
41    };
42    if contents.get(parent_range) != Some("preview_tabs") {
43        return false;
44    }
45
46    let setting_name_ix = match query.capture_index_for_name("setting_name") {
47        Some(ix) => ix,
48        None => return false,
49    };
50    let setting_name_range = match mat.nodes_for_capture_index(setting_name_ix).next() {
51        Some(node) => node.byte_range(),
52        None => return false,
53    };
54    contents.get(setting_name_range) == Some("enable_preview_from_code_navigation")
55}
56
Served at tenant.openagents/omega Member data and write actions are omitted.