adds vscode extensions support
Signed-off-by: Menno van Leeuwen <menno@vleeuwen.me>
This commit is contained in:
34
bin/helpers/vscode-extensions.sh
Normal file
34
bin/helpers/vscode-extensions.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/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
|
||||
}
|
Reference in New Issue
Block a user