From 63c58c96bef1ef4cfad5019fdf88145ac7e6df77 Mon Sep 17 00:00:00 2001 From: Anton Volnuhin Date: Tue, 3 Mar 2026 20:39:48 +0300 Subject: [PATCH] refactor nvim bootstrap into nvim_run helper function Extract repeated TERM=dumb/timeout/ANSI-stripping/pad boilerplate into a reusable function. Each call now just specifies the wait time and the nvim command to run. Co-Authored-By: Claude Opus 4.6 --- run_onchange_after_install_main_deps.sh.tmpl | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/run_onchange_after_install_main_deps.sh.tmpl b/run_onchange_after_install_main_deps.sh.tmpl index bcfbaa7..18741c8 100644 --- a/run_onchange_after_install_main_deps.sh.tmpl +++ b/run_onchange_after_install_main_deps.sh.tmpl @@ -444,12 +444,18 @@ cat ~/.ssh/authorized_keys.old <(echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPdqI if [ "$SKIP_NVIM_BOOTSTRAP" -eq 0 ]; then new_line "Waiting for neovim plugins and lsm compilations..." -STRIP_ANSI="sed -e s/$(printf '\033')\[[0-9;]*[a-zA-Z]//g -e s/$(printf '\r')//g" -TERM=dumb ${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":Lazy! sync" -c "sleep 10" -c "qa" 2>&1|$STRIP_ANSI|pad -TERM=dumb ${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":lua pcall(vim.cmd, 'MasonUpdate')" -c "sleep 5" -c "qa" 2>&1|$STRIP_ANSI|pad -TERM=dumb ${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":lua pcall(vim.cmd, 'MasonInstall lua-language-server')" -c "sleep 5" -c "qa" 2>&1|$STRIP_ANSI|pad -TERM=dumb ${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":lua pcall(vim.cmd, 'MasonInstall rust-analyzer')" -c "sleep 5" -c "qa" 2>&1|$STRIP_ANSI|pad -TERM=dumb ${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":TSUpdate" -c "sleep 5" -c "qa" 2>&1|$STRIP_ANSI|pad +nvim_run() { + local wait=${1:-5}; shift + TERM=dumb ${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless \ + -c "sleep 1" "$@" -c "sleep $wait" -c "qa" 2>&1 \ + | sed -e "s/$(printf '\033')\[[0-9;]*[a-zA-Z]//g" -e "s/$(printf '\r')//g" \ + | pad +} +nvim_run 10 -c ":Lazy! sync" +nvim_run 5 -c ":lua pcall(vim.cmd, 'MasonUpdate')" +nvim_run 5 -c ":lua pcall(vim.cmd, 'MasonInstall lua-language-server')" +nvim_run 5 -c ":lua pcall(vim.cmd, 'MasonInstall rust-analyzer')" +nvim_run 5 -c ":TSUpdate" fi {{ if eq .chezmoi.os "linux" -}}