MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / cycle_agent

Method cycle_agent

crates/opencode-tui/src/app/app.rs:2536–2562  ·  view source on GitHub ↗
(&mut self, direction: i8)

Source from the content-addressed store, hash-verified

2534 }
2535
2536 fn cycle_agent(&mut self, direction: i8) {
2537 self.refresh_agent_dialog();
2538
2539 let agents = self.agent_select.agents();
2540 if agents.is_empty() {
2541 return;
2542 }
2543
2544 let current = self.context.current_agent.read().clone();
2545 let current_index = agents
2546 .iter()
2547 .position(|agent| agent.name == current)
2548 .unwrap_or(0);
2549
2550 let len = agents.len();
2551 let next_index = if direction >= 0 {
2552 (current_index + 1) % len
2553 } else if current_index == 0 {
2554 len - 1
2555 } else {
2556 current_index - 1
2557 };
2558 let next_agent = agents[next_index].name.clone();
2559
2560 self.context.set_agent(next_agent);
2561 self.sync_prompt_spinner_style();
2562 }
2563
2564 fn refresh_session_list_dialog(&mut self) {
2565 let Some(client) = self.context.get_api_client() else {

Callers 1

handle_eventMethod · 0.80

Calls 7

refresh_agent_dialogMethod · 0.80
agentsMethod · 0.80
is_emptyMethod · 0.80
readMethod · 0.80
set_agentMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected