Move vim upgrade to its module
This commit is contained in:
@@ -191,7 +191,7 @@ fn run() -> Result<(), Error> {
|
||||
if let Some(vimrc) = vim::vimrc(&base_dirs) {
|
||||
if let Some(plugin_framework) = vim::PluginFramework::detect(&vimrc) {
|
||||
terminal.print_separator(&format!("Vim ({:?})", plugin_framework));
|
||||
run_vim(&vim, &vimrc, plugin_framework.upgrade_command()).report("Vim", &mut reports);
|
||||
vim::upgrade(&vim, &vimrc, &plugin_framework).report("Vim", &mut reports);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -200,7 +200,7 @@ fn run() -> Result<(), Error> {
|
||||
if let Some(nvimrc) = vim::nvimrc(&base_dirs) {
|
||||
if let Some(plugin_framework) = vim::PluginFramework::detect(&nvimrc) {
|
||||
terminal.print_separator(&format!("Neovim ({:?})", plugin_framework));
|
||||
run_vim(&nvim, &nvimrc, plugin_framework.upgrade_command()).report("Neovim", &mut reports);
|
||||
vim::upgrade(&nvim, &nvimrc, &plugin_framework).report("Neovim", &mut reports);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
23
src/steps.rs
23
src/steps.rs
@@ -26,29 +26,6 @@ pub fn run_emacs(emacs: &PathBuf, init: &PathBuf) -> Result<(), failure::Error>
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn run_vim(vim: &PathBuf, vimrc: &PathBuf, upgrade_command: &str) -> Result<(), failure::Error> {
|
||||
Command::new(&vim)
|
||||
.args(&[
|
||||
"-N",
|
||||
"-u",
|
||||
vimrc.to_str().unwrap(),
|
||||
"-c",
|
||||
upgrade_command,
|
||||
"-c",
|
||||
"quitall",
|
||||
"-e",
|
||||
"-s",
|
||||
"-V1",
|
||||
])
|
||||
.spawn()?
|
||||
.wait()?
|
||||
.check()?;
|
||||
|
||||
println!();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn run_apm(apm: &PathBuf) -> Result<(), failure::Error> {
|
||||
Command::new(&apm)
|
||||
.args(&["upgrade", "--confirm=false"])
|
||||
|
||||
27
src/vim.rs
27
src/vim.rs
@@ -1,7 +1,9 @@
|
||||
use super::utils::PathExt;
|
||||
use super::utils::{Check, PathExt};
|
||||
use directories::BaseDirs;
|
||||
use failure;
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
use std::process::Command;
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum PluginFramework {
|
||||
@@ -49,3 +51,26 @@ pub fn nvimrc(base_dirs: &BaseDirs) -> Option<PathBuf> {
|
||||
#[cfg(windows)]
|
||||
return base_dirs.cache_dir().join("nvim/init.vim").if_exists();
|
||||
}
|
||||
|
||||
pub fn upgrade(vim: &PathBuf, vimrc: &PathBuf, plugin_framework: &PluginFramework) -> Result<(), failure::Error> {
|
||||
Command::new(&vim)
|
||||
.args(&[
|
||||
"-N",
|
||||
"-u",
|
||||
vimrc.to_str().unwrap(),
|
||||
"-c",
|
||||
plugin_framework.upgrade_command(),
|
||||
"-c",
|
||||
"quitall",
|
||||
"-e",
|
||||
"-s",
|
||||
"-V1",
|
||||
])
|
||||
.spawn()?
|
||||
.wait()?
|
||||
.check()?;
|
||||
|
||||
println!();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user