chore: fix formatting and clippy lints
This commit is contained in:
1 parent
8952bd5399
commit
9d9e959744
35 files changed
+1091
-582
No files matched your search
@@ -0,0 +1,42 @@
|
||||
use serde_json::Value;
|
||||
use std::env;
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
use tracing::info;
|
||||
|
||||
pub fn load_mcp_config_env() {
|
||||
let config_path = dirs::home_dir()
|
||||
.unwrap_or_else(|| PathBuf::from("."))
|
||||
.join(".gemini/config/mcp_config.json");
|
||||
|
||||
if !config_path.exists() {
|
||||
return;
|
||||
}
|
||||
|
||||
let config_str = match fs::read_to_string(&config_path) {
|
||||
Ok(s) => s,
|
||||
Err(_) => return,
|
||||
};
|
||||
|
||||
let parsed: Value = match serde_json::from_str(&config_str) {
|
||||
Ok(v) => v,
|
||||
Err(_) => return,
|
||||
};
|
||||
|
||||
if let Some(env_obj) = parsed
|
||||
.get("mcpServers")
|
||||
.and_then(|v| v.get("mcp-memory"))
|
||||
.and_then(|v| v.get("env"))
|
||||
.and_then(|v| v.as_object())
|
||||
{
|
||||
for (key, val) in env_obj {
|
||||
if let Some(val_str) = val.as_str()
|
||||
&& env::var(key).is_err() {
|
||||
unsafe {
|
||||
env::set_var(key, val_str);
|
||||
}
|
||||
info!("Loaded env var {} from mcp_config.json", key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user