From c1e4615491a782c428c3faa20127119d209d45b0 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Thu, 9 Jul 2026 08:05:50 +0200 Subject: bootstrap-nvim.sh: Abschnitte als Funktionen geschrieben --- scripts/bootstrap-nvim.sh | 157 ++++++++++++++++++++++++---------------------- 1 file changed, 83 insertions(+), 74 deletions(-) (limited to 'scripts') diff --git a/scripts/bootstrap-nvim.sh b/scripts/bootstrap-nvim.sh index 26828a7..56a5247 100755 --- a/scripts/bootstrap-nvim.sh +++ b/scripts/bootstrap-nvim.sh @@ -113,77 +113,86 @@ setup_python_provider() { install_pip "$VENV/bin/python" pynvim } -# === Voraussetzungen === - -check_prerequisites -setup_homebrew_env - -install_pkg curl curl -install_pkg git git -install_pkg node node -install_pkg python3 python - -# === Provider === - -install_npm neovim-node-host neovim -setup_python_provider - -# === Formatter === - -install_pkg gawk gawk -install_pkg jq jq -install_npm prettier prettier -install_pkg ruff ruff -install_pkg shfmt shfmt -install_pkg stylua stylua -install_pkg yamlfmt yamlfmt - -case "$OS" in -Darwin) - install_pkg clang-format clang-format - ;; -FreeBSD) - install_pkg xmllint libxml2 - ;; -esac - -# === Tools === - -install_pkg rg ripgrep - -case "$OS" in -Darwin) - install_pkg gmake make - install_pkg fd fd - install_pkg tree-sitter tree-sitter - ;; -FreeBSD) - install_pkg gmake gmake - install_pkg fd fd-find - install_pkg tree-sitter tree-sitter-cli - ;; -esac - -# === Language Server === - -install_npm basedpyright-langserver basedpyright -install_npm bash-language-server bash-language-server - -case "$OS" in -Darwin) - install_pkg shellcheck shellcheck - ;; -FreeBSD) - install_pkg shellcheck hs-ShellCheck - ;; -esac - -install_pkg clangd llvm -install_npm vscode-html-language-server vscode-langservers-extracted -install_npm vscode-json-language-server vscode-langservers-extracted -install_pkg lua-language-server lua-language-server -install_npm prisma-language-server @prisma/language-server -install_npm vtsls @vtsls/language-server - -echo -echo "Bootstrap abgeschlossen." +install_prerequisites() { + install_pkg curl curl + install_pkg git git + install_pkg node node + install_pkg python3 python +} + +install_providers() { + install_npm neovim-node-host neovim + setup_python_provider +} + +install_formatters() { + install_pkg gawk gawk + install_pkg jq jq + install_npm prettier prettier + install_pkg ruff ruff + install_pkg shfmt shfmt + install_pkg stylua stylua + install_pkg yamlfmt yamlfmt + + case "$OS" in + Darwin) + install_pkg clang-format clang-format + ;; + FreeBSD) + install_pkg xmllint libxml2 + ;; + esac +} + +install_tools() { + install_pkg rg ripgrep + + case "$OS" in + Darwin) + install_pkg gmake make + install_pkg fd fd + install_pkg tree-sitter tree-sitter + ;; + FreeBSD) + install_pkg gmake gmake + install_pkg fd fd-find + install_pkg tree-sitter tree-sitter-cli + ;; + esac +} + +install_lsp() { + install_npm basedpyright-langserver basedpyright + install_npm bash-language-server bash-language-server + + case "$OS" in + Darwin) + install_pkg shellcheck shellcheck + ;; + FreeBSD) + install_pkg shellcheck hs-ShellCheck + ;; + esac + + install_pkg clangd llvm + install_npm vscode-html-language-server vscode-langservers-extracted + install_npm vscode-json-language-server vscode-langservers-extracted + install_pkg lua-language-server lua-language-server + install_npm prisma-language-server @prisma/language-server + install_npm vtsls @vtsls/language-server +} + +main() { + check_prerequisites + setup_homebrew_env + + install_prerequisites + install_providers + install_formatters + install_tools + install_lsp + + printf "\nBootstrap abgeschlossen.\n" +} + +main "$@" -- cgit v1.3