Make lualine follow the active Neovim colorscheme (incl. catppuccin flavours)
Problem: lualine theme hardcoded (e.g. require("lualine.themes.gruvbox_dark")), so switching to catppuccin left the bar gruvbox.
Fix: build the theme from vim.g.colors_name and re-run lualine.setup on the ColorScheme autocmd.
- catppuccin-nvim ships lualine themes named after its colors_name: catppuccin-mocha/-latte/-frappe/-macchiato (colors_name after colorscheme catppuccin is "catppuccin-mocha"), so pcall(require, "lualine.themes." .. vim.g.colors_name) works.
- Fallback: require("lualine.themes.auto") returns a table, but it is computed once at require time and cached; set package.loaded["lualine.themes.auto"] = nil before requiring to recompute per scheme.
- vim.deepcopy the theme before mutating it, otherwise you edit the cached module and tweaks leak across switches.
- Custom nvim_set_hl groups (e.g. component separator colors) are wiped by :hi clear on colorscheme change; set them inside the same ColorScheme callback.
Verified headless by reading nvim_get_hl("lualine_a_normal") bg after switching schemes.