feat: add ash light/dark omarchy themes derived from harbor
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
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" },
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user