local cmd = vim.cmd local global_theme = "themes/" .. vim.g.nvchad_theme local colors = require(global_theme) local white = colors.white local darker_black = colors.darker_black local black = colors.black local black2 = colors.black2 local one_bg = colors.one_bg local one_bg2 = colors.one_bg2 local one_bg3 = colors.one_bg3 local light_grey = colors.light_grey local grey = colors.grey local grey_fg = colors.grey_fg local red = colors.red local line = colors.line local green = colors.green local nord_blue = colors.nord_blue local blue = colors.blue local yellow = colors.yellow local purple = colors.purple -- for guifg , bg local function fg(group, color) cmd("hi " .. group .. " guifg=" .. color) end local function bg(group, color) cmd("hi " .. group .. " guibg=" .. color) end local function fg_bg(group, fgcol, bgcol) cmd("hi " .. group .. " guifg=" .. fgcol .. " guibg=" .. bgcol) end -- blankline fg("IndentBlanklineChar", line) -- misc -- fg("LineNr", grey) fg("Comment", grey) vim.cmd("highlight Comment gui=italic") fg("NvimInternalError", red) fg("VertSplit", line) fg("EndOfBuffer", black) -- Pmenu bg("Pmenu", one_bg) bg("PmenuSbar", one_bg2) bg("PmenuSel", green) bg("PmenuThumb", nord_blue) -- inactive statuslines as thin splitlines cmd("hi! StatusLineNC gui=underline guifg=" .. line) -- line n.o cmd "hi clear CursorLine" fg("cursorlinenr", white) -- git signs --- fg_bg("DiffAdd", nord_blue, "none") fg_bg("DiffChange", one_bg2, "none") fg_bg("DiffModified", nord_blue, "none") -- NvimTree fg("NvimTreeFolderIcon", blue) fg("NvimTreeFolderName", blue) fg("NvimTreeOpenedFolderName", blue) fg("NvimTreeEmptyFolderName", blue) fg("NvimTreeIndentMarker", one_bg2) fg("NvimTreeVertSplit", darker_black) bg("NvimTreeVertSplit", darker_black) fg("NvimTreeEndOfBuffer", darker_black) fg("NvimTreeRootFolder", darker_black) bg("NvimTreeNormal", darker_black) fg_bg("NvimTreeStatuslineNc", darker_black, darker_black) fg_bg("NvimTreeWindowPicker", red, black2) -- telescope fg("TelescopeBorder", line) fg("TelescopePromptBorder", line) fg("TelescopeResultsBorder", line) fg("TelescopePreviewBorder", grey) -- LspDiagnostics --- -- error / warnings fg("LspDiagnosticsSignError", red) fg("LspDiagnosticsVirtualTextError", red) fg("LspDiagnosticsSignWarning", yellow) fg("LspDiagnosticsVirtualTextWarning", yellow) -- info fg("LspDiagnosticsSignInformation", green) fg("LspDiagnosticsVirtualTextInformation", green) -- hint fg("LspDiagnosticsSignHint", purple) fg("LspDiagnosticsVirtualTextHint", purple) -- bufferline fg_bg("BufferLineFill", grey_fg, black2) fg_bg("BufferLineBackground", light_grey, black2) fg_bg("BufferLineBufferVisible", light_grey, black2) fg_bg("BufferLineBufferSelected", white, black) cmd "hi BufferLineBufferSelected gui=bold" -- tabs fg_bg("BufferLineTab", light_grey, one_bg3) fg_bg("BufferLineTabSelected", black2, nord_blue) fg_bg("BufferLineTabClose", red, black) fg_bg("BufferLineIndicator", black2, black2) fg_bg("BufferLineIndicatorSelected", black, black) -- separators fg_bg("BufferLineSeparator", black2, black2) fg_bg("BufferLineSeparatorVisible", black2, black2) fg_bg("BufferLineSeparatorSelected", black, black2) -- modified buffers fg_bg("BufferLineModified", red, black2) fg_bg("BufferLineModifiedVisible", red, black2) fg_bg("BufferLineModifiedSelected", green, black) -- close buttons fg_bg("BufferLineCLoseButtonVisible", light_grey, black2) fg_bg("BufferLineCLoseButton", light_grey, black2) fg_bg("BufferLineCLoseButtonSelected", red, black) -- dashboard fg("DashboardHeader", grey_fg) fg("DashboardCenter", grey_fg) fg("DashboardShortcut", grey_fg) fg("DashboardFooter", grey_fg) -- Default nvim bg (based on terminal bg) -- cmd "hi Normal guibg=#1e222a"