Give zsh its own module
This commit is contained in:
10
src/main.rs
10
src/main.rs
@@ -241,7 +241,7 @@ fn run() -> Result<(), Error> {
|
|||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
{
|
{
|
||||||
git_repos.insert(base_dirs.home_dir().join(".zshrc"));
|
git_repos.insert(zsh::zshrc(&base_dirs));
|
||||||
git_repos.insert(base_dirs.home_dir().join(".tmux"));
|
git_repos.insert(base_dirs.home_dir().join(".tmux"));
|
||||||
git_repos.insert(base_dirs.home_dir().join(".config/fish"));
|
git_repos.insert(base_dirs.home_dir().join(".config/fish"));
|
||||||
git_repos.insert(base_dirs.config_dir().join("openbox"));
|
git_repos.insert(base_dirs.config_dir().join("openbox"));
|
||||||
@@ -282,25 +282,25 @@ fn run() -> Result<(), Error> {
|
|||||||
execute(
|
execute(
|
||||||
&mut report,
|
&mut report,
|
||||||
"zr",
|
"zr",
|
||||||
|| unix::run_zr(&base_dirs, run_type),
|
|| zsh::run_zr(&base_dirs, run_type),
|
||||||
config.no_retry(),
|
config.no_retry(),
|
||||||
)?;
|
)?;
|
||||||
execute(
|
execute(
|
||||||
&mut report,
|
&mut report,
|
||||||
"antigen",
|
"antigen",
|
||||||
|| unix::run_antigen(&base_dirs, run_type),
|
|| zsh::run_antigen(&base_dirs, run_type),
|
||||||
config.no_retry(),
|
config.no_retry(),
|
||||||
)?;
|
)?;
|
||||||
execute(
|
execute(
|
||||||
&mut report,
|
&mut report,
|
||||||
"zplug",
|
"zplug",
|
||||||
|| unix::run_zplug(&base_dirs, run_type),
|
|| zsh::run_zplug(&base_dirs, run_type),
|
||||||
config.no_retry(),
|
config.no_retry(),
|
||||||
)?;
|
)?;
|
||||||
execute(
|
execute(
|
||||||
&mut report,
|
&mut report,
|
||||||
"oh-my-zsh",
|
"oh-my-zsh",
|
||||||
|| unix::run_oh_my_zsh(&base_dirs, run_type),
|
|| zsh::run_oh_my_zsh(&base_dirs, run_type),
|
||||||
config.no_retry(),
|
config.no_retry(),
|
||||||
)?;
|
)?;
|
||||||
execute(
|
execute(
|
||||||
|
|||||||
@@ -7,5 +7,7 @@ pub mod powershell;
|
|||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
pub mod tmux;
|
pub mod tmux;
|
||||||
pub mod vim;
|
pub mod vim;
|
||||||
|
#[cfg(unix)]
|
||||||
|
pub mod zsh;
|
||||||
|
|
||||||
pub use self::os::*;
|
pub use self::os::*;
|
||||||
|
|||||||
@@ -7,66 +7,6 @@ use std::env;
|
|||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
|
||||||
pub fn run_zr(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
|
||||||
let zsh = require("zsh")?;
|
|
||||||
|
|
||||||
env::var("ZR_HOME")
|
|
||||||
.map(PathBuf::from)
|
|
||||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".zr"))
|
|
||||||
.require()?;
|
|
||||||
|
|
||||||
print_separator("zr");
|
|
||||||
|
|
||||||
let cmd = format!("source {} && zr update", zshrc(base_dirs).display());
|
|
||||||
run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn zshrc(base_dirs: &BaseDirs) -> PathBuf {
|
|
||||||
env::var("ZDOTDIR")
|
|
||||||
.map(|p| Path::new(&p).join(".zshrc"))
|
|
||||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".zshrc"))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn run_antigen(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
|
||||||
let zsh = require("zsh")?;
|
|
||||||
let zshrc = zshrc(base_dirs).require()?;
|
|
||||||
env::var("ADOTDIR")
|
|
||||||
.map(PathBuf::from)
|
|
||||||
.unwrap_or_else(|_| base_dirs.home_dir().join("antigen.zsh"))
|
|
||||||
.require()?;
|
|
||||||
|
|
||||||
print_separator("antigen");
|
|
||||||
|
|
||||||
let cmd = format!("source {} && antigen selfupdate && antigen update", zshrc.display());
|
|
||||||
run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn run_zplug(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
|
||||||
let zsh = require("zsh")?;
|
|
||||||
let zshrc = zshrc(base_dirs).require()?;
|
|
||||||
|
|
||||||
env::var("ZPLUG_HOME")
|
|
||||||
.map(PathBuf::from)
|
|
||||||
.unwrap_or_else(|_| base_dirs.home_dir().join("zplug"))
|
|
||||||
.require()?;
|
|
||||||
|
|
||||||
print_separator("zplug");
|
|
||||||
|
|
||||||
let cmd = format!("source {} && zplug update", 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()?;
|
|
||||||
base_dirs.home_dir().join(".oh-my-zsh").require()?;
|
|
||||||
|
|
||||||
print_separator("oh-my-zsh");
|
|
||||||
|
|
||||||
let cmd = format!("source {} && upgrade_oh_my_zsh", zshrc.display());
|
|
||||||
run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn run_fisher(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
pub fn run_fisher(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
||||||
let fish = require("fish")?;
|
let fish = require("fish")?;
|
||||||
base_dirs
|
base_dirs
|
||||||
|
|||||||
67
src/steps/zsh.rs
Normal file
67
src/steps/zsh.rs
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
use crate::error::Error;
|
||||||
|
use crate::executor::RunType;
|
||||||
|
use crate::terminal::print_separator;
|
||||||
|
use crate::utils::{require, PathExt};
|
||||||
|
use directories::BaseDirs;
|
||||||
|
use std::env;
|
||||||
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
|
pub fn run_zr(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
||||||
|
let zsh = require("zsh")?;
|
||||||
|
|
||||||
|
env::var("ZR_HOME")
|
||||||
|
.map(PathBuf::from)
|
||||||
|
.unwrap_or_else(|_| base_dirs.home_dir().join(".zr"))
|
||||||
|
.require()?;
|
||||||
|
|
||||||
|
print_separator("zr");
|
||||||
|
|
||||||
|
let cmd = format!("source {} && zr update", zshrc(base_dirs).display());
|
||||||
|
run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn zshrc(base_dirs: &BaseDirs) -> PathBuf {
|
||||||
|
env::var("ZDOTDIR")
|
||||||
|
.map(|p| Path::new(&p).join(".zshrc"))
|
||||||
|
.unwrap_or_else(|_| base_dirs.home_dir().join(".zshrc"))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn run_antigen(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
||||||
|
let zsh = require("zsh")?;
|
||||||
|
let zshrc = zshrc(base_dirs).require()?;
|
||||||
|
env::var("ADOTDIR")
|
||||||
|
.map(PathBuf::from)
|
||||||
|
.unwrap_or_else(|_| base_dirs.home_dir().join("antigen.zsh"))
|
||||||
|
.require()?;
|
||||||
|
|
||||||
|
print_separator("antigen");
|
||||||
|
|
||||||
|
let cmd = format!("source {} && antigen selfupdate && antigen update", zshrc.display());
|
||||||
|
run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn run_zplug(base_dirs: &BaseDirs, run_type: RunType) -> Result<(), Error> {
|
||||||
|
let zsh = require("zsh")?;
|
||||||
|
let zshrc = zshrc(base_dirs).require()?;
|
||||||
|
|
||||||
|
env::var("ZPLUG_HOME")
|
||||||
|
.map(PathBuf::from)
|
||||||
|
.unwrap_or_else(|_| base_dirs.home_dir().join("zplug"))
|
||||||
|
.require()?;
|
||||||
|
|
||||||
|
print_separator("zplug");
|
||||||
|
|
||||||
|
let cmd = format!("source {} && zplug update", 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()?;
|
||||||
|
base_dirs.home_dir().join(".oh-my-zsh").require()?;
|
||||||
|
|
||||||
|
print_separator("oh-my-zsh");
|
||||||
|
|
||||||
|
let cmd = format!("source {} && upgrade_oh_my_zsh", zshrc.display());
|
||||||
|
run_type.execute(zsh).args(&["-c", cmd.as_str()]).check_run()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user