nvim_dotfiles/colors/custom.lua
saarsena@gmail.com 085347ddac woohooo
2026-04-08 06:38:52 -04:00

155 lines
6.6 KiB
Lua

local colors = {
bg = '#050505',
fg = '#c5c8c6',
normal = {
black = '#282a2e',
red = '#a54242',
green = '#8c9440',
yellow = '#de935f',
blue = '#5f819d',
magenta = '#85678f',
cyan = '#5e8d87',
white = '#707880',
},
bright = {
black = '#373b41',
red = '#cc6666',
green = '#b5bd68',
yellow = '#f0c674',
blue = '#81a2be',
magenta = '#b294bb',
cyan = '#8abeb7',
white = '#c5c8c6',
},
}
vim.cmd 'hi clear'
if vim.fn.exists 'syntax_on' then
vim.cmd 'syntax reset'
end
vim.o.termguicolors = true
vim.g.colors_name = 'custom'
-- Terminal colors
vim.g.terminal_color_0 = colors.normal.black
vim.g.terminal_color_1 = colors.normal.red
vim.g.terminal_color_2 = colors.normal.green
vim.g.terminal_color_3 = colors.normal.yellow
vim.g.terminal_color_4 = colors.normal.blue
vim.g.terminal_color_5 = colors.normal.magenta
vim.g.terminal_color_6 = colors.normal.cyan
vim.g.terminal_color_7 = colors.normal.white
vim.g.terminal_color_8 = colors.bright.black
vim.g.terminal_color_9 = colors.bright.red
vim.g.terminal_color_10 = colors.bright.green
vim.g.terminal_color_11 = colors.bright.yellow
vim.g.terminal_color_12 = colors.bright.blue
vim.g.terminal_color_13 = colors.bright.magenta
vim.g.terminal_color_14 = colors.bright.cyan
vim.g.terminal_color_15 = colors.bright.white
local set_hl = function(group, opts)
vim.api.nvim_set_hl(0, group, opts)
end
-- Syntax Highlights
set_hl('Normal', { fg = colors.fg, bg = colors.bg })
set_hl('NonText', { fg = colors.normal.black })
set_hl('Comment', { fg = colors.normal.white, italic = true })
set_hl('Constant', { fg = colors.normal.yellow })
set_hl('String', { fg = colors.normal.green })
set_hl('Character', { fg = colors.normal.green })
set_hl('Number', { fg = colors.normal.yellow })
set_hl('Boolean', { fg = colors.normal.yellow })
set_hl('Float', { fg = colors.normal.yellow })
set_hl('Identifier', { fg = colors.normal.red })
set_hl('Function', { fg = colors.normal.blue })
set_hl('Statement', { fg = colors.normal.magenta })
set_hl('Conditional', { fg = colors.normal.magenta })
set_hl('Repeat', { fg = colors.normal.magenta })
set_hl('Label', { fg = colors.normal.magenta })
set_hl('Operator', { fg = colors.fg })
set_hl('Keyword', { fg = colors.normal.magenta })
set_hl('Exception', { fg = colors.normal.magenta })
set_hl('PreProc', { fg = colors.normal.magenta })
set_hl('Include', { fg = colors.normal.magenta })
set_hl('Define', { fg = colors.normal.magenta })
set_hl('Macro', { fg = colors.normal.magenta })
set_hl('PreCondit', { fg = colors.normal.magenta })
set_hl('Type', { fg = colors.normal.yellow })
set_hl('StorageClass', { fg = colors.normal.yellow })
set_hl('Structure', { fg = colors.normal.yellow })
set_hl('Typedef', { fg = colors.normal.yellow })
set_hl('Special', { fg = colors.normal.red })
set_hl('SpecialChar', { fg = colors.normal.red })
set_hl('Tag', { fg = colors.normal.red })
set_hl('Delimiter', { fg = colors.fg })
set_hl('SpecialComment', { fg = colors.normal.white })
set_hl('Debug', { fg = colors.normal.red })
set_hl('Underlined', { fg = colors.normal.blue, underline = true })
set_hl('Ignore', { fg = colors.bg })
set_hl('Error', { fg = colors.normal.red, bold = true })
set_hl('Todo', { fg = colors.normal.yellow, bold = true })
-- UI Highlights
set_hl('ColorColumn', { bg = colors.normal.black })
set_hl('Cursor', { fg = colors.bg, bg = colors.fg })
set_hl('CursorLine', { bg = colors.normal.black })
set_hl('CursorLineNr', { fg = colors.normal.yellow, bold = true })
set_hl('Directory', { fg = colors.normal.blue })
set_hl('DiffAdd', { fg = colors.normal.green, bg = colors.normal.black })
set_hl('DiffChange', { fg = colors.normal.yellow, bg = colors.normal.black })
set_hl('DiffDelete', { fg = colors.normal.red, bg = colors.normal.black })
set_hl('DiffText', { fg = colors.normal.blue, bg = colors.normal.black })
set_hl('ErrorMsg', { fg = colors.normal.red })
set_hl('VertSplit', { fg = colors.bright.black })
set_hl('Folded', { fg = colors.normal.white, bg = colors.normal.black })
set_hl('FoldColumn', { fg = colors.normal.white, bg = colors.normal.black })
set_hl('SignColumn', { fg = colors.normal.white, bg = colors.bg })
set_hl('IncSearch', { fg = colors.bg, bg = colors.normal.yellow })
set_hl('LineNr', { fg = colors.bright.black })
set_hl('MatchParen', { bg = colors.bright.black, bold = true })
set_hl('Pmenu', { fg = colors.fg, bg = colors.normal.black })
set_hl('PmenuSel', { fg = colors.bg, bg = colors.normal.blue })
set_hl('PmenuSbar', { bg = colors.normal.black })
set_hl('PmenuThumb', { bg = colors.normal.white })
set_hl('Question', { fg = colors.normal.green })
set_hl('Search', { fg = colors.bg, bg = colors.normal.yellow })
set_hl('SpecialKey', { fg = colors.bright.black })
set_hl('SpellBad', { sp = colors.normal.red, underline = true })
set_hl('SpellCap', { sp = colors.normal.blue, underline = true })
set_hl('SpellLocal', { sp = colors.normal.magenta, underline = true })
set_hl('SpellRare', { sp = colors.normal.cyan, underline = true })
set_hl('StatusLine', { fg = colors.fg, bg = colors.normal.black })
set_hl('StatusLineNC', { fg = colors.normal.white, bg = colors.normal.black })
set_hl('TabLine', { fg = colors.normal.white, bg = colors.normal.black })
set_hl('TabLineFill', { fg = colors.normal.white, bg = colors.normal.black })
set_hl('TabLineSel', { fg = colors.normal.green, bg = colors.normal.black })
set_hl('Title', { fg = colors.normal.blue })
set_hl('Visual', { bg = colors.bright.black })
set_hl('VisualNOS', { bg = colors.bright.black })
set_hl('WarningMsg', { fg = colors.normal.red })
set_hl('WildMenu', { fg = colors.bg, bg = colors.normal.blue })
-- Diagnostic Highlights (likely needed for LSP)
set_hl('DiagnosticError', { fg = colors.normal.red })
set_hl('DiagnosticWarn', { fg = colors.normal.yellow })
set_hl('DiagnosticInfo', { fg = colors.normal.blue })
set_hl('DiagnosticHint', { fg = colors.normal.cyan })
set_hl('DiagnosticUnderlineError', { sp = colors.normal.red, underline = true })
set_hl('DiagnosticUnderlineWarn', { sp = colors.normal.yellow, underline = true })
set_hl('DiagnosticUnderlineInfo', { sp = colors.normal.blue, underline = true })
set_hl('DiagnosticUnderlineHint', { sp = colors.normal.cyan, underline = true })
-- GitSigns (if installed)
set_hl('GitSignsAdd', { fg = colors.normal.green })
set_hl('GitSignsChange', { fg = colors.normal.yellow })
set_hl('GitSignsDelete', { fg = colors.normal.red })
-- Telescope (if installed)
set_hl('TelescopeBorder', { fg = colors.bright.black })
set_hl('TelescopePromptBorder', { fg = colors.bright.black })
set_hl('TelescopeResultsBorder', { fg = colors.bright.black })
set_hl('TelescopePreviewBorder', { fg = colors.bright.black })
set_hl('TelescopeSelection', { bg = colors.normal.black, bold = true })