74 lines
1.7 KiB
Bash
74 lines
1.7 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
if ! type git 2>/dev/null 1>&2; then
|
||
|
echo "Please install GIT first"
|
||
|
echo "Exiting"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
#
|
||
|
# Clone or pull
|
||
|
#
|
||
|
|
||
|
if ! test -d "$HOME/.config"; then
|
||
|
mkdir "$HOME/.config"
|
||
|
fi
|
||
|
|
||
|
if ! test -d "$HOME/.config/znt"; then
|
||
|
mkdir "$HOME/.config/znt"
|
||
|
fi
|
||
|
|
||
|
echo ">>> Downloading zsh-navigation-tools to ~/.config/znt"
|
||
|
if test -d ~/.config/znt/zsh-navigation-tools; then
|
||
|
cd ~/.config/znt/zsh-navigation-tools || exit
|
||
|
git pull origin main
|
||
|
else
|
||
|
cd ~/.config/znt || exit
|
||
|
git clone https://github.com/z-shell/zsh-navigation-tools.git zsh-navigation-tools
|
||
|
fi
|
||
|
echo ">>> Done"
|
||
|
|
||
|
#
|
||
|
# Copy configs
|
||
|
#
|
||
|
|
||
|
echo ">>> Copying config files"
|
||
|
|
||
|
cd ~/.config/znt || exit
|
||
|
|
||
|
set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
|
||
|
|
||
|
for i; do
|
||
|
if ! test -f "$i"; then
|
||
|
cp -v zsh-navigation-tools/.config/znt/"$i" .
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
echo ">>> Done"
|
||
|
|
||
|
#
|
||
|
# Modify .zshrc
|
||
|
#
|
||
|
|
||
|
echo ">>> Updating .zshrc"
|
||
|
if ! grep zsh-navigation-tools ~/.zshrc >/dev/null 2>&1; then
|
||
|
cat <<'EOF' >>~/.zshrc
|
||
|
|
||
|
### ZNT's installer added snippet ###
|
||
|
fpath=( "$fpath[@]" "$HOME/.config/znt/zsh-navigation-tools" )
|
||
|
autoload n-aliases n-cd n-env n-functions n-history n-kill n-list n-list-draw n-list-input n-options n-panelize n-help
|
||
|
autoload znt-usetty-wrapper znt-history-widget znt-cd-widget znt-kill-widget
|
||
|
alias naliases=n-aliases ncd=n-cd nenv=n-env nfunctions=n-functions nhistory=n-history
|
||
|
alias nkill=n-kill noptions=n-options npanelize=n-panelize nhelp=n-help
|
||
|
zle -N znt-history-widget
|
||
|
bindkey '^R' znt-history-widget
|
||
|
setopt AUTO_PUSHD HIST_IGNORE_DUPS PUSHD_IGNORE_DUPS
|
||
|
zstyle ':completion::complete:n-kill::bits' matcher 'r:|=** l:|=*'
|
||
|
### END ###
|
||
|
|
||
|
EOF
|
||
|
|
||
|
else
|
||
|
echo ">>> .zshrc already updated, not making changes"
|
||
|
fi
|