MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / disabled

Function disabled

crates/opencode-permission/src/ruleset.rs:100–126  ·  view source on GitHub ↗
(
    tools: &[String],
    ruleset: &PermissionRuleset,
)

Source from the content-addressed store, hash-verified

98const EDIT_TOOLS: &[&str] = &["edit", "write", "patch", "multiedit"];
99
100pub fn disabled(
101 tools: &[String],
102 ruleset: &PermissionRuleset,
103) -> std::collections::HashSet<String> {
104 let mut result = std::collections::HashSet::new();
105
106 for tool in tools {
107 let permission = if EDIT_TOOLS.contains(&tool.as_str()) {
108 "edit"
109 } else {
110 tool.as_str()
111 };
112
113 let rule = ruleset
114 .iter()
115 .rev()
116 .find(|r| wildcard_match(permission, &r.permission));
117
118 if let Some(rule) = rule {
119 if rule.pattern == "*" && rule.action == PermissionAction::Deny {
120 result.insert(tool.clone());
121 }
122 }
123 }
124
125 result
126}
127
128fn wildcard_match(text: &str, pattern: &str) -> bool {
129 if pattern == "*" {

Callers 1

test_disabledFunction · 0.85

Calls 6

newFunction · 0.85
containsMethod · 0.80
findMethod · 0.80
wildcard_matchFunction · 0.70
as_strMethod · 0.45
cloneMethod · 0.45

Tested by 1

test_disabledFunction · 0.68