Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T06:56:31.890Z 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

38 lines · 1.1 KB · rust
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,
9    migrate_drag_and_drop_selection,
10)];
11
12fn migrate_drag_and_drop_selection(
13    contents: &str,
14    mat: &QueryMatch,
15    query: &Query,
16) -> Option<(Range<usize>, String)> {
17    let name_ix = query.capture_index_for_name("name")?;
18    let name_range = mat.nodes_for_capture_index(name_ix).next()?.byte_range();
19    let name = contents.get(name_range)?;
20
21    if name != "drag_and_drop_selection" {
22        return None;
23    }
24
25    let value_ix = query.capture_index_for_name("value")?;
26    let value_node = mat.nodes_for_capture_index(value_ix).next()?;
27    let value_range = value_node.byte_range();
28    let value = contents.get(value_range.clone())?;
29
30    match value {
31        "true" | "false" => {
32            let replacement = format!("{{\n    \"enabled\": {}\n  }}", value);
33            Some((value_range, replacement))
34        }
35        _ => None,
36    }
37}
38
Served at tenant.openagents/omega Member data and write actions are omitted.