62 lines
1.7 KiB
Bash
Executable File
62 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env zsh
|
|
|
|
source ~/dotfiles/bin/helpers/functions.sh
|
|
source ~/dotfiles/bin/helpers/packages.sh
|
|
source ~/dotfiles/bin/helpers/vscode-extensions.sh
|
|
|
|
# Check if parameter --verbose was passed
|
|
if [ "$2" = "--verbose" ]; then
|
|
verbose=true
|
|
else
|
|
verbose=false
|
|
fi
|
|
|
|
# count entries in packages
|
|
count=$(echo $packages | wc -w)
|
|
installed=0
|
|
|
|
for package in $packages; do
|
|
pkg_status=$(dpkg -s $package 2> /dev/null | grep "Status" | cut -d " " -f 4)
|
|
|
|
if [ "$pkg_status" = "installed" ]; then
|
|
installed=$((installed + 1))
|
|
else
|
|
if [ "$verbose" = true ]; then
|
|
printfe "%s\n" "red" "$package is not installed"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
printfe "%s\n" "cyan" "APT $installed/$count packages installed"
|
|
|
|
|
|
load_vscode_extensions
|
|
count_installed_extensions=0
|
|
|
|
# Loop through each extension and check if it's installed
|
|
for extension in "${extensionList[@]}"; do
|
|
result=$(code --list-extensions | grep -E "^${extension}$")
|
|
if [ -z "$result" ]; then
|
|
if [ "$verbose" = true ]; then
|
|
printfe "%s" "yellow" "Extension $extension is not installed\n"
|
|
fi
|
|
else
|
|
count_installed_extensions=$((count_installed_extensions + 1))
|
|
fi
|
|
done
|
|
|
|
if [ "$verbose" = true ]; then
|
|
printfe "%s\n" "yellow" "Expected extensions:"
|
|
for ext in "${extensionList[@]}"; do
|
|
printfe "%s\n" "blue" "$ext"
|
|
done
|
|
|
|
printfe "%s\n" "yellow" "Installed extensions:"
|
|
while IFS= read -r installed_ext; do
|
|
printfe "%s\n" "blue" "$installed_ext"
|
|
done < <(code --list-extensions)
|
|
fi
|
|
|
|
total_extensions=${#extensionList[@]}
|
|
printfe "%s\n" "cyan" "VSCode $count_installed_extensions/$total_extensions extensions installed"
|