MCPcopy Create free account
hub / github.com/GCWing/BitFun / show_config

Method show_config

src/apps/cli/src/ui/skill_selector.rs:84–106  ·  view source on GitHub ↗

Show all discovered skills with mode-specific enablement checkboxes.

(&mut self, skills: Vec<SkillItem>)

Source from the content-addressed store, hash-verified

82
83 /// Show all discovered skills with mode-specific enablement checkboxes.
84 pub fn show_config(&mut self, skills: Vec<SkillItem>) {
85 if skills.is_empty() {
86 return;
87 }
88
89 let selected_key = if self.screen == SkillSelectorScreen::Configure {
90 self.list_state
91 .selected()
92 .and_then(|index| self.items.get(index))
93 .map(|item| item.key.clone())
94 } else {
95 None
96 };
97 let selected_index = self.list_state.selected().unwrap_or(0);
98 let next_index = selected_key
99 .and_then(|key| skills.iter().position(|item| item.key == key))
100 .unwrap_or_else(|| selected_index.min(skills.len().saturating_sub(1)));
101
102 self.items = skills;
103 self.screen = SkillSelectorScreen::Configure;
104 self.list_state.select(Some(next_index));
105 self.visible = true;
106 }
107
108 pub fn hide(&mut self) {
109 self.visible = false;

Callers 4

show_skill_configMethod · 0.45
show_subagent_configMethod · 0.45

Calls 6

iterMethod · 0.80
is_emptyMethod · 0.45
getMethod · 0.45
cloneMethod · 0.45
lenMethod · 0.45
selectMethod · 0.45

Tested by

no test coverage detected