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 })