use std::{
path::PathBuf,
env,
};
#[allow(dead_code)]
pub const NVIM_BIN: &str = if cfg!(windows) {
"nvim.exe"
} else {
"nvim"
};
const NVIM_PATH: &str = if cfg!(windows) {
"neovim/build/bin/nvim.exe"
} else {
"neovim/build/bin/nvim"
};
pub fn nvim_path() -> PathBuf {
let (path_str, have_env) = match env::var("NVIMRS_TEST_BIN") {
Ok(path) => (path, true),
Err(_) => (NVIM_PATH.into(), false),
};
let path = PathBuf::from(&path_str);
if !path.exists() {
if have_env {
panic!("nvim bin from $NVIMRS_TEST_BIN \"{}\" does not exist", path_str)
} else {
panic!(
"\"{}\" not found, maybe you need to build it or set \
$NVIMRS_TEST_BIN?",
NVIM_PATH
);
}
}
path
}