fix(vim): change nvimrc base_dir for windows (#1433)

This commit is contained in:
SteveCoding125
2025-11-06 11:07:19 +01:00
committed by GitHub
parent 5b5dd27834
commit 5b9d387ef3
2 changed files with 31 additions and 6 deletions

View File

@@ -958,6 +958,14 @@ _version: 2
zh_CN: "拉取 %{repo}"
zh_TW: "拉取 %{repo}"
de: "Würde %{repo} abrufen"
"No Neovim config found":
en: "No Neovim config found"
lt: "Neovim konfigūracija nerasta"
es: "No se encontró ninguna configuración de Neovim"
fr: "Aucune configuration Neovim trouvée"
zh_CN: "未找到 Neovim 配置"
zh_TW: "未找到 Neovim 配置"
de: "Keine Neovim-Konfiguration gefunden"
"Node Package Manager":
en: "Node Package Manager"
lt: "Node paketų tvarkyklė (npm)"

View File

@@ -29,15 +29,32 @@ pub fn vimrc() -> Result<PathBuf> {
fn nvimrc() -> Result<PathBuf> {
#[cfg(unix)]
let base_dir = crate::XDG_DIRS.config_dir();
let bases: Vec<PathBuf> = vec![crate::XDG_DIRS.config_dir()];
#[cfg(windows)]
let base_dir = crate::WINDOWS_DIRS.cache_dir();
let mut bases: Vec<PathBuf> = vec![crate::WINDOWS_DIRS.cache_dir()];
base_dir
.join("nvim/init.vim")
.require()
.or_else(|_| base_dir.join("nvim/init.lua").require())
#[cfg(windows)]
{
if let Some(xdg) = std::env::var_os("XDG_CONFIG_HOME")
.map(PathBuf::from)
.filter(|path| path.is_absolute())
{
bases.insert(0, xdg);
}
}
for base_dir in bases {
if let Ok(p) = base_dir
.join("nvim/init.vim")
.require()
.or_else(|_| base_dir.join("nvim/init.lua").require())
{
return Ok(p);
}
}
Err(SkipStep(format!("{}", t!("No Neovim config found"))).into())
}
fn upgrade_script() -> Result<tempfile::NamedTempFile> {