41 lines
2.1 KiB
Bash
Executable file
41 lines
2.1 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
#// set variables
|
|
scrDir="$(dirname "$(realpath "$0")")"
|
|
source "${scrDir}/globalcontrol.sh"
|
|
readarray -t codeConf < <(find "${confDir}" -mindepth 1 -maxdepth 1 -type d -name "Code*" -o -name "VSCodium*" -o -name "Cursor*" | sort)
|
|
readarray -t codeVsix < <(find "$HOME" -mindepth 1 -maxdepth 1 -type d -name ".vscode*" -o -name ".cursor" | sort)
|
|
tmpFile="/tmp/$(id -u)$(basename ${0}).tmp"
|
|
tgtFile="extensions/undefined_publisher.wallbash-0.0.1/themes/wallbash-color-theme.json"
|
|
|
|
#// install ext
|
|
|
|
for i in "${!codeVsix[@]}" ;do
|
|
if [ ! -f "${codeVsix[i]}/${tgtFile}" ] ; then
|
|
[ -f "${cacheDir}/landing/Code_Wallbash.vsix" ] || curl -L -o "${cacheDir}/landing/Code_Wallbash.vsix" https://github.com/prasanthrangan/hyprdots/raw/main/Source/arcs/Code_Wallbash.vsix
|
|
case ${codeVsix[i]} in
|
|
*".cursor"*)
|
|
echo "[wallbashcode] Cursor IDE: Manual intervention required for extension installation."
|
|
echo "[wallbashcode] Read the instructions here: https://www.cursor.com/how-to-install-extension "
|
|
;;
|
|
*)
|
|
pkg_installed code-insiders && code-insiders --install-extension "${cacheDir}/landing/Code_Wallbash.vsix"
|
|
pkg_installed code && code --install-extension "${cacheDir}/landing/Code_Wallbash.vsix"
|
|
pkg_installed vscodium && vscodium --install-extension "${cacheDir}/landing/Code_Wallbash.vsix"
|
|
;;
|
|
esac
|
|
fi
|
|
[ -d "$(dirname "${codeVsix[i]}/${tgtFile}")" ] && cp "${cacheDir}/landing/wallbashcode.json" "${codeVsix[i]}/${tgtFile}"
|
|
done
|
|
|
|
#// apply theme
|
|
|
|
for i in "${!codeConf[@]}" ; do
|
|
[ -d "${codeConf[i]}/User" ] || continue
|
|
[ -f "${codeConf[i]}/User/settings.json" ] || echo -e "{\n \"workbench.colorTheme\":\"wallbash\" \n}" > "${codeConf[i]}/User/settings.json"
|
|
extTheme="$(jq -r '.["workbench.colorTheme"]' "${codeConf[i]}/User/settings.json")"
|
|
|
|
if [ "${extTheme}" != "wallbash" ] ; then
|
|
jq '.["workbench.colorTheme"] = "wallbash"' "${codeConf[i]}/User/settings.json" > "${tmpFile}" && mv "${tmpFile}" "${codeConf[i]}/User/settings.json"
|
|
fi
|
|
done
|