-- Waybar Theme - Warm Muted with Orange Accents -- Save this as: ~/.config/nvim/colors/waybar.lua local colors = { bg0_h = "#1c1c1f", bg0 = "#1c1c1f", bg1 = "#252529", bg2 = "#2d2d33", bg3 = "#35353d", bg4 = "#3d3d47", gray = "#6d6860", fg4 = "#7d7972", fg3 = "#8a8580", fg2 = "#ff9100", fg1 = "#b39a76", fg0 = "#c9b08a", red = "#ff0000", orange = "#ff9100", white = "#ffffff", black = "#000000", } -- Clear existing highlights vim.cmd("highlight clear") if vim.fn.exists("syntax_on") then vim.cmd("syntax reset") end vim.o.background = "dark" vim.g.colors_name = "theme" local function hi(group, opts) local cmd = "highlight " .. group if opts.fg then cmd = cmd .. " guifg=" .. opts.fg end if opts.bg then cmd = cmd .. " guibg=" .. opts.bg end if opts.style then cmd = cmd .. " gui=" .. opts.style end if opts.sp then cmd = cmd .. " guisp=" .. opts.sp end vim.cmd(cmd) end -- Editor hi("Normal", { fg = colors.fg1, bg = colors.bg0_h }) hi("NormalFloat", { fg = colors.fg1, bg = colors.bg1 }) hi("ColorColumn", { bg = colors.bg1 }) hi("Cursor", { fg = colors.bg0, bg = colors.fg1 }) hi("CursorLine", { bg = colors.bg1 }) hi("CursorColumn", { bg = colors.bg1 }) hi("LineNr", { fg = colors.fg4, bg = colors.bg0_h }) hi("CursorLineNr", { fg = colors.orange, bg = colors.bg1, style = "bold" }) hi("SignColumn", { fg = colors.fg4, bg = colors.bg0_h }) hi("VertSplit", { fg = colors.bg4, bg = colors.bg0 }) hi("Folded", { fg = colors.gray, bg = colors.bg1 }) hi("FoldColumn", { fg = colors.gray, bg = colors.bg0_h }) -- Statusline hi("StatusLine", { fg = colors.fg2, bg = colors.bg2, style = "bold" }) hi("StatusLineNC", { fg = colors.fg4, bg = colors.bg1 }) -- Search hi("Search", { fg = colors.black, bg = colors.orange }) hi("IncSearch", { fg = colors.black, bg = colors.orange, style = "bold" }) hi("Visual", { bg = colors.bg3 }) hi("VisualNOS", { bg = colors.bg3 }) -- Pmenu (popup menu) hi("Pmenu", { fg = colors.fg1, bg = colors.bg1 }) hi("PmenuSel", { fg = colors.black, bg = colors.orange, style = "bold" }) hi("PmenuSbar", { bg = colors.bg2 }) hi("PmenuThumb", { bg = colors.fg4 }) -- Tabs hi("TabLine", { fg = colors.fg4, bg = colors.bg2 }) hi("TabLineFill", { fg = colors.fg4, bg = colors.bg1 }) hi("TabLineSel", { fg = colors.orange, bg = colors.bg3, style = "bold" }) -- Syntax hi("Comment", { fg = colors.gray, style = "italic" }) hi("Constant", { fg = colors.fg0 }) hi("String", { fg = colors.fg1 }) hi("Character", { fg = colors.fg1 }) hi("Number", { fg = colors.fg0 }) hi("Boolean", { fg = colors.fg0 }) hi("Float", { fg = colors.fg0 }) hi("Identifier", { fg = colors.fg1 }) hi("Function", { fg = colors.orange, style = "bold" }) hi("Statement", { fg = colors.orange, style = "bold" }) hi("Conditional", { fg = colors.orange }) hi("Repeat", { fg = colors.orange }) hi("Label", { fg = colors.orange }) hi("Operator", { fg = colors.fg2 }) hi("Keyword", { fg = colors.orange }) hi("Exception", { fg = colors.orange }) hi("PreProc", { fg = colors.fg2 }) hi("Include", { fg = colors.fg2 }) hi("Define", { fg = colors.fg2 }) hi("Macro", { fg = colors.fg2 }) hi("PreCondit", { fg = colors.fg2 }) hi("Type", { fg = colors.fg2 }) hi("StorageClass", { fg = colors.orange }) hi("Structure", { fg = colors.fg2 }) hi("Typedef", { fg = colors.fg2 }) hi("Special", { fg = colors.orange }) hi("SpecialChar", { fg = colors.orange }) hi("Tag", { fg = colors.orange }) hi("Delimiter", { fg = colors.fg3 }) hi("SpecialComment", { fg = colors.gray, style = "italic" }) hi("Debug", { fg = colors.red }) hi("Underlined", { fg = colors.fg2, style = "underline" }) hi("Error", { fg = colors.red, bg = colors.bg0, style = "bold" }) hi("Todo", { fg = colors.orange, bg = colors.bg0, style = "bold" }) -- Diagnostics hi("DiagnosticError", { fg = colors.red }) hi("DiagnosticWarn", { fg = colors.orange }) hi("DiagnosticInfo", { fg = colors.fg2 }) hi("DiagnosticHint", { fg = colors.fg1 }) -- Git signs hi("DiffAdd", { fg = colors.fg1, bg = colors.bg2 }) hi("DiffChange", { fg = colors.orange, bg = colors.bg2 }) hi("DiffDelete", { fg = colors.red, bg = colors.bg2 }) hi("DiffText", { fg = colors.orange, bg = colors.bg3, style = "bold" }) -- Telescope (if installed) hi("TelescopeBorder", { fg = colors.fg2, bg = colors.bg0 }) hi("TelescopePromptBorder", { fg = colors.orange, bg = colors.bg0 }) hi("TelescopePromptTitle", { fg = colors.black, bg = colors.orange, style = "bold" }) hi("TelescopeSelection", { fg = colors.fg1, bg = colors.bg2, style = "bold" }) hi("TelescopeMatching", { fg = colors.orange, style = "bold" }) -- NvimTree (if installed) hi("NvimTreeFolderName", { fg = colors.fg1 }) hi("NvimTreeFolderIcon", { fg = colors.orange }) hi("NvimTreeOpenedFolderName", { fg = colors.orange, style = "bold" }) hi("NvimTreeRootFolder", { fg = colors.orange, style = "bold" }) hi("NvimTreeSpecialFile", { fg = colors.orange }) hi("NvimTreeNormal", { fg = colors.fg1, bg = colors.bg0 }) -- LSP hi("LspReferenceText", { bg = colors.bg2 }) hi("LspReferenceRead", { bg = colors.bg2 }) hi("LspReferenceWrite", { bg = colors.bg2 })