├── README.md ├── colors └── abscs.lua └── lua └── abscs ├── config.lua ├── highlight.lua ├── init.lua ├── themes └── aqua.lua └── util.lua /README.md: -------------------------------------------------------------------------------- 1 | # Abstract-cs 2 | 3 | colorscheme for (neo)vim written in lua, specially made for [Abstract ](https://github.com/Abstract-IDE/Abstract) Colorscheme with Tree-sitter support. 4 | 5 | ## Screenshots 6 | ![screenshot_lua](https://raw.githubusercontent.com/shaeinst/media/main/images/github-repositories/roshnivim/buff_and_nerdtree.png) 7 | ![screenshot_pythonlsp](https://raw.githubusercontent.com/shaeinst/media/main/images/github-repositories/roshnivim/python_lsp.png) 8 | ![screenshot_running_c](https://raw.githubusercontent.com/shaeinst/media/main/images/github-repositories/roshnivim/running_c.png) 9 | ![screenshot_telescode](https://raw.githubusercontent.com/shaeinst/media/main/images/github-repositories/roshnivim/telescope_as_fuzzy_finder.png) 10 | ![screenshot_lua](https://raw.githubusercontent.com/shaeinst/media/main/images/github-repositories/roshnivim/packer.png) 11 | ![screenshot_codeaction](https://raw.githubusercontent.com/shaeinst/media/main/images/github-repositories/roshnivim/codeaction_in_flutter_app.png) 12 | 13 | 14 | ## Plugin Support 15 | 16 | - [TreeSitter](https://github.com/nvim-treesitter/nvim-treesitter) 17 | - [LSP Diagnostics](https://neovim.io/doc/user/lsp.html) 18 | - [Git Signs](https://github.com/lewis6991/gitsigns.nvim) 19 | - [Git Gutter](https://github.com/airblade/vim-gitgutter) 20 | - [Neogit](https://github.com/TimUntersberger/neogit) 21 | - [Telescope](https://github.com/nvim-telescope/telescope.nvim) 22 | - [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) 23 | - [Indent Blankline](https://github.com/lukas-reineke/indent-blankline.nvim) 24 | - [Dashboard](https://github.com/glepnir/dashboard-nvim) 25 | - [BufferLine](https://github.com/akinsho/nvim-bufferline.lua) 26 | - [Barbar](https://github.com/romgrk/barbar.nvim) 27 | - and more... 28 | 29 | ## ⚡️ Requirements 30 | 31 | - Neovim >= 0.5.0 32 | 33 | ## 📦 Installation 34 | 35 | Install the theme with your preferred package manager: 36 | 37 | [vim-plug](https://github.com/junegunn/vim-plug) 38 | 39 | ```vim 40 | Plug 'Abstract-IDE/Abstract-cs' 41 | ``` 42 | 43 | [packer](https://github.com/wbthomason/packer.nvim) 44 | 45 | ```lua 46 | use 'Abstract-IDE/Abstract-cs' 47 | ``` 48 | 49 | ## 🚀 Usage 50 | 51 | Enable the colorscheme: 52 | 53 | ```vim 54 | " Vim Script 55 | colorscheme abscs 56 | ``` 57 | 58 | ```lua 59 | -- Lua 60 | vim.cmd[[colorscheme abscs]] 61 | ``` 62 | 63 | ## 🔥 Contributing 64 | 65 | If you would like to add support to a plugin or to fix a bug please feel free to send a PR. 66 | 67 | ## 💐 Credits 68 | - [darkplus.nvim](https://github.com/martinsione/darkplus.nvim) 69 | - [lighthaus](https://github.com/lighthaus-theme/vim) 70 | - [tokyonight](https://github.com/folke/tokyonight.nvim) 71 | - [LunarVimColorschemes](https://github.com/LunarVim/Colorschemes) 72 | 73 | -------------------------------------------------------------------------------- /colors/abscs.lua: -------------------------------------------------------------------------------- 1 | package.loaded['abscs'] = nil 2 | require 'abscs' 3 | -------------------------------------------------------------------------------- /lua/abscs/config.lua: -------------------------------------------------------------------------------- 1 | local config 2 | 3 | vim = vim or { g = {}, o = {} } 4 | 5 | local function opt(key, default) 6 | if vim.g[key] == nil then 7 | return default 8 | end 9 | if vim.g[key] == 0 then 10 | return false 11 | end 12 | return vim.g[key] 13 | end 14 | 15 | config = { 16 | transparent_background = opt('transparent_background', false), 17 | italic_comments = opt('italic_keywords', true) and 'italic' or 'NONE', 18 | italic_keywords = opt('italic_keywords', true) and 'italic' or 'NONE', 19 | italic_functions = opt('italic_function', false) and 'italic' or 'NONE', 20 | italic_variables = opt('italic_variables', true) and 'italic' or 'NONE', 21 | } 22 | 23 | return config 24 | -------------------------------------------------------------------------------- /lua/abscs/highlight.lua: -------------------------------------------------------------------------------- 1 | local config = require "abscs.config" 2 | local colors = require "abscs.themes.aqua" 3 | local M = {} 4 | 5 | M.base = { 6 | 7 | ----------------------------------------- 8 | -- Editor settings 9 | ----------------------------------------- 10 | 11 | -- completion menu 12 | ---------------------------------- 13 | Pmenu = { fg = colors.Pmenu, bg = colors.bg }, -- completion window border color and background color 14 | PmenuSel = { fg = colors.PmenuSelFG, bg = colors.PmenuSelBG }, 15 | PmenuSbar = { bg = colors.PmenuSbar }, 16 | PmenuThumb = { bg = colors.PmenuThumb }, 17 | ---------------------------------- 18 | 19 | NormalFloat = { fg = colors.NormalFloat, bg = colors.bg }, -- floating window 20 | FloatBorder = { fg = colors.FloatBorder, bg = "NONE" }, 21 | Folded = { fg = colors.FoldedFG, bg = colors.FoldedBG }, 22 | VertSplit = { fg = colors.VertSplit, bg = colors.bg }, 23 | LineNr = { fg = colors.LineNr, bg = colors.bg }, -- number column 24 | CursorLineNr = { fg = colors.CursorLineNrFG, bg = colors.CursorLineNrBG, style = "bold" }, 25 | Cursor = { fg = colors.Curosr, bg = colors.bg }, 26 | CursorColumn = { fg = "NONE", bg = "NONE" }, 27 | FoldColumn = { fg = colors.FoldColumn }, 28 | CursorLine = { bg = colors.CursorLine }, 29 | -- CursorIM = { fg=colors.cursor_fg, bg=colors.cursor_bg }, 30 | SignColumn = { fg = colors.bg, bg = colors.bg }, 31 | ColorColumn = { bg = colors.bg }, 32 | Conceal = { fg = colors.fg }, -- { bg = config.transparent_background and "NONE" or colors.bg }, 33 | QuickFixLine = { bg = colors.QuickFixLine }, 34 | Repeat = { fg = colors.Repeat }, 35 | Whitespace = { fg = colors.Whitespace }, 36 | WildMenu = { fg = colors.fg }, 37 | WarningMsg = { fg = colors.WarningMsgFG, bg = colors.WarningMsgBG }, 38 | Search = { fg = colors.SearchFG, bg = colors.SearchBg }, 39 | IncSearch = { fg = colors.IncSearch, bg = colors.SearchFG }, 40 | CurSearch = { fg = colors.SearchFG, bg = colors.CurSearch }, 41 | lCursor = { fg = colors.lCursorFG, bg = colors.lCursorBG }, 42 | TermCursor = { fg = colors.lCursorFG, bg = colors.lCursorBG }, 43 | TermCursorNC = { fg = colors.lCursorFG, bg = colors.lCursorBG }, 44 | StatusLine = { fg = colors.StatusLine, bg = colors.StatusLine }, 45 | StatusLineNC = { fg = colors.StatusLineNCFG, bg = colors.StatusLineNCBG }, 46 | Delimiter = { fg = colors.Delimiter }, 47 | DiffAdd = { fg = colors.DiffAdd }, 48 | DiffAdded = { fg = colors.DiffAdded }, 49 | DiffChange = { fg = colors.DiffChange }, 50 | DiffDelete = { fg = colors.DiffDelete }, 51 | DiffRemoved = { fg = colors.DiffRemoved }, 52 | DiffText = { fg = colors.DiffText }, 53 | DiffFile = { fg = colors.DiffFile }, 54 | StatusLineTerm = { fg = colors.StatusLineTermFG, bg = colors.StatusLineTermBG }, 55 | StatusLineTermNC = { fg = colors.StatusLineTermNCFG, bg = colors.StatusLineTermNCBG }, 56 | StatusLineSeparator = { fg = colors.StatusLineSeparator }, 57 | Underline = { style = "underline" }, 58 | Label = { fg = colors.Label }, -- underline Highlighted defination 59 | MatchParen = { fg = colors.MatchParenFG, bg = colors.MatchParenBG }, 60 | MatchParenCur = { style = "underline" }, 61 | MatchWord = { style = "underline" }, 62 | MatchWordCur = { style = "underline" }, 63 | MoreMsg = { fg = colors.MoreMsg }, 64 | ModeMsg = { fg = colors.fg, bg = colors.bg }, 65 | MsgArea = { fg = colors.fg, bg = config.transparent_background and "NONE" or colors.bg, }, 66 | MsgSeparator = { fg = colors.fg, bg = colors.bg }, 67 | Normal = { fg = colors.fg, bg = config.transparent_background and "NONE" or colors.bg, }, 68 | NormalNC = { fg = colors.fg, bg = config.transparent_background and "NONE" or colors.bg, }, 69 | Error = { fg = colors.Error, bg = colors.bg, style = "bold" }, 70 | ErrorMsg = { fg = colors.ErrorMsg, bg = colors.bg, style = "bold" }, -- command error message 71 | Debug = { fg = colors.fg }, 72 | Visual = { fg = "NONE", bg = colors.Visual, style = "bold" }, 73 | Substitute = { fg = colors.SubstituteFG, bg = colors.SubstituteBG }, 74 | VisualNOS = { fg = colors.VisualNOSFG, bg = colors.VisualNOSBG }, 75 | 76 | TabLine = { fg = colors.TabLineFG, bg = colors.TabLineBG, style = "none" }, 77 | TabLineFill = { fg = colors.bg, style = "none" }, 78 | TabLineSel = { fg = colors.fg, bg = colors.TabLineSel, style = "none" }, 79 | TabLineCurrentWin = { fg = colors.TabLineCurrentWin, bg = colors.TabLineBG, style = "none" }, -- its non standard highlight group defined for tabby.nvim 80 | 81 | ----------------------------------------- 82 | -- end Editor settings 83 | ----------------------------------------- 84 | 85 | 86 | ----------------------------------------- 87 | -- LANGUAGE SYNTAX 88 | ----------------------------------------- 89 | Boolean = { fg = colors.Boolean }, 90 | Character = { fg = colors.Character }, 91 | Comment = { fg = colors.Comment, style = "italic" }, 92 | Conditional = { fg = colors.Conditional }, 93 | Constant = { fg = colors.Constant }, 94 | Define = { fg = colors.Define }, 95 | Exception = { fg = colors.Exception }, 96 | Float = { fg = colors.Float }, 97 | Identifier = { fg = colors.Identifier }, 98 | Ignore = { fg = colors.Ignore }, 99 | Macro = { fg = colors.Macro }, 100 | NonText = { fg = colors.NonText }, 101 | Number = { fg = colors.Number }, 102 | Operator = { fg = colors.Operator }, 103 | PreCondit = { fg = colors.PreCondit }, 104 | PreProc = { fg = colors.PreProc }, 105 | Question = { fg = colors.Question }, 106 | Special = { fg = colors.Special }, 107 | SpecialChar = { fg = colors.SpecialChar }, 108 | SpecialComment = { fg = colors.SpecialComment }, 109 | SpecialKey = { fg = colors.SpecialKey, style = "bold" }, 110 | SpellBad = { fg = colors.SpellBad, style = "underline" }, 111 | SpellCap = { fg = colors.SpellCap, style = "underline" }, 112 | SpellLocal = { fg = colors.SpellLocal, style = "underline" }, 113 | SpellRare = { fg = colors.SpellRare, style = "underline" }, 114 | Statement = { fg = colors.Statement }, 115 | StorageClass = { fg = colors.StorageClass }, 116 | String = { fg = colors.String }, 117 | Structure = { fg = colors.Structure }, 118 | Tag = { fg = colors.Tag }, 119 | Title = { fg = colors.Title }, 120 | Todo = { fg = colors.TodoFG, bg = "NONE", style = "bold" }, 121 | Type = { fg = colors.Type, style = "NONE" }, 122 | Typedef = { fg = colors.Typedef }, 123 | Variable = { fg = colors.Variable }, 124 | URI = { fg = colors.URI, style = "underline" }, 125 | Parameter = { fg = colors.Parameter, style = "italic" }, 126 | Keyword = { fg = colors.Keyword, style = "NONE" }, 127 | Include = { fg = colors.Include }, 128 | KeywordFunction = { fg = colors.KeywordFunction, style = "NONE" }, 129 | KeywordReturn = { fg = colors.KeywordReturn }, 130 | KeywordOperator = { fg = colors.KeywordOperator }, 131 | Method = { fg = colors.Method }, 132 | Constructor = { fg = colors.Constructor }, 133 | FuncBuiltin = { fg = colors.FuncBuiltin }, 134 | Warning = { fg = colors.Warning }, 135 | Note = { fg = colors.Note }, 136 | TagAttribute = { fg = colors.TagAttribute }, 137 | Annotation = { fg = colors.Annotation }, 138 | Attribute = { fg = colors.Attribute }, 139 | ConstBuiltin = { fg = colors.ConstBuiltin }, 140 | ConstMacro = { fg = colors.ConstMacro }, 141 | Field = { fg = colors.Field }, 142 | FuncMacro = { fg = colors.FuncMacro }, 143 | Literal = { fg = colors.Literal }, 144 | Namespace = { fg = colors.Namespace }, 145 | Property = { fg = colors.Property }, 146 | PunctBracket = { fg = colors.PunctBracket }, 147 | TableBlock = { fg = colors.TableBlock }, 148 | PunctDelimiter = { fg = colors.PunctDelimiter }, 149 | PunctSpecial = { fg = colors.PunctSpecial }, 150 | StringEscape = { fg = colors.StringEscape }, 151 | StringRegex = { fg = colors.StringRegex }, 152 | Strong = { fg = colors.Strong }, 153 | Symbol = { fg = colors.Symbol }, 154 | TagDelimiter = { fg = colors.TagDelimiter }, 155 | Text = { fg = colors.Text }, 156 | QueryLinterError = { fg = colors.QueryLinterError }, 157 | TypeBuiltin = { fg = colors.TypeBuiltin }, 158 | VariableBuiltin = { fg = colors.VariableBuiltin }, 159 | ParameterReference = { fg = colors.ParameterReference }, 160 | Emphasis = { style = "italic" }, 161 | ----------------------------------------- 162 | -- end LANGUAGE SYNTAX 163 | ----------------------------------------- 164 | 165 | } 166 | 167 | 168 | M.plugins = { 169 | 170 | ----------------------------------------- 171 | -- PLUGIN SPECIFIC 172 | ----------------------------------------- 173 | 174 | -- Buffer: github.com/akinsho/nvim-bufferline.lua 175 | ----------------------------------------- 176 | BufferCloseButtonSelected = { fg = colors.fg, bg = colors.BufferCloseButtonSelected }, 177 | BufferCurrent = { fg = colors.BufferCurrentFg, bg = colors.BufferCurrentBg }, 178 | BufferCurrentIndex = { fg = colors.fg, bg = colors.bg }, 179 | BufferCurrentMod = { fg = colors.BufferCurrentMod, bg = colors.bg }, 180 | BufferCurrentSign = { fg = colors.BufferCurrentSign, bg = colors.bg }, 181 | BufferCurrentTarget = { fg = colors.BufferCurrentTarget, bg = colors.bg, style = "bold" }, 182 | BufferInactive = { fg = colors.BufferInactive, bg = colors.second_bg }, 183 | BufferInactiveIndex = { fg = colors.BufferInactiveIndex, bg = colors.second_bg }, 184 | BufferInactiveMod = { fg = colors.BufferInactiveMod, bg = colors.second_bg }, 185 | BufferInactiveSign = { fg = colors.BufferInactiveSign, bg = colors.second_bg }, 186 | BufferInactiveTarget = { fg = colors.BufferInactiveTarget, bg = colors.second_bg, style = "bold" }, 187 | BufferIndicatorSelected = { fg = colors.fg, bg = colors.BufferIndicatorSelected }, 188 | BufferLineFill = { fg = colors.fg, bg = colors.BufferLineFill, style = "bold" }, 189 | BuffNumbers = { fg = colors.fg, bg = colors.BuffNumbers }, 190 | BufferVisible = { fg = colors.fg, bg = colors.bg }, 191 | BufferVisibleIndex = { fg = colors.fg, bg = colors.bg }, 192 | BufferVisibleMod = { fg = colors.BufferVisibleMod, bg = colors.bg }, 193 | BufferVisibleSign = { fg = colors.BufferVisibleSign, bg = colors.bg }, 194 | BufferVisibleTarget = { fg = colors.BufferVisibleTarget, bg = colors.bg, style = "bold" }, 195 | BufferSelected = { bg = colors.BufferSelected }, 196 | 197 | -- Tabs 198 | TabSelectedFG = { fg = colors.TabSelectedFG }, 199 | TabSelectedBG = { bg = colors.TabSelectedBG }, 200 | TabFG = { fg = colors.TabFG }, 201 | TabBG = { bg = colors.TabBG }, 202 | ----------------------------------------- 203 | 204 | 205 | -- Cmp: github.com/hrsh7th/nvim-cmp 206 | ----------------------------------------- 207 | CmpDocumentation = { fg = colors.CmpDocumentation, bg = colors.none }, 208 | CmpDocumentationBorder = { fg = colors.CmpDocumentationBorder, bg = colors.none }, 209 | CmpItemAbbr = { fg = colors.CmpItemAbbr, bg = colors.none }, 210 | CmpItemAbbrDeprecated = { fg = colors.CmpItemAbbrDeprecated, bg = colors.none }, 211 | CmpItemAbbrMatch = { fg = colors.CmpItemAbbrMatch, bg = colors.none }, 212 | CmpItemAbbrMatchFuzzy = { fg = colors.CmpItemAbbrMatchFuzzy, bg = colors.none }, 213 | CmpItemMenu = { fg = colors.CmpItemMenu, bg = colors.none }, 214 | -- icon colors 215 | CmpItemKind = { fg = colors.CmpItemKind, bg = colors.none }, 216 | CmpItemKindClass = { fg = colors.CmpItemKindClass, bg = colors.none }, 217 | CmpItemKindFunction = { fg = colors.CmpItemKindFunction, bg = colors.none }, 218 | CmpItemKindInterface = { fg = colors.CmpItemKindInterface, bg = colors.none }, 219 | CmpItemKindKeyword = { fg = colors.CmpItemKindKeyword, bg = colors.none }, 220 | CmpItemKindMethod = { fg = colors.CmpItemKindMethod, bg = colors.none }, 221 | CmpItemKindProperty = { fg = colors.CmpItemKindProperty, bg = colors.none }, 222 | CmpItemKindText = { fg = colors.CmpItemKindText, bg = colors.none }, 223 | CmpItemKindUnit = { fg = colors.CmpItemKindUnit, bg = colors.none }, 224 | CmpItemKindVariable = { fg = colors.CmpItemKindVariable, bg = colors.none }, 225 | ----------------------------------------- 226 | 227 | 228 | -- Dashboard: github.com/glepnir/dashboard-nvim 229 | ----------------------------------------- 230 | DashboardCenter = { fg = colors.DashboardCenter }, 231 | DashboardFooter = { fg = colors.DashboardFooter }, 232 | DashboardHeader = { fg = colors.DashboardHeader }, 233 | ----------------------------------------- 234 | 235 | 236 | -- Debug: 237 | ----------------------------------------- 238 | debugBreakpoint = { fg = colors.debugBreakpoint, style = "reverse" }, 239 | debugPc = { bg = colors.debugPc }, 240 | ----------------------------------------- 241 | 242 | 243 | -- Diffview 244 | ----------------------------------------- 245 | DiffViewNormal = { fg = colors.DiffViewNormal, bg = colors.second_bg }, 246 | DiffviewFilePanelDeletion = { fg = colors.DiffviewFilePanelDeletion }, 247 | DiffviewFilePanelInsertion = { fg = colors.DiffviewFilePanelInsertion }, 248 | DiffviewStatusAdded = { fg = colors.DiffviewStatusAdded }, 249 | DiffviewStatusDeleted = { fg = colors.DiffviewStatusDeleted }, 250 | DiffviewStatusModified = { fg = colors.DiffviewStatusModified }, 251 | DiffviewStatusRenamed = { fg = colors.DiffviewStatusRenamed }, 252 | DiffviewVertSplit = { bg = colors.bg }, 253 | ----------------------------------------- 254 | 255 | 256 | -- Gitsigns: github.com/lewis6991/gitsigns.nvim 257 | ----------------------------------------- 258 | GitSignsAdd = { fg = colors.GitAdd }, 259 | GitSignsChange = { fg = colors.GitChange }, 260 | GitSignsDelete = { fg = colors.GitDelete }, 261 | GitSignsUntracked = { fg = colors.GitUntracked }, 262 | GitSignsAddPreview = { fg = colors.GitAddPreviewFG, bg = colors.GitAddPreviewBG }, 263 | GitSignsDeletePreview = { fg = colors.GitDeletePreviewFG, bg = colors.GitDeletePreviewBG }, 264 | GitSignsDeleteVirtLn = { fg = colors.GitDeletePreviewFG, bg = colors.GitDeletePreviewBG }, 265 | GitSignsDeleteVirtLnInLine = { fg = colors.GitDeletePreviewFG, bg = colors.GitDeletePreviewBG }, 266 | ----------------------------------------- 267 | 268 | 269 | -- gitgutter: github.com/airblade/vim-gitgutter 270 | ----------------------------------------- 271 | GitGutterAdd = { fg = colors.GitGutterAddFG, bg = colors.GitGutterAddBG }, 272 | GitGutterChange = { fg = colors.GitGutterChangeFG, bg = colors.GitGutterChangeBG }, 273 | GitGutterDelete = { fg = colors.GitGutterDeleteFG, bg = colors.GitGutterDeleteBG }, 274 | ----------------------------------------- 275 | 276 | 277 | -- Indent-blankline: github.com/lukas-reineke/indent-blankline.nvim 278 | ----------------------------------------- 279 | IblIndent = { fg = colors.IblIndent }, 280 | IblScope = { fg = colors.IblScope }, 281 | IblContextChar = { fg = colors.IblContextChar }, -- current Curosr Highlighted function 282 | IblSpaceChar = { fg = colors.IblSpaceChar }, -- cursor color on indent space 283 | ----------------------------------------- 284 | 285 | 286 | -- Lsp: neovim.io/doc/user/lsp.html 287 | ----------------------------------------- 288 | DiagnosticError = { fg = colors.DiagnosticError }, 289 | DiagnosticFloatingError = { fg = colors.DiagnosticFloatingError }, 290 | DiagnosticFloatingHint = { fg = colors.DiagnosticFloatingHint }, 291 | DiagnosticFloatingInfo = { fg = colors.DiagnosticFloatingInfo }, 292 | DiagnosticFloatingWarn = { fg = colors.DiagnosticFloatingWarn }, 293 | DiagnosticHint = { fg = colors.DiagnosticHint }, 294 | DiagnosticInfo = { fg = colors.DiagnosticInfo }, 295 | DiagnosticSignError = { fg = colors.DiagnosticSignError }, 296 | DiagnosticSignHint = { fg = colors.DiagnosticSignHint }, 297 | DiagnosticSignInfo = { fg = colors.DiagnosticSignInfo }, 298 | DiagnosticSignWarn = { fg = colors.DiagnosticSignWarn }, 299 | DiagnosticUnderlineError = { guisp = colors.DiagnosticUnderlineError, style = "underline", cterm = "underline", gui = "underline" }, 300 | DiagnosticUnderlineHint = { guisp = colors.DiagnosticUnderlineHint, style = "underline", cterm = "underline", gui = "underline" }, 301 | DiagnosticUnderlineInfo = { guisp = colors.DiagnosticUnderlineInfo, style = "underline", cterm = "underline", gui = "underline" }, 302 | DiagnosticUnderlineWarn = { guisp = colors.DiagnosticUnderlineWarn, style = "underline", cterm = "underline", gui = "underline" }, 303 | DiagnosticVirtualTextError = { fg = colors.DiagnosticVirtualTextError }, 304 | DiagnosticVirtualTextHint = { fg = colors.DiagnosticVirtualTextHint }, 305 | DiagnosticVirtualTextInfo = { fg = colors.DiagnosticVirtualTextInfo }, 306 | DiagnosticVirtualTextWarn = { fg = colors.DiagnosticVirtualTextWarn }, 307 | DiagnosticWarn = { fg = colors.DiagnosticWarn }, 308 | LspInlayHint = { fg = colors.LspInlayHint, style = "italic" }, 309 | ----------------------------------------- 310 | 311 | 312 | -- lspsaga.nvim: https://github.com/glepnir/lspsaga.nvim 313 | ----------------------------------------- 314 | LspSagaLightBulb = { fg = colors.LspSagaLightBulb, bg = 'NONE' }, 315 | 316 | 317 | -- fidget.nvim: https://github.com/j-hui/fidget.nvim 318 | ----------------------------------------- 319 | FidgetTitle = { fg = colors.FidgetTitle, bg = 'NONE', style = "bold" }, 320 | FidgetTask = { fg = colors.FidgetTask, bg = 'NONE' }, 321 | ----------------------------------------- 322 | 323 | 324 | -- vim-indent-guides: github.com/nathanaelkane/vim-indent-guides 325 | ----------------------------------------- 326 | IndentGuidesEven = { fg = colors.IndentGuidesEven }, 327 | IndentGuidesOdd = { fg = colors.IndentGuidesOdd }, 328 | ----------------------------------------- 329 | 330 | 331 | -- flutter-tools.nvim: github.com/akinsho/flutter-tools.nvim/ 332 | ----------------------------------------- 333 | FlutterWidgetGuides = { fg = colors.FlutterWidgetGuides }, 334 | ----------------------------------------- 335 | 336 | 337 | -- Neogit: github.com/TimUntersberger/neogit 338 | ----------------------------------------- 339 | NeogitBranch = { fg = colors.NeogitBranch }, 340 | NeogitDiffAdd = { fg = colors.NeogitDiffAdd, bg = colors.second_bg }, 341 | NeogitDiffContext = { fg = colors.NeogitDiffContext, bg = colors.bg }, 342 | NeogitDiffDelete = { fg = colors.NeogitDiffDelete, bg = colors.second_bg }, 343 | NeogitHunkHeader = { fg = colors.NeogitHunkHeader, bg = colors.second_bg }, 344 | -- Neogit...Highlight is when group is focused 345 | NeogitDiffAddHighlight = { fg = colors.NeogitDiffAdd, bg = colors.second_bg }, 346 | NeogitDiffContextHighlight = { fg = colors.NeogitDiffContext, bg = colors.bg }, 347 | NeogitDiffDeleteHighlight = { fg = colors.NeogitDiffDelete, bg = colors.second_bg }, 348 | NeogitHunkHeaderHighlight = { fg = colors.NeogitHunkHeader, bg = colors.second_bg }, 349 | NeogitRemote = { fg = colors.NeogitRemote }, 350 | ----------------------------------------- 351 | 352 | 353 | -- Nvim-tree: github.com/kyazdani42/nvim-tree.lua 354 | ----------------------------------------- 355 | NvimTreeCursorLine = { fg = colors.NvimTreeCursorLineFG, bg = colors.NvimTreeCursorLinebG }, 356 | NvimTreeExecFile = { fg = colors.NvimTreeExecFile }, 357 | NvimTreeFolderIcon = { fg = colors.NvimTreeFolderIcon }, 358 | NvimTreeFolderName = { fg = colors.NvimTreeFolderName }, 359 | NvimTreeGitDeleted = { fg = colors.NvimTreeGitDeleted }, 360 | NvimTreeGitDirty = { fg = colors.NvimTreeGitDirty }, 361 | NvimTreeGitMerge = { fg = colors.NvimTreeGitMerge }, 362 | NvimTreeGitNew = { fg = colors.NvimTreeGitNew }, 363 | NvimTreeGitRenamed = { fg = colors.NvimTreeGitRenamed }, 364 | NvimTreeGitStaged = { fg = colors.NvimTreeGitStaged }, 365 | NvimTreeImageFile = { fg = colors.NvimTreeImageFile }, 366 | NvimTreeIndentMarker = { fg = colors.NvimTreeIndentMarker }, 367 | NvimTreeNormal = { fg = colors.NvimTreeNormal, bg = colors.bg }, 368 | NvimTreeRootFolder = { fg = colors.NvimTreeRootFolder, style = "bold" }, 369 | NvimTreeSpecialFile = { fg = colors.NvimTreeSpecialFile }, 370 | NvimTreeSymlink = { fg = colors.NvimTreeSymlink }, 371 | NvimTreeVertSplit = { fg = colors.NvimTreeVertSplit, bg = colors.bg }, 372 | NvimTreeOpenedFolderName = { fg = colors.NvimTreeOpenedFolderName, style = "italic" }, 373 | ----------------------------------------- 374 | 375 | 376 | -- Nvim-tree: github.com/nvim-neo-tree/neo-tree.nvim 377 | ----------------------------------------- 378 | NeoTreeIndentMarker = { fg = colors.NeoTreeIndentMarker }, 379 | NeoTreeExpander = { fg = colors.NeoTreeExpander }, 380 | NeoTreeFileIcon = { fg = colors.NeoTreeFileIcon }, 381 | NeoTreeModified = { fg = colors.NeoTreeModified }, 382 | NeoTreeFileName = { fg = colors.NeoTreeFileName }, 383 | 384 | 385 | -- telescope: github.com/nvim-telescope/telescope.nvim 386 | ----------------------------------------- 387 | TelescopeBorder = { fg = colors.TelescopeBorder, bg = config.transparent_background and "NONE" or colors.bg, }, 388 | TelescopeMatching = { fg = colors.TelescopeMatching }, 389 | TelescopePromptPrefix = { fg = colors.TelescopePromptPrefix }, 390 | TelescopeSelection = { fg = colors.TelescopeSelectionFG, bg = colors.TelescopeSelectionBG }, 391 | ----------------------------------------- 392 | 393 | 394 | -- https://github.com/folke/trouble.nvim 395 | ----------------------------------------- 396 | -- TroubleTextInformation = { fg=colors.red, bg=colors.green }, 397 | TroubleFile = { fg = colors.TroubleFile, bg = "NONE" }, -- the source file that has error 398 | TroubleFoldIcon = { fg = colors.TroubleFoldIcon, bg = "NONE" }, -- fold icon color 399 | TroubleCount = { fg = colors.TroubleCountFG, bg = colors.TroubleCountBG }, 400 | TroubleTextError = { fg = colors.TroubleTextError, bg = "NONE" }, -- error info text 401 | TroubleNormal = { fg = colors.TroubleNormal, bg = "NONE" }, -- background color of trouble window 402 | TroubleLocation = { fg = colors.TroubleLocation, bg = "NONE" }, -- location of error 403 | TroubleIndent = { fg = colors.TroubleIndent, bg = "NONE" }, -- indent color 404 | TroubleSignError = { fg = colors.TroubleSignError, bg = "NONE" }, -- error sign color 405 | TroubleSignWarn = { fg = colors.TroubleSignWarn, bg = "NONE" }, -- Warn sign color 406 | TroubleCode = { fg = colors.TroubleCode, bg = "NONE" }, 407 | TroubleSignHint = { fg = colors.TroubleSignHint, bg = "NONE" }, 408 | TroubleIndentFoldClosed = { fg = colors.fg, bg = "NONE" }, 409 | -- TroubleError = { fg=colors.red, bg=colors.green }, 410 | -- TroubleWarning = { fg=colors.red, bg=colors.green }, 411 | -- TroublePreview = { fg=colors.red, bg=colors.green }, 412 | -- TroubleSource = { fg=colors.red, bg=colors.green }, 413 | -- TroubleSignOther = { fg=colors.red, bg=colors.green }, 414 | -- TroubleTextWarning = { fg=colors.red, bg=colors.green }, 415 | -- TroubleInformation = { fg=colors.red, bg=colors.green }, 416 | -- TroubleHint = { fg=colors.red, bg=colors.green }, 417 | -- TroubleTextHint = { fg=colors.red, bg=colors.green }, 418 | -- TroubleText = { fg=colors.red, bg=colors.green }, 419 | -- TroubleSignInformation = { fg=colors.red, bg=colors.green }, 420 | ----------------------------------------- 421 | 422 | 423 | -- https://github.com/SmiteshP/nvim-navic 424 | ----------------------------------------- 425 | NavicSeparator = { fg = colors.NavicSeparator, bg = colors.bg, style = "italic" }, 426 | NavicText = { fg = colors.NavicText, bg = colors.bg, style = "italic" }, 427 | NavicIconsArray = { fg = colors.NavicIconsArray, bg = colors.bg, style = "italic" }, 428 | NavicIconsBoolean = { fg = colors.NavicIconsBoolean, bg = colors.bg, style = "italic" }, 429 | NavicIconsClass = { fg = colors.NavicIconsClass, bg = colors.bg, style = "italic" }, 430 | NavicIconsConstant = { fg = colors.NavicIconsConstant, bg = colors.bg, style = "italic" }, 431 | NavicIconsConstructor = { fg = colors.NavicIconsConstructor, bg = colors.bg, style = "italic" }, 432 | NavicIconsEnum = { fg = colors.NavicIconsEnum, bg = colors.bg, style = "italic" }, 433 | NavicIconsEnumMember = { fg = colors.NavicIconsEnumMember, bg = colors.bg, style = "italic" }, 434 | NavicIconsEvent = { fg = colors.NavicIconsEvent, bg = colors.bg, style = "italic" }, 435 | NavicIconsField = { fg = colors.NavicIconsField, bg = colors.bg, style = "italic" }, 436 | NavicIconsFile = { fg = colors.NavicIconsFile, bg = colors.bg, style = "italic" }, 437 | NavicIconsFunction = { fg = colors.NavicIconsFunction, bg = colors.bg, style = "italic" }, 438 | NavicIconsInterface = { fg = colors.NavicIconsInterface, bg = colors.bg, style = "italic" }, 439 | NavicIconsKey = { fg = colors.NavicIconsKey, bg = colors.bg, style = "italic" }, 440 | NavicIconsMethod = { fg = colors.NavicIconsMethod, bg = colors.bg, style = "italic" }, 441 | NavicIconsModule = { fg = colors.NavicIconsModule, bg = colors.bg, style = "italic" }, 442 | NavicIconsNamespace = { fg = colors.NavicIconsNamespace, bg = colors.bg, style = "italic" }, 443 | NavicIconsNull = { fg = colors.NavicIconsNull, bg = colors.bg, style = "italic" }, 444 | NavicIconsNumber = { fg = colors.NavicIconsNumber, bg = colors.bg, style = "italic" }, 445 | NavicIconsObject = { fg = colors.NavicIconsObject, bg = colors.bg, style = "italic" }, 446 | NavicIconsOperator = { fg = colors.NavicIconsOperator, bg = colors.bg, style = "italic" }, 447 | NavicIconsPackage = { fg = colors.NavicIconsPackage, bg = colors.bg, style = "italic" }, 448 | NavicIconsProperty = { fg = colors.NavicIconsProperty, bg = colors.bg, style = "italic" }, 449 | NavicIconsString = { fg = colors.NavicIconsString, bg = colors.bg, style = "italic" }, 450 | NavicIconsStruct = { fg = colors.NavicIconsStruct, bg = colors.bg, style = "italic" }, 451 | NavicIconsTypeParameter = { fg = colors.NavicIconsTypeParameter, bg = colors.bg, style = "italic" }, 452 | NavicIconsVariable = { fg = colors.NavicIconsVariable, bg = colors.bg, style = "italic" }, 453 | ----------------------------------------- 454 | 455 | 456 | -- https://github.com/folke/noice.nvim 457 | ----------------------------------------- 458 | NoiceCmdlinePopupBorder = { fg = colors.fg, bg = colors.bg }, 459 | NoiceCmdlineIconCmdline = { fg = colors.fg, bg = colors.bg }, 460 | NoiceCmdlinePopupBorderSearch = { fg = colors.NoiceCmdlineSearch, bg = colors.bg }, 461 | NoiceCmdlineIconSearch = { fg = colors.NoiceCmdlineSearch, bg = colors.bg }, 462 | 463 | 464 | ----------------------------------------- 465 | -- end PLUGIN SPECIFIC 466 | ----------------------------------------- 467 | 468 | 469 | ----------------------------------------- 470 | -- LANGUAGE SYNTAX 471 | ----------------------------------------- 472 | 473 | 474 | -- Markdown 475 | ----------------------------------------- 476 | markdownH1 = { fg = colors.markH }, 477 | markdownH2 = { fg = colors.markH }, 478 | markdownH3 = { fg = colors.markH }, 479 | markdownH4 = { fg = colors.markH }, 480 | markdownH5 = { fg = colors.markH }, 481 | markdownH6 = { fg = colors.markH }, 482 | markdownId = { fg = colors.markId }, 483 | markdownUrl = { fg = colors.markUrl, style = "underline" }, 484 | markdownRule = { fg = colors.markRule }, 485 | markdownBold = { fg = colors.markBold, style = "bold" }, 486 | markdownCode = { fg = colors.markCode }, 487 | markdownItalic = { fg = colors.markItalic, style = "italic" }, 488 | markdownCodeBlock = { fg = colors.markCodeBlock }, 489 | markdownCodeError = { fg = colors.markCodeError }, 490 | markdownLinkText = { fg = colors.markLinkText }, 491 | markdownListMarker = { fg = colors.markList }, 492 | markdownCodeSpecial = { fg = colors.markCodeSpecial }, 493 | markdownCodeDelimiter = { fg = colors.markCodeDelimiter }, 494 | markdownBlockquote = { fg = colors.markQuote }, 495 | markdownIdDeclaration = { fg = colors.markIdDeclaration }, 496 | markdownIdDelimiter = { fg = colors.markIdDelimiter }, 497 | markdownLinkDelimiter = { fg = colors.markLinkDelimiter }, 498 | markdownHeadingRule = { fg = colors.markHeadingRule }, 499 | markdownHeadingDelimiter = { fg = colors.markHeadingDelimiter }, 500 | markdownUrlTitleDelimiter = { fg = colors.markUrlTitleDelimiter }, 501 | markdownOrderedListMarker = { fg = colors.markOrderedListMarker }, 502 | 503 | ----------------------------------------- 504 | 505 | 506 | -- HTML language: 507 | ----------------------------------------- 508 | htmlArg = { style = "italic" }, 509 | ----------------------------------------- 510 | 511 | 512 | -- CSS / SASS / SCSS 513 | ----------------------------------------- 514 | cssFlexibleBoxAttr = { fg = colors.FlexibleBoxAttr, style = "italic" }, -- example -> center 515 | cssColor = { fg = colors.Color, style = "italic" }, -- example -> green, red, blue 516 | cssUnitDecorators = { style = "italic" }, -- exaple -> rem, em, px, 517 | cssTagName = { fg = colors.TagName, style = "NONE" }, -- only changes bold/italic| example -> body, html 518 | cssBoxProp = { fg = colors.BoxProp }, 519 | cssBraces = { fg = colors.Braces }, 520 | cssUIProp = { fg = colors.UIProp }, 521 | 522 | sassDefinition = { fg = colors.Definition }, 523 | sassProperty = { fg = colors.Property }, 524 | sassCssAttribute = { fg = colors.Attribute }, 525 | sassInclude = { fg = colors.Include }, 526 | 527 | cssTSPunctDelimiter = { fg = colors.PunctDelimiter, style = "NONE" }, -- example -> : 528 | cssTSPunctBracket = { fg = colors.PunctBracket, style = "NONE" }, -- example -> { },() 529 | cssTSProperty = { fg = colors.Property, style = "NONE" }, -- example -> background-color, display, text-align 530 | cssTSType = { fg = colors.Type, style = "NONE" }, -- only changes color | example -> body, html 531 | 532 | scssTSProperty = { fg = colors.Property }, 533 | scssTSPunctBracket = { fg = colors.PunctBracket }, 534 | ----------------------------------------- 535 | 536 | 537 | -- JSON Language 538 | ----------------------------------------- 539 | jsonLabel = { fg = colors.Label, style = "NONE" }, 540 | jsonKeyword = { fg = colors.Label, style = "NONE" }, 541 | jsonKeywordMatch = { fg = colors.KeywordMatch, style = "bold" }, 542 | jsonString = { fg = colors.String, style = "italic" }, 543 | 544 | jsonTSLabel = { fg = colors.Label, style = "NONE" }, 545 | jsonTSPunctBracket = { fg = colors.PunctBracket, style = "bold" }, 546 | ----------------------------------------- 547 | 548 | 549 | -- MAKE Language 550 | ----------------------------------------- 551 | cmakeCommand = { fg = colors.Command }, 552 | cmakeArguments = { fg = colors.Arguments }, 553 | cmakeKWvariable_watch = { fg = colors.KWvariable_watch }, 554 | cmakeKWproject = { fg = colors.KWproject }, 555 | cmakeGeneratorExpressions = { fg = colors.GeneratorExpressions }, 556 | cmakeVariable = { fg = colors.Variable }, 557 | cmakeKWuse_mangled_mesa = { fg = colors.fg, style = "italic" }, 558 | cmakeTSVariable = { fg = colors.Variable }, 559 | ----------------------------------------- 560 | 561 | 562 | ----------------------------------------- 563 | -- end LANGUAGE SYNTAX 564 | ----------------------------------------- 565 | 566 | 567 | ----------------------------------------- 568 | -- treesitter: github.com/nvim-treesitter/nvim-treesitter 569 | ----------------------------------------- 570 | 571 | -- Identifiers 572 | -------------------------------- 573 | ["@variable"] = { fg = colors.Variable, style = "NONE" }, -- various variable names 574 | ["@variable.builtin"] = { fg = colors.VariableBuiltin }, -- built-in variable names (e.g. `this`) 575 | ["@variable.parameter"] = { fg = colors.Parameter, style = "italic" }, -- parameters of a function 576 | ["@variable.member"] = { fg = colors.Field }, -- object and struct fields 577 | ["@constant"] = { fg = colors.Constant }, -- constant identifiers 578 | ["@constant.builtin"] = { fg = colors.ConstBuiltin }, -- built-in constant values 579 | ["@constant.macro"] = { fg = colors.ConstMacro }, -- constants defined by the preprocessor 580 | ["@module"] = { fg = colors.Namespace }, -- modules or namespaces 581 | -- ["@module.builtin"] = { }, -- built-in modules or namespaces 582 | ["@label"] = { fg = colors.Label }, -- GOTO and other labels (e.g. `label:` in C), including heredoc labels 583 | 584 | -- Literals 585 | -------------------------------- 586 | ["@string"] = { fg = colors.String }, -- string literals 587 | -- ["@string.documentation"] = {}, -- string documenting code (e.g. Python docstrings) 588 | ["@string.regexp"] = { fg = colors.StringRegex }, -- regular expressions 589 | ["@string.escape"] = { fg = colors.StringEscape }, -- escape sequences 590 | -- ["@string.special"] = {}, -- other special strings (e.g. dates) 591 | ["@string.special.symbol"] = { fg = colors.Symbol }, -- symbols or atoms 592 | ["@string.special.url"] = { fg = colors.URI, style = "underline" }, -- URIs (e.g. hyperlinks) 593 | -- ["@string.special.path"] = {}, -- filenames 594 | ["@character"] = { fg = colors.Character }, -- character literals 595 | -- ["@character.special"] = {}, -- special characters (e.g. wildcards) 596 | ["@boolean"] = { fg = colors.Boolean }, -- boolean literals 597 | ["@number"] = { fg = colors.Number }, -- numeric literals 598 | ["@number.float"] = { fg = colors.Float }, -- floating-point number literals 599 | 600 | -- Types 601 | -------------------------------- 602 | ["@type"] = { fg = colors.Type, style = "NONE" }, -- type or class definitions and annotations 603 | ["@type.builtin"] = { fg = colors.TypeBuiltin }, -- built-in types 604 | -- ["@type.definition"] = {}, -- identifiers in type definitions (e.g. `typedef ` in C) 605 | -- ["@type.qualifier"] = {}, -- type qualifiers (e.g. `const`) 606 | ["@attribute"] = { fg = colors.Attribute }, -- attribute annotations (e.g. Python decorators) 607 | ["@property"] = { fg = colors.Property }, -- the key in key/value pairs 608 | 609 | -- Functions 610 | -------------------------------- 611 | ["@function"] = { fg = colors.Function }, -- function definitions 612 | ["@function.builtin"] = { fg = colors.FuncBuiltin }, -- built-in functions 613 | -- ["@function.call"] = {},-- function calls 614 | ["@function.macro"] = { fg = colors.FuncMacro }, -- preprocessor macros 615 | ["@function.method"] = { fg = colors.Method }, -- method definitions 616 | -- ["@function.method.call"] = {},-- method calls 617 | ["@constructor"] = { fg = colors.Constructor }, -- constructor calls and definitions 618 | ["@operator"] = { fg = colors.Operator }, -- symbolic operators (e.g. `+` / `*`) 619 | 620 | -- Keywords 621 | -------------------------------- 622 | ["@keyword"] = { fg = colors.Keyword, style = "NONE" }, -- keywords not fitting into specific categories 623 | -- ["@keyword.coroutine"] = {}, -- keywords related to coroutines (e.g. `go` in Go, `async/await` in Python) 624 | ["@keyword.function"] = { fg = colors.KeywordFunction, style = "NONE" }, -- keywords that define a function (e.g. `func` in Go, `def` in Python) 625 | ["@keyword.operator"] = { fg = colors.KeywordOperator }, -- operators that are English words (e.g. `and` / `or`) 626 | -- ["@keyword.import"] = {}, -- keywords for including modules (e.g. `import` / `from` in Python) 627 | -- ["@keyword.storage"] = {}, -- modifiers that affect storage in memory or life-time 628 | ["@keyword.repeat"] = { fg = colors.Repeat }, -- keywords related to loops (e.g. `for` / `while`) 629 | ["@keyword.return"] = { fg = colors.KeywordReturn }, -- keywords like `return` and `yield` 630 | -- ["@keyword.debug"] = {}, -- keywords related to debugging 631 | ["@keyword.exception"] = { fg = colors.Exception }, -- keywords related to exceptions (e.g. `throw` / `catch`) 632 | -- ["@keyword.conditional"] = {}, -- keywords related to conditionals (e.g. `if` / `else`) 633 | -- ["@keyword.conditional.ternary"] = {}, -- ternary operator (e.g. `?` / `:`) 634 | -- ["@keyword.directive"] = {}, -- various preprocessor directives & shebangs 635 | -- ["@keyword.directive.define"] = {}, -- preprocessor definition directives 636 | 637 | -- Punctuation 638 | -------------------------------- 639 | ["@punctuation.delimiter"] = { fg = colors.PunctDelimiter }, -- delimiters (e.g. `--` / `.` / `,`) 640 | ["@punctuation.bracket"] = { fg = colors.PunctBracket }, -- brackets (e.g. `()` / `{}` / `[]`) 641 | ["@punctuation.special"] = { fg = colors.PunctSpecial }, -- special symbols (e.g. `{}` in string interpolation) 642 | 643 | -- Comments 644 | -------------------------------- 645 | ["@comment"] = { fg = colors.Comment, style = "italic" }, -- line and block comments 646 | -- ["@comment.documentation"] = {}, -- comments documenting code 647 | ["@comment.error"] = { fg = colors.Error, tyle = "bold" }, -- error-type comments (e.g., `DEPRECATED:`) 648 | ["@comment.warning"] = { fg = colors.Warning, tyle = "bold" }, -- warning-type comments (e.g., `WARNING:`, `FIX:`) 649 | ["@comment.hint"] = { fg = colors.Note }, -- note-type comments (e.g., `NOTE:`) 650 | -- ["@comment.info"] = {}, -- info-type comments 651 | ["@comment.todo"] = { fg = colors.TodoFG, bg = colors.TodoBG }, -- todo-type comments (e.g-, `TODO:`, `WIP:`) 652 | 653 | -- Markup 654 | -------------------------------- 655 | ["@markup.strong"] = { fg = colors.Strong }, -- bold text 656 | ["@markup.italic"] = { fg = colors.markItalic, style = "italic" }, -- text with emphasis 657 | -- ["@markup.strikethrough"] = {}, -- strikethrough text 658 | ["@markup.underline"] = { style = "underline" }, -- underlined text (only for literal underline markup!) 659 | ["@markup.heading"] = { fg = colors.Title, style = "NONE" }, -- headings, titles (including markers) 660 | ["@markup.quote"] = { fg = colors.markQuote }, -- block quotes 661 | -- ["@markup.math"] = {}, -- math environments (e.g. `$ ... $` in LaTeX) 662 | -- ["@markup.environment"] = {}, -- environments (e.g. in LaTeX) 663 | ["@markup.link"] = { fg = colors.markLinkText }, -- text references, footnotes, citations, etc. 664 | -- ["@markup.link.label"] = {}, -- link, reference descriptions 665 | -- ["@markup.link.url"] = {}, -- URL-style links 666 | -- ["@markup.raw"] = {}, -- literal or verbatim text (e.g., inline code) 667 | -- ["@markup.raw.block"] = {}, -- literal or verbatim text as a stand-alone block (use priority 90 for blocks with injections) 668 | ["@markup.list"] = { fg = colors.markList }, -- list markers 669 | -- ["@markup.list.checked"] = {}, -- checked todo-style list markers 670 | -- ["@markup.list.unchecked"] = {}, -- unchecked todo-style list markers 671 | -- ["@diff.plus"] = {}, -- added text (for diff files) 672 | -- ["@diff.minus"] = {}, -- deleted text (for diff files) 673 | -- ["@diff.delta"] = {}, -- changed text (for diff files) 674 | 675 | -------------------------------- 676 | -- Non-highlighting captures 677 | -- ["@none"] = {}, -- completely disable the highlight 678 | ["@conceal"] = { fg = colors.fg }, -- captures that are only meant to be concealed 679 | -- ["@spell"] = {}, -- for defining regions to be spellchecked 680 | -- ["@nospell"] = {}, -- for defining regions that should NOT be spellchecked 681 | 682 | -------------------------------- 683 | -- Others 684 | ["@tag"] = { fg = colors.Tag }, 685 | 686 | -- TSInclude = { fg=colors.Include }, 687 | -- TSTagAttribute = { fg=colors.TagAttribute }, 688 | -- TSAnnotation = { fg=colors.Annotation }, 689 | -- TSStructure = { fg=colors.Structure }, 690 | -- TSTagDelimiter = { fg=colors.TagDelimiter }, 691 | -- TSQueryLinterError = { fg=colors.QueryLinterError }, 692 | -- TSParameterReference = { fg=colors.ParameterReference }, 693 | ----------------------------------------- 694 | } 695 | 696 | return M 697 | -------------------------------------------------------------------------------- /lua/abscs/init.lua: -------------------------------------------------------------------------------- 1 | vim.cmd("hi clear") 2 | vim.o.termguicolors = true 3 | vim.o.background = "dark" 4 | vim.g.colors_name = "abscs" 5 | 6 | local util = require("abscs.util") 7 | local theme = require("abscs.highlight") 8 | util.load(theme) 9 | -------------------------------------------------------------------------------- /lua/abscs/themes/aqua.lua: -------------------------------------------------------------------------------- 1 | 2 | return { 3 | 4 | fg = "#FFFADE", 5 | bg = "#060606", 6 | second_bg = "#252525", 7 | 8 | 9 | -- GUI 10 | CurSearch = "#FF0000", 11 | Cursor = "#FFFF00", 12 | CursorLine = "#141414", 13 | CursorLineNrBG = "#178C94", 14 | CursorLineNrFG = "#000000", 15 | Delimiter = "#CCCCCC", 16 | DiffAdd = "#44B273", 17 | DiffAdded = "#44B273", 18 | DiffChange = "#E25600", 19 | DiffDelete = "#FC2929", 20 | DiffFile = "#D16BB7", 21 | DiffRemoved = "#FC2929", 22 | DiffText = "#1D918B", 23 | FloatBorder = "#808080", 24 | FoldColumn = "#444444", 25 | FoldedBG = "#141414", 26 | FoldedFG = "#178C94", 27 | IncSearch = "#FF0000", 28 | LineNr = "#444444", 29 | MoreMsg = "#E25600", 30 | NormalFloat = "#808080", 31 | Pmenu = "#808080", 32 | PmenuSbar = "#21252D", 33 | PmenuSelBG = "#1D918B", 34 | PmenuSelFG = "#000000", 35 | PmenuThumb = "#1D918B", 36 | QuickFixLine = "#3E3E3E", 37 | StatusLine = "#141414", 38 | StatusLineNCBG = "#21252D", 39 | StatusLineNCFG = "#CCCCCC", 40 | StatusLineSeparator = "#252525", 41 | StatusLineTermBG = "#21252D", 42 | StatusLineTermFG = "#47A8A1", 43 | StatusLineTermNCBG = "#21252D", 44 | StatusLineTermNCFG = "#CCCCCC", 45 | SubstituteBG = "#C8C9C1", 46 | SubstituteFG = "#613214", 47 | VertSplit = "#808080", 48 | Visual = "#21252D", 49 | VisualNOSBG = "#C6C6C6", 50 | VisualNOSFG = "#21252D", 51 | WarningMsgBG = "#ED722E", 52 | WarningMsgFG = "#21252D", 53 | Whitespace = "#373C45", 54 | lCursorBG = "#AEAFAD", 55 | lCursorFG = "#515052", 56 | -- end GUI 57 | 58 | 59 | -- LANGUAGES 60 | Access = "#FC2929", 61 | Annotation = "#CC5500", 62 | Arguments = "#1D918B", 63 | Attribute = "#E97451", 64 | Block = "#FC2929", 65 | Boolean = "#01A0F5", 66 | BoxProp = "#FF80FF", 67 | Braces = "#8E24FF", 68 | Character = "#50C16E", 69 | Color = "#FF557F", 70 | Command = "#FFFFFF", 71 | Comment = "#5C4D4D", 72 | Conditional = "#50C16E", 73 | ConstBuiltin = "#BD33A4", 74 | ConstMacro = "#702963", 75 | Constant = "#FFCC66", 76 | Constructor = "#01A0F5", 77 | Define = "#D68EB2", 78 | Definition = "#FFCC66", 79 | Error = "#FF0000", 80 | ErrorMsg = "#FF3939 ", 81 | Exception = "#D68EB2", 82 | Field = "#05d2dd", 83 | FlexibleBoxAttr = "#00557F", 84 | Float = "#D68EB2", 85 | FuncBuiltin = "#00BFFF", 86 | FuncMacro = "#006B3C", 87 | Function = "#FFFFFF", 88 | GeneratorExpressions = "#FF1111", 89 | Identifier = "#FFFADE", 90 | Ignore = "#CCCCCC", 91 | Include = "#F92672", 92 | KWproject = "#F92672", 93 | KWuse_mangled_mesa = "#FFFADE", 94 | KWvariable_watch = "#00BFA4", 95 | Keyword = "#E30022", 96 | KeywordFunction = "#018ED5", 97 | KeywordMatch = "#FF0000", 98 | KeywordOperator = "#F92672", 99 | KeywordReturn = "#FC2929", 100 | Label = "#888888", 101 | Literal = "#E30022", 102 | Macro = "#D68EB2", 103 | MatchParenBG = "#1D918B", 104 | MatchParenFG = "#FFFADE", 105 | Method = "#8877B1", 106 | Namespace = "#FFFFFF", 107 | NonText = "#373C45", 108 | Note = "#FBB13C", 109 | Number = "#FFCC66", 110 | Operator = "#F92672", 111 | Parameter = "#7FBEEB", 112 | ParameterReference = "#9CDCFE", 113 | PreCondit = "#D68EB2", 114 | PreProc = "#F92672", 115 | Property = "#00CC99", 116 | PunctBracket = "#A3C1AD", 117 | PunctDelimiter = "#C19A6B", 118 | PunctSpecial = "#78866B", 119 | QueryLinterError = "#EB4C42", 120 | Question = "#21252D", 121 | Repeat = "#E30022", 122 | SearchBg = "#E25600", 123 | SearchFG = "#060606", 124 | Special = "#ED722E", 125 | SpecialChar = "#9D9797", 126 | SpecialComment = "#47A8A1", 127 | SpecialKey = "#CCCCCC", 128 | SpellBad = "#FC2929", 129 | SpellCap = "#E25600", 130 | SpellLocal = "#44B273", 131 | SpellRare = "#D16BB7", 132 | Statement = "#00DFFF", 133 | StorageClass = "#F92672", 134 | String = "#CF5C36", 135 | StringEscape = "#FF0800", 136 | StringRegex = "#FF0800", 137 | Strong = "#E4717A", 138 | Structure = "#FC2929", 139 | Symbol = "#592720", 140 | TabLineFG = "#B3B3B3", 141 | TabLineBG = "#141414", 142 | TabLineSel = "#072B2C", 143 | TabLineCurrentWin = "#7AA6ff", 144 | TableBlock = "#FFCC66", 145 | Tag = "#178C94", 146 | TagAttribute = "#00CC99", 147 | TagDelimiter = "#00CC99", 148 | TagName = "#00CC99", 149 | Text = "#FFFF99", 150 | Title = "#FFFF99", 151 | TodoBG = "#3B3B1D", 152 | TodoFG = "#FFFFFF", 153 | Type = "#1D918B", 154 | TypeBuiltin = "#FC2929", 155 | Typedef = "#5AD1AA", 156 | UIProp = "#E4717A", 157 | URI = "#B31B1B", 158 | Variable = "#00BFA4", 159 | VariableBuiltin = "#99BADD", 160 | Warning = "#FBB13C", 161 | markQuote = "#BBBBBB", 162 | markBold = "#CCCCCC", 163 | markCode = "#ED722E", 164 | markCodeBlock = "#ED722E", 165 | markCodeDelimiter = "#44B273", 166 | markCodeError = "#FF5050", 167 | markCodeSpecial = "#E25600", 168 | markH = "#1D918B", 169 | markHeadingDelimiter = "#1D918B", 170 | markHeadingRule = "#BBBBBB", 171 | markId = "#D16BB7", 172 | markIdDeclaration = "#1D918B", 173 | markIdDelimiter = "#C8C9C1", 174 | markItalic = "#CCCCCC", 175 | markLinkDelimiter = "#C8C9C1", 176 | markLinkText = "#1D918B", 177 | markList = "#FC2929", 178 | markOrderedListMarker = "#FC2929", 179 | markRule = "#BBBBBB", 180 | markUrl = "#D16BB7", 181 | markUrlTitleDelimiter = "#00BFA4", 182 | -- end LANGUAGES 183 | 184 | 185 | -- PLUGINS 186 | BufferCloseButtonSelected = "#141414", 187 | BufferCurrentBg = "#141414", 188 | BufferCurrentFg = "#b3b3b3", 189 | BufferCurrentMod = "#FFCC66", 190 | BufferCurrentSign = "#4FC1FF", 191 | BufferCurrentTarget = "#FC2929", 192 | BufferInactive = "#808080", 193 | BufferInactiveIndex = "#808080", 194 | BufferInactiveMod = "#FFCC66", 195 | BufferInactiveSign = "#808080", 196 | BufferInactiveTarget = "#FC2929", 197 | BufferIndicatorSelected = "#141414", 198 | BufferLineFill = "#141414", 199 | BufferVisibleMod = "#FFCC66", 200 | BufferVisibleSign = "#808080", 201 | BufferVisibleTarget = "#FC2929", 202 | BuffNumbers = "#141414", 203 | BufferSelected = "#141414", 204 | 205 | CmpDocumentation = "#FFFADE", 206 | CmpDocumentationBorder = "#808080", 207 | CmpItemAbbr = "#FFFADE", 208 | CmpItemAbbrDeprecated = "#808080", 209 | CmpItemAbbrMatch = "#00BFA4", 210 | CmpItemAbbrMatchFuzzy = "#00BFA4", 211 | CmpItemMenu = "#C8C9C1", 212 | CmpItemKind = "#C8C9C1", 213 | CmpItemKindClass = "#DBBD7F", 214 | CmpItemKindFunction = "#ad75a9", 215 | CmpItemKindInterface = "#75a6be", 216 | CmpItemKindKeyword = "#D4D4D4", 217 | CmpItemKindMethod = "#ad75a9", 218 | CmpItemKindProperty = "#D4D4D4", 219 | CmpItemKindText = "#75a6be", 220 | CmpItemKindUnit = "#D4D4D4", 221 | CmpItemKindVariable = "#75a6be", 222 | 223 | DashboardCenter = "#D16BB7", 224 | DashboardFooter = "#00BFA4", 225 | DashboardHeader = "#1D918B", 226 | 227 | debugBreakpoint = "#FC2929", 228 | debugPc = "#00BFA4", 229 | 230 | DiagnosticHint = "#255c79", 231 | DiagnosticError = "#862727", 232 | DiagnosticInfo = "#FFCC66", 233 | DiagnosticWarn = "#FF8800", 234 | LspInlayHint = "#5C4D4D", 235 | DiagnosticUnderlineError = "#840000", 236 | DiagnosticUnderlineHint = "#07454b", 237 | DiagnosticUnderlineInfo = "#265478", 238 | DiagnosticUnderlineWarn = "#2f2905", 239 | DiagnosticFloatingError = "#F44747", 240 | DiagnosticFloatingHint = "#255c79", 241 | DiagnosticFloatingInfo = "#FFCC66", 242 | DiagnosticFloatingWarn = "#FF8800", 243 | DiagnosticSignError = "#8d2929", 244 | DiagnosticSignHint = "#255c79", 245 | DiagnosticSignInfo = "#796130", 246 | DiagnosticSignWarn = "#582d00", 247 | DiagnosticVirtualTextError = "#7e2525", 248 | DiagnosticVirtualTextInfo = "#2F2905", 249 | DiagnosticVirtualTextHint = "#3E3E3E", 250 | DiagnosticVirtualTextWarn = "#2F2905", 251 | 252 | DiffViewNormal = "#808080", 253 | DiffviewFilePanelDeletion = "#94151B", 254 | DiffviewFilePanelInsertion = "#587C0C", 255 | DiffviewStatusAdded = "#587C0C", 256 | DiffviewStatusDeleted = "#94151B", 257 | DiffviewStatusModified = "#0C7D9D", 258 | DiffviewStatusRenamed = "#0C7D9D", 259 | 260 | FidgetTitle = "#147e7e", 261 | FidgetTask = "#106161", 262 | 263 | FlutterWidgetGuides = "#8C8C8C", 264 | 265 | GitAdd = "#215637", 266 | GitChange = "#5f4d0b", 267 | GitDelete = "#FF0000", 268 | GitUntracked = "#215637", 269 | GitBG = "#141414", 270 | GitAddPreviewFG = "#00ff04", 271 | GitAddPreviewBG = "#002201", 272 | GitDeletePreviewFG = "#FF0000", 273 | GitDeletePreviewBG = "#240001", 274 | 275 | GitGutterAddFG = "#44B273", 276 | GitGutterAddBG = "#060606", 277 | GitGutterChangeFG = "#967B11", 278 | GitGutterChangeBG = "#060606", 279 | GitGutterDeleteFG = "#FF0000", 280 | GitGutterDeleteBG = "#060606", 281 | 282 | IblIndent = "#111111", 283 | IblScope = "#777777", 284 | IblContextChar = "#777777", 285 | IblSpaceChar = "#126b70", 286 | 287 | IndentGuidesEven = "#FFFADE", 288 | IndentGuidesOdd = "#CCCCCC", 289 | 290 | LspSagaLightBulb = "#44B273", 291 | 292 | NvimTreeCursorLineFG = "#000000", 293 | NvimTreeCursorLinebG = "#47A8A1", 294 | NvimTreeExecFile = "#44B273", 295 | NvimTreeFolderIcon = "#1D918B", 296 | NvimTreeFolderName = "#1D918B", 297 | NvimTreeGitDeleted = "#94151B", 298 | NvimTreeGitDirty = "#587C0C", 299 | NvimTreeGitMerge = "#0C7D9D", 300 | NvimTreeGitNew = "#587C0C", 301 | NvimTreeGitRenamed = "#0C7D9D", 302 | NvimTreeGitStaged = "#587C0C", 303 | NvimTreeImageFile = "#D16BB7", 304 | NvimTreeIndentMarker = "#808080", 305 | NvimTreeNormal = "#BBBBBB", 306 | NvimTreeRootFolder = "#808080", 307 | NvimTreeSpecialFile = "#E25600", 308 | NvimTreeSymlink = "#00BFA4", 309 | NvimTreeVertSplit = "#3E3E3E", 310 | NvimTreeOpenedFolderName = "#1D918B", 311 | 312 | NeoTreeIndentMarker = "#808080", 313 | NeoTreeExpander = "#1D918B", 314 | NeoTreeFileIcon = "#587C0C", 315 | NeoTreeModified = "#1D918B", 316 | NeoTreeFileName = "#DDDDDD", 317 | 318 | NeogitBranch = "#D16D9E", 319 | NeogitDiffAdd = "#587C0C", 320 | NeogitDiffContext = "#BBBBBB", 321 | NeogitDiffDelete = "#94151B", 322 | NeogitHunkHeader = "#BBBBBB", 323 | NeogitRemote = "#D16BB7", 324 | 325 | TabSelectedFG = "#FFFFFF", 326 | TabSelectedBG = "#141414", 327 | TabFG = "#FFFFFF", 328 | TabBG = "#141414", 329 | 330 | TelescopeBorder = "#808080", 331 | TelescopeMatching = "#FF8000", 332 | TelescopePromptPrefix = "#00DFFF", 333 | TelescopeSelectionFG = "#FFFFFF", 334 | TelescopeSelectionBG = "#21252D", 335 | 336 | TroubleFile = "#FFFFFF", 337 | TroubleFoldIcon = "#FF0000", 338 | TroubleCountFG = "#ffffff", 339 | TroubleCountBG = "#404040", 340 | TroubleTextError = "#FF5050", 341 | TroubleNormal = "#808080", 342 | TroubleLocation = "#626262", 343 | TroubleIndent = "#FFFFFF", 344 | TroubleSignError = "#FF0000", 345 | TroubleSignHint = "#626262", 346 | TroubleSignWarn = "#444400", 347 | TroubleCode = "#444400", 348 | 349 | NavicSeparator = "#51578f", 350 | NavicText = "#666666", 351 | NavicIconsFileIcon = "#ACACAC", 352 | NavicIconsArray = "#8b1540", 353 | NavicIconsBoolean = "#015c8a", 354 | NavicIconsClass = "#8d5c18", 355 | NavicIconsConstant = "#FFFADE", 356 | NavicIconsConstructor = "#015e8c", 357 | NavicIconsEnum = "#168888", 358 | NavicIconsEnumMember = "#0c494a", 359 | NavicIconsEvent = "#8f476b", 360 | NavicIconsField = "#038286", 361 | NavicIconsFile = "#acacac", 362 | NavicIconsFunction = "#722587", 363 | NavicIconsInterface = "#8b2c27", 364 | NavicIconsKey = "#8a0015", 365 | NavicIconsMethod = "#73538c", 366 | NavicIconsModule = "#8d7138", 367 | NavicIconsNamespace = "#FFFFFF", 368 | NavicIconsNull = "#8c0015", 369 | NavicIconsNumber = "#8a6e37", 370 | NavicIconsObject = "#8d008d", 371 | NavicIconsOperator = "#8b1540", 372 | NavicIconsPackage = "#005a83", 373 | NavicIconsProperty = "#008f6b", 374 | NavicIconsString = "#8a3c24", 375 | NavicIconsStruct = "#8c1717", 376 | NavicIconsTypeParameter = "#4d748f", 377 | NavicIconsVariable = "#008470", 378 | 379 | NoiceCmdlineSearch = "#E25600", 380 | -- end PLUGINS 381 | } 382 | 383 | -------------------------------------------------------------------------------- /lua/abscs/util.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | local function highlight(group, properties) 4 | local bg = properties.bg == nil and "" or "guibg=" .. properties.bg 5 | local fg = properties.fg == nil and "" or "guifg=" .. properties.fg 6 | local guisp = properties.guisp == nil and "" or "guisp=" .. properties.guisp 7 | local style = properties.style == nil and "" or "gui=" .. properties.style 8 | local cmd = table.concat({ "highlight", group, bg, fg, guisp, style }, " ") 9 | vim.api.nvim_command(cmd) 10 | end 11 | 12 | function M.load(theme) 13 | for _, v in pairs(theme) do 14 | for group, properties in pairs(v) do 15 | highlight(group, properties) 16 | end 17 | end 18 | end 19 | 20 | function M.get_filetype_icon() 21 | -- depends on github.com/kyazdani42/nvim-web-devicons 22 | local _devicons, devicons = pcall(require, "nvim-web-devicons") 23 | if not _devicons then 24 | return false 25 | end 26 | local file_name = vim.fn.expand("%:t") 27 | local ext = vim.fn.expand("%:e") 28 | local icon, icon_color = devicons.get_icon_color(file_name, ext, { default = true }) 29 | 30 | return { 31 | icon = icon, 32 | icon_color = icon_color, 33 | } 34 | end 35 | 36 | return M 37 | --------------------------------------------------------------------------------