Fix vscode_settings_file for Windows

This commit is contained in:
Junkui Zhang
2025-04-30 16:28:24 +08:00
parent 071e684be4
commit da422e7dcd

View File

@@ -430,15 +430,30 @@ pub fn global_ssh_config_file() -> &'static Path {
pub fn vscode_settings_file() -> &'static PathBuf {
static LOGS_DIR: OnceLock<PathBuf> = OnceLock::new();
let rel_path = "Code/User/settings.json";
LOGS_DIR.get_or_init(|| {
if cfg!(target_os = "macos") {
home_dir()
.join("Library/Application Support")
#[cfg(target_os = "macos")]
{
LOGS_DIR.get_or_init(|| {
if cfg!(target_os = "macos") {
home_dir()
.join("Library/Application Support")
.join(rel_path)
} else {
home_dir().join(".config").join(rel_path)
}
})
}
#[cfg(target_os = "windows")]
{
LOGS_DIR.get_or_init(|| {
dirs::config_dir()
.expect("failed to determine RoamingAppData directory")
.join(rel_path)
} else {
home_dir().join(".config").join(rel_path)
}
})
})
}
#[cfg(not(any(target_os = "macis", target_os = "windows")))]
{
LOGS_DIR.get_or_init(|| config_dir().join(rel_path))
}
}
/// Returns the path to the cursor user settings file