dotfiles/bin/helpers/vscode-extensions.sh
Menno van Leeuwen f749c8f578 adds vscode extensions support
Signed-off-by: Menno van Leeuwen <menno@vleeuwen.me>
2024-08-22 17:03:39 +02:00

35 lines
1.0 KiB
Bash

#!/usr/bin/env zsh
source ~/dotfiles/bin/helpers/functions.sh
load_vscode_extensions() {
# Clear the array before populating it
arr=()
while IFS= read -r line; do
arr+=("$line")
done < <(jq -r '.[]' ~/dotfiles/vscode/extensions.json)
# Export the array
export extensionList=("${arr[@]}")
}
ensure_vscode_extensions_installed() {
# Load extensions list from jq in ~/dotfiles/vscode/extensions.json
load_vscode_extensions
for extension in "${extensionList[@]}"; do
result=$(code --list-extensions | grep -E "^${extension}$")
if [ -z "$result" ]; then
printfe "%s" "yellow" "Installing $extension..."
code --install-extension $extension
if [ $? -ne 0 ]; then
printfe "%s\n" "red" "Failed to install $extension"
exit 1
fi
printfe "%s\n" "green" "Installed $extension"
else
printfe "%s\n" "green" "$extension is already installed"
fi
done
}