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.
41 lines
1.0 KiB
Bash
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 "$@"
|