fix neovim headless output: strip ANSI colors, fix MasonUpdate error

- Strip ANSI escape codes from nvim headless output via sed so
  non-interactive mode shows clean text instead of raw color codes
- Change mason.nvim build hook from ":MasonUpdate" string to pcall()
  function to prevent E492 error on first install when Mason isn't
  loaded yet

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Anton Volnuhin 2026-03-03 19:33:16 +03:00
parent 07d0caa733
commit 43cc9ba1bd
2 changed files with 6 additions and 6 deletions

View File

@ -63,7 +63,7 @@ require("lazy").setup({
{ "jiaoshijie/undotree" },
{
"williamboman/mason.nvim",
build = ":MasonUpdate", -- :MasonUpdate updates registry contents
build = function() pcall(vim.cmd, "MasonUpdate") end,
},
{
"folke/which-key.nvim",

View File

@ -444,11 +444,11 @@ 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..."
${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":Lazy! sync" -c "sleep 10" -c "qa" 2>&1|pad
${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":lua pcall(vim.cmd, 'MasonUpdate')" -c "sleep 5" -c "qa" 2>&1|pad
${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|pad
${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|pad
${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":TSUpdate" -c "sleep 5" -c "qa" 2>&1|pad
${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":Lazy! sync" -c "sleep 10" -c "qa" 2>&1 | sed 's/\x1b\[[0-9;]*m//g' |pad
${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":lua pcall(vim.cmd, 'MasonUpdate')" -c "sleep 5" -c "qa" 2>&1 | sed 's/\x1b\[[0-9;]*m//g' |pad
${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 | sed 's/\x1b\[[0-9;]*m//g' |pad
${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 | sed 's/\x1b\[[0-9;]*m//g' |pad
${TIMEOUT_BIN:+$TIMEOUT_BIN 120s} nvim --headless -c "sleep 1" -c ":TSUpdate" -c "sleep 5" -c "qa" 2>&1 | sed 's/\x1b\[[0-9;]*m//g' |pad
fi
{{ if eq .chezmoi.os "linux" -}}