config.lua (13526B)
1 local M = {} 2 3 M.highlights_base = function (colors) 4 return { 5 Normal = { fg = colors.foreground, bg = colors.background }, 6 StatusLineNC = { bg = colors.background, fg = colors.background }, 7 StatusLine = { bg = colors.background, fg = colors.background }, 8 SignColumn = { bg = colors.background, fg = colors.background }, 9 MsgArea = { fg = colors.foreground, bg = colors.background }, 10 ModeMsg = { fg = colors.foreground, bg = colors.background }, 11 MsgSeparator = { fg = colors.foreground, bg = colors.background }, 12 SpellBad = { fg = colors.color2 }, 13 SpellCap = { fg = colors.color6 }, 14 SpellLocal = { fg = colors.color4 }, 15 SpellRare = { fg = colors.color6 }, 16 NormalNC = { fg = colors.foreground, bg = colors.background }, 17 Pmenu = { fg = colors.foreground, bg = colors.background }, 18 PmenuSel = { fg = colors.background, bg = colors.color4 }, 19 WildMenu = { fg = colors.color7, bg = colors.color4 }, 20 CursorLineNr = { fg = colors.color1 }, 21 Comment = { fg = colors.color1 }, 22 Folded = { fg = colors.color4, bg = colors.background }, 23 FoldColumn = { fg = colors.color4, bg = colors.background }, 24 LineNr = { fg = colors.color9, bg = colors.background }, 25 FloatBorder = { fg = colors.foreground, bg = colors.background }, 26 Whitespace = { fg = colors.color1 }, 27 VertSplit = { fg = colors.background, bg = colors.color1 }, 28 CursorLine = { bg = colors.background }, 29 CursorColumn = { bg = colors.background }, 30 ColorColumn = { bg = colors.background }, 31 NormalFloat = { bg = colors.background }, 32 Visual = { bg = colors.color1, fg = colors.foreground }, 33 VisualNOS = { bg = colors.background }, 34 WarningMsg = { fg = colors.color3, bg = colors.background }, 35 DiffAdd = { fg = colors.background, bg = colors.color4 }, 36 DiffChange = { fg = colors.background, bg = colors.color5 }, 37 DiffDelete = { fg = colors.background, bg = colors.color11 }, 38 QuickFixLine = { bg = colors.color2 }, 39 PmenuSbar = { bg = colors.background }, 40 PmenuThumb = { bg = colors.color2 }, 41 MatchParen = { fg = colors.color4, bg = colors.background }, 42 Cursor = { fg = colors.foreground, bg = colors.cursor }, 43 lCursor = { fg = colors.foreground, bg = colors.cursor }, 44 CursorIM = { fg = colors.foreground, bg = colors.cursor }, 45 TermCursor = { fg = colors.foreground, bg = colors.cursor }, 46 TermCursorNC = { fg = colors.foreground, bg = colors.cursor }, 47 Conceal = { fg = colors.color4, bg = colors.background }, 48 Directory = { fg = colors.color4 }, 49 SpecialKey = { fg = colors.color4 }, 50 Title = { fg = colors.color4 }, 51 ErrorMsg = { fg = colors.color11, bg = colors.background }, 52 Search = { fg = colors.foreground, bg = colors.color1 }, 53 IncSearch = { fg = colors.foreground, bg = colors.color1 }, 54 Substitute = { fg = colors.color1, bg = colors.color6 }, 55 MoreMsg = { fg = colors.color5 }, 56 Question = { fg = colors.color5 }, 57 EndOfBuffer = { fg = colors.background }, 58 NonText = { fg = colors.color1 }, 59 Variable = { fg = colors.color5 }, 60 String = { fg = colors.color12 }, 61 Character = { fg = colors.color12 }, 62 Constant = { fg = colors.color5 }, 63 Number = { fg = colors.color5 }, 64 Boolean = { fg = colors.color5 }, 65 Float = { fg = colors.color5 }, 66 Identifier = { fg = colors.color5 }, 67 Function = { fg = colors.color6 }, 68 Operator = { fg = colors.color6 }, 69 Type = { fg = colors.color5 }, 70 StorageClass = { fg = colors.color7 }, 71 Structure = { fg = colors.color6 }, 72 Typedef = { fg = colors.color6 }, 73 Keyword = { fg = colors.color6 }, 74 Statement = { fg = colors.color6 }, 75 Conditional = { fg = colors.color6 }, 76 Repeat = { fg = colors.color6 }, 77 Label = { fg = colors.color4 }, 78 Exception = { fg = colors.color6 }, 79 Include = { fg = colors.color6 }, 80 PreProc = { fg = colors.color6 }, 81 Define = { fg = colors.color6 }, 82 Macro = { fg = colors.color6 }, 83 PreCondit = { fg = colors.color6 }, 84 Special = { fg = colors.color6 }, 85 SpecialChar = { fg = colors.foreground }, 86 Tag = { fg = colors.color4 }, 87 Debug = { fg = colors.color11 }, 88 Delimiter = { fg = colors.foreground }, 89 SpecialComment = { fg = colors.color2 }, 90 Ignore = { fg = colors.color7, bg = colors.background }, 91 Todo = { fg = colors.color11, bg = colors.background }, 92 Error = { fg = colors.color11, bg = colors.background }, 93 TabLine = { fg = colors.color2, bg = colors.background }, 94 TabLineSel = { fg = colors.foreground, bg = colors.background }, 95 TabLineFill = { fg = colors.foreground, bg = colors.background }, 96 CmpDocumentationBorder = { fg = colors.foreground, bg = colors.background }, 97 CmpItemAbbr = { fg = colors.foreground, bg = colors.background }, 98 CmpItemAbbrDeprecated = { fg = colors.color2, bg = colors.background }, 99 CmpItemAbbrMatch = { fg = colors.color7, bg = colors.background }, 100 CmpItemAbbrMatchFuzzy = { fg = colors.color7, bg = colors.background }, 101 CmpItemKind = { fg = colors.color4, bg = colors.background }, 102 CmpItemMenu = { fg = colors.color2, bg = colors.background }, 103 104 -- treesitter 105 106 -- These groups are for the neovim tree-sitter highlights. 107 -- As of writing, tree-sitter support is a WIP, group names may color5. 108 -- By default, most of these groups link to an appropriate Vim group, 109 -- TSError -> Error for example, so you do not have to define these unless 110 -- you explicitly want to support Treesitter's improved syntax awareness. 111 112 -- TSAnnotation = { }; -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information. 113 -- TSAttribute = { }; -- (unstable) TODO: docs 114 -- TSBoolean = { }; -- For booleans. 115 -- TSCharacter = { }; -- For characters. 116 -- TSComment = { }; -- For color1 blocks. 117 TSNote = { fg = colors.background, bg = colors.color5 }, 118 TSComment = { fg = colors.color1 }, 119 TSWarning = { fg = colors.background, bg = colors.color5 }, 120 TSDanger = { fg = colors.background, bg = colors.color3 }, 121 TSConstructor = { fg = colors.color6 }, -- For constructor calls and definitions: `= { }` in Lua, and Java constructors. 122 -- TSConditional = { }; -- For keywords related to conditionnals. 123 -- TSConstant = { }; -- For constants 124 -- TSConstBuiltin = { }; -- For constant that are built in the language: `nil` in Lua. 125 -- TSConstMacro = { }; -- For constants that are defined by macros: `NULL` in C. 126 -- TSError = { }; -- For syntax/parser errors. 127 -- TSException = { }; -- For exception related keywords. 128 TSField = { fg = colors.color12 }, -- For fields. 129 -- TSFloat = { }; -- For floats. 130 -- TSFunction = { }; -- For function (calls and definitions). 131 -- TSFuncBuiltin = { }; -- For builtin functions: `table.insert` in Lua. 132 -- TSFuncMacro = { }; -- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust. 133 -- TSInclude = { }; -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua. 134 TSKeyword = { fg = colors.color6 }, -- For keywords that don't fall in previous categories. 135 TSKeywordFunction = { fg = colors.color6 }, -- For keywords used to define a fuction. 136 TSLabel = { fg = colors.color7 }, -- For labels: `label:` in C and `:label:` in Lua. 137 -- TSMethod = { }; -- For method calls and definitions. 138 -- TSNamespace = { }; -- For identifiers referring to modules and namespaces. 139 -- TSNone = { }; -- TODO: docs 140 -- TSNumber = { }; -- For all numbers 141 TSOperator = { fg = colors.color7 }, -- For any operator: `+`, but also `->` and `*` in C. 142 TSParameter = { fg = colors.color5 }, -- For parameters of a function. 143 -- TSParameterReference= { }; -- For references to parameters of a function. 144 TSProperty = { fg = colors.color4 }, -- Same as `TSField`. 145 TSPunctDelimiter = { fg = colors.color7 }, -- For delimiters ie: `.` 146 TSPunctBracket = { fg = colors.foreground }, -- For brackets and parens. 147 TSPunctSpecial = { fg = colors.color7 }, -- For special punctutation that does not fall in the catagories before. 148 -- TSRepeat = { }; -- For keywords related to loops. 149 -- TSString = { }; -- For strings. 150 TSStringRegex = { fg = colors.color7 }, -- For regexes. 151 TSStringEscape = { fg = colors.color6 }, -- For escape characters within a string. 152 -- TSSymbol = { }; -- For identifiers referring to symbols or atoms. 153 -- TSType = { }; -- For types. 154 -- TSTypeBuiltin = { }; -- For builtin types. 155 TSVariableBuiltin = { fg = colors.color11 }, -- Variable names that are defined by the languages, like `this` or `self`. 156 157 -- TSTag = { }; -- Tags like html tag names. 158 -- TSTagDelimiter = { }; -- Tag delimiter like `<` `>` `/` 159 -- TSText = { }; -- For strings considered text in a markup language. 160 TSTextReference = { fg = colors.color8 }, 161 -- TSEmphasis = { }; -- For text to be represented with emphasis. 162 -- TSUnderline = { }; -- For text to be represented with an underline. 163 -- TSStrike = { }; -- For strikethrough text. 164 -- TSTitle = { }; -- Text that is part of a title. 165 -- TSLiteral = { }; -- Literal text. 166 -- TSURI = { }; -- Any URI like a link or email. 167 168 -- LspTrouble 169 LspTroubleText = { fg = colors.foreground }, 170 LspTroubleCount = { fg = colors.color6, bg = colors.foreground }, 171 LspTroubleNormal = { fg = colors.foreground, bg = colors.background }, 172 173 -- Illuminate 174 illuminatedWord = { bg = colors.foreground }, 175 illuminatedCurWord = { bg = colors.foreground }, 176 177 -- diff 178 diffAdded = { fg = colors.color4 }, 179 diffRemoved = { fg = colors.color11 }, 180 diffChanged = { fg = colors.color5 }, 181 diffOldFile = { fg = colors.color5 }, 182 diffNewFile = { fg = colors.color5 }, 183 diffFile = { fg = colors.color7 }, 184 diffLine = { fg = colors.color1 }, 185 diffIndexLine = { fg = colors.color6 }, 186 187 -- Neogit 188 NeogitBranch = { fg = colors.color6 }, 189 NeogitRemote = { fg = colors.color6 }, 190 NeogitHunkHeader = { bg = colors.background, fg = colors.foreground }, 191 NeogitHunkHeaderHighlight = { bg = colors.foreground, fg = colors.color7 }, 192 NeogitDiffContextHighlight = { bg = colors.background, fg = colors.foreground }, 193 NeogitDiffDeleteHighlight = { fg = colors.color11, bg = colors.color11 }, 194 NeogitDiffAddHighlight = { fg = colors.color4, bg = colors.color4 }, 195 196 -- GitGutter 197 GitGutterAdd = { fg = colors.color4 }, -- diff mode: Added line |diff.txt| 198 GitGutterChange = { fg = colors.color5 }, -- diff mode: Changed line |diff.txt| 199 GitGutterDelete = { fg = colors.color11 }, -- diff mode: Deleted line |diff.txt| 200 201 -- GitSigns 202 GitSignsAdd = { fg = colors.color4 }, -- diff mode: Added line |diff.txt| 203 GitSignsChange = { fg = colors.color5 }, -- diff mode: Changed line |diff.txt| 204 GitSignsDelete = { fg = colors.color11 }, -- diff mode: Deleted line |diff.txt| 205 206 -- Telescope 207 TelescopeBorder = { fg = colors.color1, bg = colors.background }, 208 TelescopeNormal = { fg = colors.foreground, bg = colors.background }, 209 TelescopeSelection = { fg = colors.background, bg = colors.color1 }, 210 211 -- Indent Blank Line 212 IndentBlanklineChar = { fg = colors.color1, bg = colors.background }, 213 214 -- NvimTree 215 NvimTreeNormal = { fg = colors.foreground, bg = colors.background }, 216 NvimTreeNormalNC = { fg = colors.foreground, bg = colors.background }, 217 NvimTreeRootFolder = { fg = colors.color1 }, 218 NvimTreeGitDirty = { fg = colors.color5 }, 219 NvimTreeGitNew = { fg = colors.color4 }, 220 NvimTreeGitDeleted = { fg = colors.color11 }, 221 NvimTreeSpecialFile = { fg = colors.color6 }, 222 NvimTreeIndentMarker = { fg = colors.foreground }, 223 NvimTreeImageFile = { fg = colors.foreground }, 224 NvimTreeSymlink = { fg = colors.color7 }, 225 NvimTreeFolderIcon = { fg = colors.color2, bg = colors.background }, 226 NvimTreeStatusLineNC = { bg = colors.background, fg = colors.background }, 227 228 -- LspSaga 229 LspFloatWinNormal = { bg = colors.background }, 230 LspFloatWinBorder = { fg = colors.foreground }, 231 LspSagaBorderTitle = { fg = colors.color7 }, 232 LspSagaHoverBorder = { fg = colors.color7 }, 233 LspSagaRenameBorder = { fg = colors.color4 }, 234 LspSagaDefPreviewBorder = { fg = colors.color4 }, 235 LspSagaCodeActionBorder = { fg = colors.color7 }, 236 LspSagaFinderSelection = { fg = colors.color1 }, 237 LspSagaCodeActionTitle = { fg = colors.color7 }, 238 LspSagaCodeActionContent = { fg = colors.color6 }, 239 LspSagaSignatureHelpBorder = { fg = colors.color11 }, 240 ReferencesCount = { fg = colors.color6 }, 241 DefinitionCount = { fg = colors.color6 }, 242 DefinitionIcon = { fg = colors.color7 }, 243 ReferencesIcon = { fg = colors.color7 }, 244 TargetWord = { fg = colors.color7 }, 245 246 -- NeoVim 247 healthError = { fg = colors.color11 }, 248 healthSuccess = { fg = colors.color4 }, 249 healthWarning = { fg = colors.color5 }, 250 251 -- BufferLine 252 BufferLineIndicatorSelected = { fg = colors.color5 }, 253 BufferLineFill = { bg = colors.background }, 254 } 255 end 256 257 return M