local M = {} local c = require('user.themes.nord.colors') local util = require('user.util.color') M.termcolors = { c.grey1, c.red, c.green, c.yellow, c.blue, c.purple, c.cyan, c.white1, c.grey_bright, c.red, c.green, c.yellow, c.blue, c.purple, c.teal, c.white2, } -- Ref: https://github.com/gbprod/nord.nvim M.highlights = { -- editor Normal = { fg = c.fg }, NormalFloat = { fg = c.fg }, FloatBorder = { fg = c.white2 }, ColorColumn = { bg = c.grey1 }, Cursor = { fg = c.black, bg = c.fg }, CursorIM = { fg = c.black, bg = c.white1 }, CursorLine = { bg = c.grey1 }, TermCursor = { link = 'Cursor' }, TermCursorNC = { bg = c.grey1 }, Underlined = { fg = c.green, underline = true }, Ignore = { fg = c.grey1 }, Error = { fg = c.fg, bg = c.red }, LineNr = { fg = c.grey3 }, MatchParen = { fg = c.cyan, bg = c.grey3 }, NonText = { fg = c.highlight }, Whitespace = { fg = c.highlight }, EndOfBuffer = { fg = c.black }, -- hide filler lines with '~' completely Pmenu = { fg = c.fg, bg = c.grey1 }, PmenuSbar = { fg = c.fg, bg = c.grey1 }, PmenuSel = { fg = c.cyan, bg = c.grey3, bold = true }, PmenuThumb = { fg = c.cyan, bg = c.grey3, bold = true }, SpecialKey = { fg = c.grey3 }, SpellBad = { fg = c.red, sp = c.red, undercurl = true }, SpellCap = { fg = c.yellow, sp = c.yellow, undercurl = true }, SpellLocal = { fg = c.white1, sp = c.white1, undercurl = true }, SpellRare = { fg = c.white2, sp = c.white2, undercurl = true }, Visual = { bg = c.grey2 }, VisualNOS = { bg = c.grey2 }, -- quickfix QuickFixLine = { bg = c.grey2 }, qfLineNr = { fg = c.yellow }, -- :checkhealth healthError = { fg = c.red, bg = c.grey1 }, healthSuccess = { fg = c.green, bg = c.grey1 }, healthWarning = { fg = c.yellow, bg = c.grey1 }, -- gutter CursorColumn = { bg = c.grey1 }, CursorLineNr = { fg = c.fg }, Folded = { fg = c.highlight, bg = c.grey1 }, FoldColumn = { fg = c.grey3 }, SignColumn = { fg = c.grey1 }, -- navigation Directory = { fg = c.cyan }, -- prompt MsgArea = { link = 'Normal' }, ErrorMsg = { fg = c.fg, bg = c.red }, ModeMsg = { fg = c.fg }, MoreMsg = { fg = c.cyan }, Question = { fg = c.fg }, WarningMsg = { fg = c.black, bg = c.yellow }, WildMenu = { fg = c.cyan, bg = c.grey1 }, -- statusline Statusline = { fg = c.cyan, bg = c.grey1 }, StatusLineNC = { fg = c.fg, bg = c.grey1 }, -- search IncSearch = { fg = c.white2, bg = c.dark_blue, underline = true }, Search = { fg = c.grey1, bg = c.cyan }, CurSearch = { link = 'IncSearch' }, -- :s/../../ Substitute = { link = 'IncSearch' }, -- tabline TabLine = { fg = c.fg, bg = c.grey3 }, TabLineFill = { fg = c.fg, bg = c.grey1 }, TabLineSel = { fg = c.black, bg = c.cyan }, -- winbar WinBar = { fg = c.fg, bg = 'NONE' }, WinBarNC = { link = 'WinBar' }, -- window Title = { fg = c.fg }, VertSplit = { fg = c.grey_bright }, -- base syntax Boolean = { fg = c.blue }, Character = { fg = c.fg }, Comment = { fg = c.grey_bright, italic = true }, Conceal = { fg = 'NONE', bg = 'NONE' }, Conditional = { fg = c.blue, bold = true }, Constant = { fg = c.yellow }, Debug = { fg = c.highlight }, Define = { fg = c.blue }, Delimiter = { fg = c.white2 }, Exception = { fg = c.blue, bold = true }, Float = { fg = c.purple }, Function = { fg = c.cyan }, Identifier = { fg = c.fg }, Include = { fg = c.blue }, Keyword = { fg = c.blue, bold = true }, Label = { fg = c.purple }, Number = { fg = c.purple }, Operator = { fg = c.blue }, PreProc = { fg = c.blue }, Repeat = { fg = c.blue, bold = true }, Special = { fg = c.fg }, SpecialChar = { fg = c.yellow }, SpecialComment = { fg = c.cyan, italic = true }, Statement = { fg = c.blue }, StorageClass = { fg = c.blue }, String = { fg = c.green }, Structure = { fg = c.blue }, Tag = { fg = c.fg }, Todo = { fg = c.yellow }, Type = { fg = c.blue }, Typedef = { fg = c.blue }, Macro = { link = 'Define' }, PreCondit = { link = 'PreProc' }, Variable = { link = 'Identifier' }, -- diff DiffAdd = { fg = c.green, bg = c.grey1 }, DiffChange = { fg = c.yellow, bg = c.grey1 }, DiffDelete = { fg = c.red, bg = c.grey1 }, DiffText = { fg = c.blue, bg = c.grey1 }, -- legacy diff groups for some plugins diffAdded = { link = 'DiffAdd' }, diffRemoved = { link = 'DiffDelete' }, diffChanged = { link = 'DiffChange' }, -- NOTE: no TreeSitter grammars yet -- asciidoc asciidocAttributeEntry = { fg = c.purple, bold = true }, asciidocAttributeList = { fg = c.purple, bold = true }, asciidocAttributeRef = { fg = c.green, bold = true }, asciidocHLabel = { fg = c.blue }, asciidocListingBlock = { fg = c.teal }, asciidocMacro = { fg = c.green }, asciidocMacroAttributes = { fg = c.purple }, asciidocOneLineTitle = { link = '@text.title' }, asciidocPassthroughBlock = { fg = c.blue }, asciidocTriplePlusPassthrough = { fg = c.teal }, asciidocAdmonition = { link = 'Keyword' }, asciidocBackslash = { link = 'Keyword' }, asciidocQuotedBold = { bold = true }, asciidocQuotedEmphasized = { italic = true }, asciidocQuotedMonospaced = { fg = c.teal }, asciidocQuotedMonospaced2 = { link = 'asciidocQuotedMonospaced' }, asciidocQuotedUnconstrainedBold = { link = 'asciidocQuotedBold' }, asciidocQuotedUnconstrainedEmphasized = { link = 'asciidocQuotedEmphasized' }, asciidocURL = { link = '@text.uri' }, asciidocEmail = { link = '@text.uri' }, -- :help nvim-treesitter-highlights ['@annotation'] = { fg = c.blue, italic = true }, ['@attribute'] = { fg = c.purple }, ['@boolean'] = { link = 'Boolean' }, ['@character'] = { link = 'Character' }, ['@character.special'] = { link = 'SpecialChar' }, ['@comment'] = { link = 'Comment' }, ['@conditional'] = { link = 'Conditional' }, ['@constant'] = { link = 'Constant' }, ['@constant.builtin'] = { fg = c.teal }, ['@constant.macro'] = { fg = c.teal }, ['@conceal'] = { link = 'Conceal' }, ['@constructor'] = { fg = c.blue }, ['@debug'] = { link = 'Debug' }, ['@define'] = { link = 'Define' }, ['@error'] = { fg = c.red }, ['@exception'] = { link = 'Exception' }, ['@field'] = { fg = c.teal }, ['@float'] = { link = 'Float' }, ['@function'] = { link = 'Function' }, ['@function.call'] = { link = 'Function' }, ['@function.builtin'] = { link = 'Function' }, ['@function.macro'] = { fg = c.teal }, ['@include'] = { link = 'Include' }, ['@keyword'] = { link = 'Keyword' }, ['@keyword.function'] = { link = 'Keyword' }, ['@keyword.return'] = { link = 'Keyword' }, ['@keyword.operator'] = { link = 'Keyword' }, ['@label'] = { link = 'Label' }, ['@method'] = { fg = c.teal }, ['@method.call'] = { fg = c.teal, bold = true }, ['@namespace'] = { fg = c.white1 }, -- ['@none'] = { fg = 'NONE', bg = 'NONE' }, ['@number'] = { link = 'Number' }, ['@operator'] = { link = 'Operator' }, ['@parameter'] = { fg = c.purple, italic = true }, ['@parameter.reference'] = { fg = c.purple, italic = true }, ['@preproc'] = { link = 'PreProc' }, ['@property'] = { fg = c.teal }, ['@punctuation.delimiter'] = { link = 'Delimiter' }, ['@punctuation.bracket'] = { link = 'Delimiter' }, ['@punctuation.special'] = { link = 'Delimiter' }, ['@repeat'] = { link = 'Repeat' }, ['@storageclass'] = { link = 'StorageClass' }, ['@string'] = { link = 'String' }, ['@string.regex'] = { fg = c.teal }, ['@string.escape'] = { fg = c.purple }, ['@string.special'] = { link = 'Special' }, ['@symbol'] = { fg = c.purple }, ['@tag'] = { link = 'Tag' }, ['@tag.attribute'] = { fg = c.orange, italic = true }, ['@tag.delimiter'] = { fg = c.purple }, ['@text'] = { link = 'Normal' }, ['@text.diff.add'] = { link = 'DiffAdd' }, ['@text.diff.delete'] = { link = 'DiffDelete' }, ['@text.strong'] = { bold = true }, ['@text.emphasis'] = { italic = true }, ['@text.underline'] = { underline = true }, ['@text.strike'] = { strikethrough = true }, ['@text.title'] = { fg = c.cyan, bold = true }, ['@text.literal'] = { fg = c.green, italic = true }, ['@text.uri'] = { fg = c.green, underline = true }, ['@text.math'] = { fg = c.yellow }, ['@text.reference'] = { fg = c.purple, italic = true }, ['@text.environment'] = { fg = c.cyan }, ['@text.environment.name'] = { fg = c.purple, bold = true }, ['@text.todo'] = { link = 'Todo' }, ['@text.note'] = { fg = c.blue, bold = true }, ['@text.warning'] = { fg = c.yellow, bold = true }, ['@text.danger'] = { fg = c.red, bold = true }, ['@text.todo.unchecked'] = { fg = c.blue, bold = true }, ['@text.todo.checked'] = { fg = c.green, bold = true }, ['@type'] = { link = 'Type' }, ['@type.builtin'] = { link = 'Type' }, ['@type.qualifier'] = { fg = c.blue, bold = true, italic = true }, ['@type.definition'] = { link = 'Typedef' }, ['@variable'] = { link = 'Variable' }, ['@variable.builtin'] = { link = 'Variable' }, -- LSP semantic tokens ['@lsp.type.builtinType'] = { link = '@type.builtin' }, ['@lsp.type.class'] = { link = '@type' }, ['@lsp.type.comment'] = { link = '@comment' }, ['@lsp.type.enum'] = { link = '@type' }, ['@lsp.type.enumMember'] = { link = '@constant' }, ['@lsp.type.field'] = { link = '@field' }, ['@lsp.type.function'] = { link = '@function' }, ['@lsp.type.generic'] = { link = '@text' }, ['@lsp.type.interface'] = { link = '@type' }, ['@lsp.type.keyword'] = { link = '@keyword' }, ['@lsp.type.macro'] = { link = '@function.macro' }, ['@lsp.type.method'] = { link = '@method' }, ['@lsp.type.namespace'] = { link = '@namespace' }, ['@lsp.type.number'] = { link = '@number' }, ['@lsp.type.parameter'] = { link = '@parameter' }, ['@lsp.type.property'] = { link = '@property' }, ['@lsp.type.struct'] = { link = 'Structure' }, ['@lsp.type.typeParameter'] = { link = '@parameter' }, ['@lsp.type.variable'] = { link = '@variable' }, ['@lsp.typemod.method.defaultLibrary'] = { link = '@function.builtin' }, ['@lsp.typemod.function.defaultLibrary'] = { link = '@function.builtin' }, ['@lsp.typemod.operator.injected'] = { link = '@operator' }, ['@lsp.typemod.string.injected'] = { link = '@string' }, ['@lsp.typemod.variable.defaultLibrary'] = { link = '@variable.builtin' }, ['@lsp.typemod.variable.injected'] = { link = '@variable' }, ['@lsp.typemod.variable.static'] = { link = '@constant' }, -- LSP DiagnosticError = { fg = c.red }, DiagnosticWarn = { fg = c.yellow }, DiagnosticInfo = { fg = c.blue }, DiagnosticHint = { fg = c.cyan }, DiagnosticUnderlineError = { sp = c.red, underline = true }, DiagnosticUnderlineWarn = { sp = c.yellow, underline = true }, DiagnosticUnderlineInfo = { sp = c.blue, underline = true }, DiagnosticUnderlineHint = { sp = c.cyan, underline = true }, DiagnosticVirtualTextError = { fg = c.red, italic = true }, DiagnosticVirtualTextWarn = { fg = c.yellow, italic = true }, DiagnosticVirtualTextInfo = { fg = c.blue, italic = true }, DiagnosticVirtualTextHint = { fg = c.cyan, italic = true }, DiagnosticFloatingError = { link = 'DiagnosticError' }, DiagnosticFloatingWarn = { link = 'DiagnosticWarn' }, DiagnosticFloatingInfo = { link = 'DiagnosticInfo' }, DiagnosticFloatingHint = { link = 'DiagnosticHint' }, DiagnosticSignError = { link = 'DiagnosticError' }, DiagnosticSignWarn = { link = 'DiagnosticWarn' }, DiagnosticSignInfo = { link = 'DiagnosticInfo' }, DiagnosticSignHint = { link = 'DiagnosticHint' }, LspReferenceText = { fg = c.fg, bg = c.grey_bright }, LspReferenceRead = { fg = c.fg, bg = c.grey_bright }, LspReferenceWrite = { fg = c.fg, bg = c.grey_bright }, LspCodeLens = { link = 'Comment' }, LspInfoBorder = { link = 'FloatBorder' }, -- nvim-treesitter-context TreesitterContext = { link = 'Pmenu' }, -- nvim-cmp CmpItemAbbr = { fg = c.fg }, CmpItemAbbrMatch = { fg = c.yellow, bold = true }, CmpItemAbbrMatchFuzzy = { fg = c.yellow, bold = true }, CmpItemAbbrDeprecated = { fg = c.highlight, strikethrough = true }, CmpItemKind = { fg = c.green, bold = true }, CmpItemMenu = { fg = c.blue, bold = true }, -- LuaSnip LuasnipChoiceNodeActive = { fg = c.orange }, LuasnipInsertNodeActive = { fg = c.blue }, -- gitsigns.nvim GitSignsAdd = { fg = c.green, bold = true }, GitSignsAddNr = { fg = c.green }, GitSignsAddInline = { fg = c.black, bg = c.green }, GitSignsChange = { fg = c.yellow, bold = true }, GitSignsChangeNr = { fg = c.yellow }, GitSignsChangeInline = { fg = c.black, bg = c.yellow }, GitSignsDelete = { fg = c.red, bold = true }, GitSignsDeleteNr = { fg = c.red }, GitSignsDeleteInline = { fg = c.black, bg = c.red }, GitSignsCurrentLineBlame = { fg = c.grey_bright, bold = true, italic = true }, -- git-conflict.nvim GitConflictCurrent = { bg = util.blend(c.green, c.black, 0.2) }, GitConflictIncoming = { bg = util.blend(c.blue, c.black, 0.2) }, GitConflictAncestor = { bg = util.blend(c.yellow, c.black, 0.2) }, -- rainbow-delimiters.nvim RainbowDelimiterRed = { fg = c.red, bold = true }, RainbowDelimiterOrange = { fg = c.orange, bold = true }, RainbowDelimiterYellow = { fg = c.yellow, bold = true }, RainbowDelimiterGreen = { fg = c.green, bold = true }, RainbowDelimiterCyan = { fg = c.cyan, bold = true }, RainbowDelimiterBlue = { fg = c.blue, bold = true }, RainbowDelimiterViolet = { fg = c.purple, bold = true }, -- dashboard.nvim / alpha-nvim DashboardHeader = { fg = c.cyan, bold = true }, DashboardCenter = { fg = c.blue, bold = true }, DashboardShortcut = { fg = c.green, bold = true }, DashboardFooter = { fg = c.yellow, bold = true }, -- nvim-tree.lua NvimTreeNormal = { fg = c.fg }, NvimTreeIndentMarker = { fg = c.grey3 }, NvimTreeFolderIcon = { fg = c.fg }, NvimTreeRootFolder = { fg = c.teal, bold = true }, NvimTreeFolderName = { fg = c.blue }, NvimTreeEmptyFolderName = { fg = c.grey_bright }, NvimTreeImageFile = { fg = c.yellow }, NvimTreeExecFile = { fg = c.green }, NvimTreeSpecialFile = { fg = c.cyan, underline = true }, NvimTreeGitDirty = { fg = c.yellow }, NvimTreeGitDeleted = { fg = c.red }, NvimTreeWindowPicker = { fg = c.white2, bg = c.blue, bold = true }, -- which-key.nvim WhichKey = { fg = c.green, bold = true }, WhichKeyGroup = { fg = c.cyan }, WhichKeyDesc = { fg = c.blue }, WhichKeySeparator = { fg = c.grey_bright }, WhichKeyFloat = { link = 'NormalFloat' }, WhichKeyValue = { link = 'Comment' }, -- nvim-notify NotifyERRORBorder = { fg = c.red }, NotifyWARNBorder = { fg = c.yellow }, NotifyINFOBorder = { fg = c.blue }, NotifyDEBUGBorder = { fg = c.green }, NotifyTRACEBorder = { fg = c.white2 }, NotifyERRORIcon = { link = 'NotifyERRORBorder' }, NotifyWARNIcon = { link = 'NotifyWARNBorder' }, NotifyINFOIcon = { link = 'NotifyINFOBorder' }, NotifyDEBUGIcon = { link = 'NotifyDEBUGBorder' }, NotifyTRACEIcon = { link = 'NotifyTRACEBorder' }, NotifyERRORTitle = { link = 'NotifyERRORBorder' }, NotifyWARNTitle = { link = 'NotifyWARNBorder' }, NotifyINFOTitle = { link = 'NotifyINFOBorder' }, NotifyDEBUGTitle = { link = 'NotifyDEBUGBorder' }, NotifyTRACETitle = { link = 'NotifyTRACEBorder' }, NotifyERRORBody = { link = 'Normal' }, NotifyWARNBody = { link = 'Normal' }, NotifyINFOBody = { link = 'Normal' }, NotifyDEBUGBody = { link = 'Normal' }, NotifyTRACEBody = { link = 'Normal' }, -- nvim-scrollbar ScrollbarHandle = { bg = c.grey1 }, ScrollbarError = { fg = c.red, bold = true }, ScrollbarErrorHandle = { fg = c.red, bg = c.grey1, bold = true }, ScrollbarWarn = { fg = c.yellow, bold = true }, ScrollbarWarnHandle = { fg = c.yellow, bg = c.grey1, bold = true }, ScrollbarInfo = { fg = c.blue, bold = true }, ScrollbarInfoHandle = { fg = c.blue, bg = c.grey1, bold = true }, ScrollbarHint = { fg = c.cyan, bold = true }, ScrollbarHintHandle = { fg = c.cyan, bg = c.grey1, bold = true }, ScrollbarMisc = { fg = c.white2, bold = true }, ScrollbarMiscHandle = { fg = c.white2, bg = c.grey1, bold = true }, -- indent-blankline.nvim IblIndent = { fg = c.grey1 }, IblScope = { fg = c.grey_bright }, -- headlines.nvim -- NOTE: keep bg of these in sync with OrgHeadlineLevel{1..6} Headline1 = { bg = util.blend(c.purple, c.black, 0.09), bold = true }, Headline2 = { bg = util.blend(c.blue, c.black, 0.09), bold = true }, Headline3 = { bg = util.blend(c.green, c.black, 0.09), bold = true }, Headline4 = { bg = util.blend(c.yellow, c.black, 0.09), bold = true }, Headline5 = { bg = util.blend(c.orange, c.black, 0.09), bold = true }, Headline6 = { bg = util.blend(c.fg, c.black, 0.09), bold = true }, Quote = { fg = c.grey_bright }, CodeBlock = { bg = c.grey1 }, Dash = { fg = c.blue, bold = true }, -- nvim-orgmode OrgHeadlineLevel1 = { fg = c.purple, bold = true }, OrgHeadlineLevel2 = { fg = c.blue, bold = true }, OrgHeadlineLevel3 = { fg = c.green, bold = true }, OrgHeadlineLevel4 = { fg = c.yellow, bold = true }, OrgHeadlineLevel5 = { fg = c.orange, bold = true }, OrgHeadlineLevel6 = { fg = c.fg, bold = true }, OrgTODO = { fg = c.green, bold = true }, OrgDONE = { fg = c.purple, bold = true }, OrgTSCheckbox = { link = '@text.todo.unchecked' }, OrgTSCheckboxChecked = { link = '@text.todo.checked' }, OrgTSCheckboxHalfChecked = { fg = c.blue, bold = true }, OrgAgendaDealine = { fg = c.red, bold = true }, OrgAgendaScheduled = { fg = c.green, bold = true }, OrgAgendaScheduledPast = { fg = c.blue, bold = true }, -- sniprun.nvim SniprunVirtualTextOk = { bg = c.cyan, fg = c.black }, SniprunFloatingWinOk = { fg = c.cyan }, SniprunVirtualTextErr = { bg = c.orange, fg = c.black }, SniprunFloatingWinErr = { fg = c.orange }, -- trouble.nvim LspTroubleText = { fg = c.blue, bold = true }, -- telescope.nvim TelescopeBorder = { fg = c.cyan }, TelescopeTitle = { fg = c.black, bg = c.cyan, bold = true }, TelescopeSelection = { fg = c.fg, bg = c.grey1 }, TelescopeMultiSelection = { fg = c.fg, bg = c.grey1, bold = true }, TelescopeSelectionCaret = { fg = c.red, bg = c.grey1, bold = true }, TelescopeMatching = { fg = c.yellow, bold = true }, -- overseer.nvim OverseerPENDING = { fg = c.purple, bold = true }, OverseerRUNNING = { fg = c.blue, bold = true }, OverseerSUCCESS = { fg = c.green, bold = true }, OverseerCANCELED = { fg = c.yellow, bold = true }, OverseerFAILURE = { fg = c.red, bold = true }, OverseerTask = { fg = c.cyan }, OverseerComponent = { fg = c.yellow }, OverseerField = { fg = c.green }, -- neogit NeogitBranch = { fg = c.purple, bold = true }, NeogitRemote = { fg = c.green, bold = true }, NeogitObjectId = { fg = c.teal }, NeogitHunkHeader = { fg = c.yellow }, NeogitHunkHeaderHighlight = { fg = c.yellow, bold = true }, NeogitDiffDeleteHighlight = { fg = c.red }, NeogitDiffAddHighlight = { fg = c.green }, NeogitNotificationInfo = { fg = c.blue }, NeogitNotificationWarning = { fg = c.yellow }, NeogitNotificationError = { fg = c.red }, NeogitPopupSwitchKey = { fg = c.green }, NeogitPopupActionKey = { link = 'NeogitPopupSwitchKey' }, NeogitPopupOptionKey = { link = 'NeogitPopupSwitchKey' }, NeogitFilePath = { fg = c.blue }, NeogitCommitViewHeader = { fg = c.white2, bg = c.dark_blue, bold = true }, -- flash.nvim FlashBackdrop = { fg = c.grey_bright }, FlashMatch = { fg = c.white2, bold = true }, FlashLabel = { fg = c.white2, bg = c.red, bold = true }, -- nvim-navic NavicText = { link = 'Normal' }, NavicSeparator = { fg = c.cyan }, -- nvim-coverage CoverageCovered = { fg = c.green }, CoverageUncovered = { fg = c.red }, CoveragePartial = { fg = c.yellow }, -- lazy.nvim LazyDimmed = { link = 'Normal' }, LazyProp = { fg = c.highlight, bold = true }, LazyH1 = { fg = c.white2, bg = c.dark_blue, bold = true }, LazyH2 = { fg = c.purple, bold = true }, LazyButton = { fg = c.white2, bg = c.grey1 }, LazyButtonActive = { link = 'LazyH1' }, LazySpecial = { fg = c.white2 }, LazyCommit = { fg = c.teal }, LazyReasonImport = { fg = c.teal }, LazyReasonRuntime = { fg = c.green }, LazyReasonCmd = { fg = c.cyan, bold = true }, LazyReasonEvent = { fg = c.yellow, bold = true }, LazyReasonFt = { fg = c.purple, bold = true }, LazyReasonKeys = { fg = c.green, bold = true }, LazyReasonPlugin = { fg = c.blue, bold = true }, LazyReasonSource = { fg = c.red, bold = true }, LazyReasonStart = { fg = c.orange, bold = true }, } return M