adds vscode extensions support

Signed-off-by: Menno van Leeuwen <menno@vleeuwen.me>
This commit is contained in:
2024-08-22 17:03:39 +02:00
parent aacb9de41c
commit f749c8f578
9 changed files with 133 additions and 1 deletions

View File

@@ -55,7 +55,10 @@ ensure_packages_installed() {
fi
for package in $packages; do
if ! command -v $package &> /dev/null; then
pkg_status=$(dpkg -s $package 2> /dev/null | grep "Status" | cut -d " " -f 4)
# If pkg_status is `installed` then we don't need to install the package, otherwise if it's empty then the package is not installed
if [ -z $pkg_status ]; then
printfe "%s" "yellow" "Installing $package..."
echo -en "\r"

View 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
}