mirror of
https://git.disroot.org/FollieHiyuki/dotfiles.git
synced 2024-12-12 09:08:21 -05:00
36 lines
1.6 KiB
Bash
Executable File
36 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "Usage:"
|
|
printf " - %s [server_name]: install specified server\n" "$0"
|
|
printf " - %s -lsp: install all lsp servers\n" "$0"
|
|
printf " - %s -dap: install all dap servers\n" "$0"
|
|
printf " - %s -lint: install everything\n" "$0"
|
|
exit 1
|
|
fi
|
|
|
|
nvim_script_dir=${XDG_CONFIG_HOME:-$HOME/.config}/nvim/scripts
|
|
|
|
if [ "$1" = "-lsp" ]; then
|
|
printf "\033[1;33mInstalling lsp servers...\033[0m\n"
|
|
find "${nvim_script_dir}/lsp" -type f -exec printf "\033[1;34mRunning \033[1;32m%s\033[1;34m...\033[0m\n" '{}' \; -and -exec '{}' \;
|
|
elif [ "$1" = '-dap' ]; then
|
|
printf "\033[1;33mInstalling dap servers...\033[0m\n"
|
|
find "${nvim_script_dir}/dap" -type f -exec printf "\033[1;34mRunning \033[1;32m%s\033[1;34m...\033[0m\n" '{}' \; -and -exec '{}' \;
|
|
elif [ "$1" = '-lint' ]; then
|
|
printf "\033[1;33mInstalling linters and formatters...\033[0m\n"
|
|
find "${nvim_script_dir}/lint" -type f -exec printf "\033[1;34mRunning \033[1;32m%s\033[1;34m...\033[0m\n" '{}' \; -and -exec '{}' \;
|
|
elif [ "$1" = '-all' ]; then
|
|
printf "\033[1;33mInstalling everything...\033[0m\n"
|
|
find "${nvim_script_dir}" -mindepth 2 -type f -exec printf "\033[1;34mRunning \033[1;32m%s\033[1;34m...\033[0m\n" '{}' \; -and -exec '{}' \;
|
|
else
|
|
# Each server should have an unique name
|
|
server_path=$(find "${nvim_script_dir}" -mindepth 2 -type f -name "$1" | head -n 1)
|
|
if [ -z "${server_path}" ]; then
|
|
printf "Incorrect server name \033[1;31m%s\033[0m.\n" "$1"
|
|
exit 1
|
|
fi
|
|
printf "\033[1;34mInstalling \033[1;32m%s\033[1;34m...\033[0m\n" "$1"
|
|
exec ${server_path}
|
|
fi
|