fn parse_srv()

in src/cache.rs [53:76]


fn parse_srv(path: &str) -> Option<SymbolServer> {
    // srv*symbolstore, or srv*localsymbolcache*symbolstore
    let parts: Vec<_> = path.split('*').map(|p| p.trim()).collect();
    if parts.is_empty() || parts[0].to_lowercase() != "srv" {
        return None;
    }
    let server = match parts.len() {
        1 => SymbolServer {
            cache: None,
            server: DEFAULT_STORE.to_string(),
        },
        2 => SymbolServer {
            cache: None,
            server: parts[1].to_string(),
        },
        3 => SymbolServer {
            cache: Some(correct_path(parts[1])),
            server: parts[2].to_string(),
        },
        _ => return None,
    };

    Some(server)
}