You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dot-files/dot_local/bin/executable_install-lua-lang...

41 lines
1.0 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
# shellcheck disable=SC1091
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
main() (
APP=lua-language-server
VERSION=${VERSION:-3.19.1}
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
URL=https://github.com/LuaLS/lua-language-server/releases/download/${VERSION}/lua-language-server-${VERSION}-$(get_os)-$(get_arch).tar.gz
extract_tarball "${URL}" "${DEST}/${VERSION}"
set_current_link "${DEST}" "${VERSION}"
# lua-language-server locates main.lua next to its own argv[0], without
# resolving symlinks, so it can't be launched through a symlinked
# executable (only a symlinked directory in the path works). Use a
# wrapper script instead of set_link.
cat >"${XDG_BIN_HOME}/lua-language-server" <<EOF
#!/usr/bin/env bash
exec "${DEST}/current/bin/lua-language-server" "\$@"
EOF
chmod +x "${XDG_BIN_HOME}/lua-language-server"
)
get_arch() (
case $(uname -m) in
x86_64*) echo x64 ;;
arm64*) echo arm64 ;;
aarch64*) echo arm64 ;;
*)
echo >&2 "unsupported architecture: $(uname -m)"
exit 1
;;
esac
)
main "$@"