MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / resolve_server_mut

Method resolve_server_mut

atomic-config/src/lib.rs:313–339  ·  view source on GitHub ↗

Resolve the effective server config mutably, honouring the optional name override. Mirrors the resolution order of [`resolve_server`](Self::resolve_server) so that writes (e.g. `atomic org set`, `atomic workspace set`) land on the same profile that reads resolve to: 1. `server_override` (from `--server ` CLI flag) 2. `default_server` (from `~/.atomic/config.toml`) 3. Legacy `server` block

(
        &mut self,
        server_override: Option<&str>,
    )

Source from the content-addressed store, hash-verified

311 /// Returns the mutable profile plus its name (`Some` for a named profile,
312 /// `None` for the legacy block).
313 pub fn resolve_server_mut(
314 &mut self,
315 server_override: Option<&str>,
316 ) -> Result<(&mut ServerConfig, Option<String>), String> {
317 // Determine which profile name to target, if any. We resolve the name
318 // first (immutable borrow) so the mutable borrow below is unambiguous.
319 let name = if let Some(name) = server_override {
320 Some(name.to_string())
321 } else {
322 self.default_server.clone()
323 };
324
325 match name {
326 Some(name) => {
327 let profile = self.servers.get_mut(&name).ok_or_else(|| {
328 format!(
329 "Server profile '{}' not found. \
330 Use 'atomic server list' to see available profiles, \
331 or 'atomic server add {0} <url>' to create it.",
332 name
333 )
334 })?;
335 Ok((profile, Some(name)))
336 }
337 None => Ok((&mut self.server, None)),
338 }
339 }
340}
341
342/// Color output preference

Calls 2

get_mutMethod · 0.80
cloneMethod · 0.45