return { { "bjarneo/aether.nvim", branch = "v3", name = "aether", priority = 1000, opts = { colors = { bg = "#e9e3d5", dark_bg = "#e9e3d5", darker_bg = "#dcd5c3", -- slightly darker for statusline, etc. lighter_bg = "#f2ecdf", fg = "#2a2822", dark_fg = "#141310", light_fg = "#8d8578", bright_fg = "#a89e85", muted = "#6f685c", -- === Stronger syntax colors for light bg === red = "#7a2f24", -- deeper red (errors, vars) orange = "#7d4a2c", -- better orange (numbers, constants) yellow = "#7d4a2c", -- warm class/type yellow green = "#5c6631", -- deeper forest green (strings) cyan = "#3d6b72", -- stronger cyan blue = "#3d6b72", -- richer function/keyword blue purple = "#6a4c72", -- deeper purple brown = "#7c4a66", -- warm deprecated bright_red = "#96392a", bright_yellow = "#7d4a2c", bright_green = "#5c6631", bright_cyan = "#3d6b72", bright_blue = "#3d6b72", bright_purple = "#6a4c72", accent = "#3d6b72", cursor = "#2a2822", foreground = "#2a2822", background = "#e9e3d5", selection = "#dcd5c3", -- soft selection bg selection_foreground = "#2a2822", selection_background = "#a85f1d", }, on_highlights = function(hl, c) -- If it's "too dark", use a lighter grey like #2a2822 hl.CursorLine = { bg = "#f2ecdf" } hl.CursorLineNr = { fg = c.orange, bold = true } -- clean, solid word-occurrence + selection highlights (no muddy computed bg) hl.Visual = { bg = "#dcd5c3" } hl.LspReferenceText = { bg = "#dcd5c3" } hl.LspReferenceRead = { bg = "#dcd5c3" } hl.LspReferenceWrite = { bg = "#dcd5c3" } hl.IlluminatedWordText = { bg = "#dcd5c3" } hl.IlluminatedWordRead = { bg = "#dcd5c3" } hl.IlluminatedWordWrite = { bg = "#dcd5c3" } hl.MatchParen = { bg = "#dcd5c3", bold = true } -- brackets/parens/braces: lift from aether's muted tone to a saturated warm tone hl["@punctuation.bracket"] = { fg = "#7d4a2c" } hl["@punctuation.special"] = { fg = "#7d4a2c" } -- keywords: aether renders these lilac internally -> force to palette. -- general keywords -> blue; exceptions (try/except/raise) -> purple slot local kw_blue = { fg = "#3d6b72" } for _, g in ipairs({ "Keyword", "Conditional", "Repeat", "Statement", "Include", "StorageClass", "@keyword", "@keyword.function", "@keyword.operator", "@keyword.return", "@keyword.conditional", "@keyword.repeat", "@keyword.import", "@keyword.coroutine", "@conditional", "@repeat", "@include", }) do hl[g] = kw_blue end local kw_exc = { fg = "#6a4c72" } for _, g in ipairs({ "Exception", "@keyword.exception", "@exception" }) do hl[g] = kw_exc end end, }, config = function(_, opts) require("aether").setup(opts) vim.cmd.colorscheme("aether") require("aether.hotreload").setup() end, }, { "LazyVim/LazyVim", opts = { colorscheme = "aether" }, }, }