Add scripts to save/reload/update current state
This commit is contained in:
54
bundle/bundles.sh
Executable file
54
bundle/bundles.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
usage() {
|
||||
cat << EOT
|
||||
Usage:
|
||||
./${0##*/} list|update|clone|save
|
||||
|
||||
Commands:
|
||||
ls -> List all the bundle repos
|
||||
update -> Update all the bundle repos
|
||||
clone -> Use 'bundles.txt' to repopulate
|
||||
save -> Save repos to 'bundles.txt'
|
||||
EOT
|
||||
exit
|
||||
}
|
||||
|
||||
colors() {
|
||||
sed -E -e 's/\[red\]/[31m/g' \
|
||||
-e 's/\[green\]/[32m/g' \
|
||||
-e 's/\[reset\]/[0m/g' \
|
||||
-e 's/\[b\]/[1m/g' \
|
||||
-e 's/\[ul\]/[4m/g'
|
||||
}
|
||||
|
||||
repos() {
|
||||
# Eval "$1" for all directories
|
||||
local dn
|
||||
for dn in * ; do
|
||||
[[ -d "$dn" ]] || continue
|
||||
eval "${1//@@/$dn}" | colors
|
||||
done
|
||||
}
|
||||
|
||||
clone_bundles() {
|
||||
# Clone the bundles in 'bundles.txt'
|
||||
locals dn repo
|
||||
while read -r dn repo ; do
|
||||
if [[ -d "$dn" ]]; then
|
||||
echo "*** Dir [red][$dn][reset] already exists!" | colors
|
||||
else
|
||||
git clone "$repo" "$dn" 2>&1 | sed "s|^|[green][$dn][reset] |g" | colors
|
||||
fi
|
||||
done < bundles.txt
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
ls) repos 'echo -e "[red]@@[reset] [green]$(git -C @@ remote get-url origin)[reset]"' ;;
|
||||
update) repos 'git -C @@ pull 2>&1 | sed "s|^|[@@] |g"' ;;
|
||||
save) repos 'echo -e "@@ $(git -C @@ remote get-url origin)"' | tee bundles.txt ;;
|
||||
clone) clone_bundles ;;
|
||||
?*) echo "Unknown command: $1" ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
|
||||
# Fin.
|
||||
11
bundle/bundles.txt
Normal file
11
bundle/bundles.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
dockerfile git@github.com:ekalinin/Dockerfile.vim.git
|
||||
fugitive git@github.com:tpope/vim-fugitive.git
|
||||
nerdtree git@github.com:preservim/nerdtree.git
|
||||
nerdtree-git git@github.com:Xuyuanp/nerdtree-git-plugin.git
|
||||
nim git@github.com:zah/nim.vim.git
|
||||
solarized git@github.com:altercation/vim-colors-solarized.git
|
||||
syntastic git@github.com:vim-syntastic/syntastic.git
|
||||
terraform git@github.com:hashivim/vim-terraform.git
|
||||
terragrunt https://github.com/yorinasub17/vim-terragrunt.git
|
||||
toml https://github.com/cespare/vim-toml.git
|
||||
zig git@github.com:ziglang/zig.vim.git
|
||||
Reference in New Issue
Block a user