From ccc09a6ee9894930bc63c1ec15b6613a00a099d0 Mon Sep 17 00:00:00 2001 From: Kyle Copperfield Date: Sun, 1 Dec 2019 06:40:23 +0000 Subject: [PATCH] Add zplugin to zsh steps (#265) --- src/main.rs | 6 ++++++ src/steps/zsh.rs | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main.rs b/src/main.rs index 48f013a1..4fb1bcf2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -314,6 +314,12 @@ fn run() -> Result<(), Error> { || zsh::run_zplug(&base_dirs, run_type), config.no_retry(), )?; + execute( + &mut report, + "zplugin", + || zsh::run_zplugin(&base_dirs, run_type), + config.no_retry(), + )?; execute( &mut report, "oh-my-zsh", diff --git a/src/steps/zsh.rs b/src/steps/zsh.rs index 796568fd..c3adb31e 100644 --- a/src/steps/zsh.rs +++ b/src/steps/zsh.rs @@ -55,6 +55,24 @@ pub fn run_zplug(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> { run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run() } +pub fn run_zplugin(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> { + let zsh = require("zsh")?; + let zshrc = zshrc(base_dirs).require()?; + + env::var("ZPLGM[HOME_DIR]") + .map(PathBuf::from) + .unwrap_or_else(|_| base_dirs.home_dir().join(".zplugin")) + .require()?; + + print_separator("zplugin"); + + let cmd = format!( + "source {} && zplugin self-update && zplugin update --all", + zshrc.display() + ); + run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run() +} + pub fn run_oh_my_zsh(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> { let zsh = require("zsh")?; let zshrc = zshrc(base_dirs).require()?;