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

Method refresh_mcp_dialog

crates/opencode-tui/src/app/app.rs:2745–2776  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

2743 }
2744
2745 fn refresh_mcp_dialog(&mut self) -> anyhow::Result<()> {
2746 let Some(client) = self.context.get_api_client() else {
2747 return Ok(());
2748 };
2749 let servers = client.get_mcp_status()?;
2750
2751 let mcp_items = servers
2752 .iter()
2753 .map(|server| McpItem {
2754 name: server.name.clone(),
2755 status: server.status.clone(),
2756 tools: server.tools,
2757 resources: server.resources,
2758 error: server.error.clone(),
2759 })
2760 .collect::<Vec<_>>();
2761 self.mcp_dialog.set_items(mcp_items);
2762
2763 let statuses = servers
2764 .into_iter()
2765 .map(|server| {
2766 let status = map_mcp_status(&server);
2767 McpServerStatus {
2768 name: server.name,
2769 status,
2770 error: server.error,
2771 }
2772 })
2773 .collect::<Vec<_>>();
2774 *self.context.mcp_servers.write() = statuses;
2775 Ok(())
2776 }
2777
2778 fn set_active_model_selection(&mut self, model_ref: String, provider: Option<String>) {
2779 let (model_key, explicit_variant) =

Callers 4

newMethod · 0.80
handle_eventMethod · 0.80
handle_dialog_keyMethod · 0.80

Calls 5

map_mcp_statusFunction · 0.85
get_api_clientMethod · 0.80
get_mcp_statusMethod · 0.80
set_itemsMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected