├── colors └── onebuddy.vim ├── assets ├── dark.png └── light.png ├── LICENSE ├── README.md └── lua └── onebuddy.lua /colors/onebuddy.vim: -------------------------------------------------------------------------------- 1 | lua require('onebuddy') 2 | -------------------------------------------------------------------------------- /assets/dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Th3Whit3Wolf/onebuddy/HEAD/assets/dark.png -------------------------------------------------------------------------------- /assets/light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Th3Whit3Wolf/onebuddy/HEAD/assets/light.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 David Karrick 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Onebuddy 2 | 3 | An atom one inspired dark and light colorscheme using [tjdevries/colorbuddy.vim](https://github.com/tjdevries/colorbuddy.vim) 4 | 5 | This plugin is also an example of how easy it is to customize and make new colorschemes based on `colorbuddy`. 6 | 7 | Check out [`lua/onebuddy.lua`](lua/onebuddy.lua) 8 | 9 | ## Prequisites 10 | 11 | Requires neovim version 0.5 or greater 12 | 13 | ## Screenshots 14 | 15 | Dark theme 16 | 17 | ![dark theme](assets/dark.png) 18 | 19 | Light theme 20 | 21 | ![light theme](assets/light.png) 22 | 23 | *Font:* Jet Brains Mono 24 | *Statusline:* [Spaceline](https://github.com/glepnir/spaceline.vim) 25 | *RGB Highlightin:* [nvim-colorizer.](https://github.com/norcalli/nvim-colorizer.lua) 26 | 27 | ### Getting Started 28 | 29 | You have to make sure you install [tjdevries/colorbuddy.vim](https://github.com/tjdevries/colorbuddy.vim) Only termguicolors are supported and that will not change. 30 | 31 | #### Vim Plug 32 | 33 | ```vim 34 | Plug 'tjdevries/colorbuddy.vim' 35 | Plug 'Th3Whit3Wolf/onebuddy' 36 | 37 | " And then somewhere in your init.vim, to set the colorscheme 38 | lua require('colorbuddy').colorscheme('onebuddy') 39 | ``` 40 | 41 | #### Minpac 42 | 43 | ```vim 44 | call minpac#add('tjdevries/colorbuddy.vim') 45 | call minpac#add('Th3Whit3Wolf/onebuddy') 46 | 47 | " And then somewhere in your init.vim, to set the colorscheme 48 | lua require('colorbuddy').colorscheme('onebuddy') 49 | ``` 50 | 51 | #### Vim Packages 52 | 53 | In the terminal execute this command. 54 | 55 | ```sh 56 | cd ~/.local/share/nvim/site/pack/opt/ 57 | git clone https://github.com/tjdevries/colorbuddy.nvim 58 | git clone https://github.com/Th3Whit3Wolf/onebuddy 59 | ``` 60 | 61 | In your `init.vim` add the following 62 | 63 | ```vim 64 | packadd! colorbuddy 65 | packadd! onebuddy 66 | ``` 67 | 68 | and then 69 | 70 | ```vim 71 | lua require('colorbuddy').colorscheme('onebuddy') 72 | ``` 73 | 74 | or 75 | 76 | ```vim 77 | colorscheme onebuddy 78 | ``` 79 | 80 | ### NOTE 81 | 82 | - Vim is not supported because the theme is written in lua. 83 | - If you feel like a language should be highlighted differently please open an issue. 84 | 85 | ### TODO 86 | 87 | - [ ] Better LSP Highlighting 88 | - [ ] Better Diagnostic Highlighting 89 | - [x] Better Tree Sitter Highlighting 90 | -------------------------------------------------------------------------------- /lua/onebuddy.lua: -------------------------------------------------------------------------------- 1 | -- Name: Onebuddy 2 | -- Description: Light and dark atom one theme 3 | -- Author: Th3Whit3Wolf 4 | -- Maintainer: Th3Whit3Wolf 5 | -- Website: httpc.//github.com/Th3Whit3Wolf/onebuddy 6 | -- License: MIT 7 | local Color, c, Group, g, s = require("colorbuddy").setup() 8 | local b = s.bold 9 | local i = s.italic 10 | local n = s.inverse 11 | local uc = s.undercurl 12 | local ul = s.underline 13 | local r = s.reverse 14 | local sto = s.standout 15 | local no = s.NONE 16 | local v = vim 17 | 18 | v.g.colors_name = 'onebuddy' 19 | if v.o.background == 'dark' then 20 | Color.new('mono_1', "#abb2bf") 21 | Color.new('mono_2', "#828997") 22 | Color.new('mono_3', "#5c6370") 23 | Color.new('mono_4', "#4b5263") 24 | Color.new('hue_1', "#55D1B4") 25 | Color.new('hue_2', "#61afef") 26 | Color.new('hue_3', "#c678dd") 27 | Color.new('hue_4', "#98c379") 28 | Color.new('hue_5', "#e06c75") 29 | Color.new('hue_5_2', "#be5046") 30 | Color.new('hue_6', "#d19a66") 31 | Color.new('hue_6_2', "#e5c07b") 32 | Color.new('syntax_bg', "#282c34") 33 | Color.new('syntax_gutter', "#636d83") 34 | Color.new('syntax_cursor', "#2c323c") 35 | Color.new('syntax_accent', "#528bff") 36 | Color.new('vertsplit', "#181a1f") 37 | Color.new('special_grey', "#3b4048") 38 | Color.new('visual_grey', "#3e4452") 39 | Color.new('pmenu', "#333841") 40 | else 41 | Color.new('mono_1', "#494b53") 42 | Color.new('mono_2', "#696c77") 43 | Color.new('mono_3', "#a0a1a7") 44 | Color.new('mono_4', "#c2c2c3") 45 | Color.new('hue_1', "#0184bc") 46 | Color.new('hue_2', "#4078f2") 47 | Color.new('hue_3', "#a626a4") 48 | Color.new('hue_4', "#50a14f") 49 | Color.new('hue_5', "#e45649") 50 | Color.new('hue_5_2', "#ca1243") 51 | Color.new('hue_6', "#986801") 52 | Color.new('hue_6_2', "#c18401") 53 | Color.new('syntax_bg', "#fafafa") 54 | Color.new('syntax_gutter', "#9e9e9e") 55 | Color.new('syntax_cursor', "#f0f0f0") 56 | Color.new('syntax_accent', "#526fff") 57 | Color.new('syntax_accent_2', "#0083be") 58 | Color.new('vertsplit', "#e7e9e1") 59 | Color.new('special_grey', "#d3d3d3") 60 | Color.new('visual_grey', "#d0d0d0") 61 | Color.new('pmenu', "#dfdfdf") 62 | end 63 | 64 | local italics = (function() 65 | if vim.g.onebuddy_disable_italics ~= true then 66 | return i 67 | else 68 | return no 69 | end 70 | end)() 71 | 72 | ------------------------- 73 | -- Vim Primary Colors -- 74 | ------------------------- 75 | Color.new('Red', "#e88388") 76 | Color.new('DarkRed', "#e06c75") 77 | Color.new('Blue', "#61afef") 78 | Color.new('DarkBlue', "#528bff") 79 | Color.new('Green', "#98c379") 80 | Color.new('DarkGreen', "#50a14f") 81 | Color.new('Orange', "#d19a66") 82 | Color.new('DarkOrange', "#c18401") 83 | Color.new('Yellow', "#e5c07b") 84 | Color.new('DarkYellow', "#986801") 85 | Color.new('Purple', "#a626a4") 86 | Color.new('Violet', '#b294bb') 87 | Color.new('Magenta', '#ff80ff') 88 | Color.new('DarkMagenta', '#a626a4') 89 | Color.new('Black', "#333841") 90 | Color.new('Grey', "#636d83") 91 | Color.new('White', '#f2e5bc') 92 | Color.new('Cyan', '#8abeb7') 93 | Color.new('DarkCyan', '#80a0ff') 94 | Color.new('Aqua', '#8ec07c') 95 | Color.new('pink', "#d291e4") 96 | 97 | ------------------------- 98 | -- Vim Terminal Colors -- 99 | ------------------------- 100 | 101 | v.g.terminal_color_0 = "#353a44" 102 | v.g.terminal_color_8 = "#353a44" 103 | v.g.terminal_color_1 = "#e88388" 104 | v.g.terminal_color_9 = "#e88388" 105 | v.g.terminal_color_2 = "#a7cc8c" 106 | v.g.terminal_color_10 = "#a7cc8c" 107 | v.g.terminal_color_3 = "#ebca8d" 108 | v.g.terminal_color_11 = "#ebca8d" 109 | v.g.terminal_color_4 = "#72bef2" 110 | v.g.terminal_color_12 = "#72bef2" 111 | v.g.terminal_color_5 = "#d291e4" 112 | v.g.terminal_color_13 = "#d291e4" 113 | v.g.terminal_color_6 = "#65c2cd" 114 | v.g.terminal_color_14 = "#65c2cd" 115 | v.g.terminal_color_7 = "#e3e5e9" 116 | v.g.terminal_color_15 = "#e3e5e9" 117 | 118 | ---------------------- 119 | -- Vim Editor Color -- 120 | ---------------------- 121 | 122 | Group.new('Normal', c.mono_1, c.syntax_bg, no) 123 | Group.new('bold', c.none, c.none, b) 124 | Group.new('ColorColumn', c.none, c.syntax_cursor, no) 125 | Group.new('Conceal', c.mono_4, c.syntax_bg, no) 126 | Group.new('Cursor', c.none, c.syntax_accent, no) 127 | Group.new('CursorIM', c.none, c.none, no) 128 | Group.new('CursorColumn', c.none, c.syntax_cursor, no) 129 | Group.new('CursorLine', c.none, c.syntax_cursor, no) 130 | Group.new('Directory', c.hue_2, c.none, no) 131 | Group.new('ErrorMsg', c.hue_5, c.none, no) 132 | Group.new('VertSplit', c.mono_4, c.none, no) 133 | Group.new('Folded', c.mono_3, c.none, no) 134 | Group.new('FoldColumn', c.mono_3, c.syntax_cursor, no) 135 | Group.new('IncSearch', c.syntax_bg, c.hue_2, no) 136 | Group.new('LineNr', c.mono_4, c.none, no) 137 | Group.new('CursorLineNr', c.mono_1, c.syntax_cursor, no) 138 | Group.new('MatchParen', c.hue_5, c.syntax_cursor, ul + b) 139 | Group.new('Italic', c.none, c.none, italics) 140 | Group.new('ModeMsg', c.mono_1, c.none, no) 141 | Group.new('MoreMsg', c.mono_1, c.none, no) 142 | Group.new('NonText', c.mono_3, c.none, no) 143 | Group.new('PMenu', c.none, c.pmenu, no) 144 | Group.new('PMenuSel', c.none, c.mono_4, no) 145 | Group.new('PMenuSbar', c.none, c.mono_3, no) 146 | Group.new('PMenuThumb', c.none, c.mono_1, no) 147 | Group.new('Question', c.hue_2, c.none, no) 148 | Group.new('Search', c.mono_3, c.hue_6_2, no) 149 | Group.new('SpecialKey', c.special_grey, c.none, no) 150 | Group.new('Whitespace', c.special_grey, c.none, no) 151 | Group.new('StatusLine', c.mono_1, c.mono_4, no) 152 | Group.new('StatusLineNC', c.mono_3, c.none, no) 153 | Group.new('TabLine', c.mono_2, c.visual_grey, no) 154 | Group.new('TabLineFill', c.mono_3, c.visual_grey, no) 155 | Group.new('TabLineSel', c.mono_3, c.hue_2, no) 156 | Group.new('Title', c.mono_1, c.none, b) 157 | Group.new('Visual', c.none, c.visual_grey, no) 158 | Group.new('VisualNOS', c.none, c.visual_grey, no) 159 | Group.new('WarningMsg', c.hue_5, c.none, no) 160 | Group.new('TooLong', c.hue_5, c.none, no) 161 | Group.new('WildMenu', c.mono_1, c.mono_3, no) 162 | Group.new('SignColumn', c.none, c.none, no) 163 | Group.new('Special', c.hue_2, c.none, no) 164 | 165 | --------------------------- 166 | -- Vim Help Highlighting -- 167 | --------------------------- 168 | 169 | Group.new('helpCommand', c.hue_6_2, c.none, no) 170 | Group.new('helpExample', c.hue_6_2, c.none, no) 171 | Group.new('helpHeader', c.mono_1, c.none, b) 172 | Group.new('helpSectionDelim', c.mono_3, c.none, no) 173 | 174 | ---------------------------------- 175 | -- Standard Syntax Highlighting -- 176 | ---------------------------------- 177 | 178 | Group.new('Comment', c.mono_3, c.none, italics) 179 | Group.new('Constant', c.hue_4, c.none, no) 180 | Group.new('String', c.hue_4, c.none, no) 181 | Group.new('Character', c.hue_4, c.none, no) 182 | Group.new('Number', c.hue_6, c.none, no) 183 | Group.new('Boolean', c.hue_6, c.none, no) 184 | Group.new('Float', c.hue_6, c.none, no) 185 | Group.new('Identifier', c.hue_5, c.none, no) 186 | Group.new('Function', c.hue_2, c.none, no) 187 | Group.new('Statement', c.hue_3, c.none, no) 188 | Group.new('Conditional', c.hue_3, c.none, no) 189 | Group.new('Repeat', c.hue_3, c.none, no) 190 | Group.new('Label', c.hue_3, c.none, no) 191 | Group.new('Operator', c.syntax_accent, c.none, no) 192 | Group.new('Keyword', c.hue_5, c.none, no) 193 | Group.new('Exception', c.hue_3, c.none, no) 194 | Group.new('PreProc', c.hue_6_2, c.none, no) 195 | Group.new('Include', c.hue_2, c.none, no) 196 | Group.new('Define', c.hue_3, c.none, no) 197 | Group.new('Macro', c.hue_3, c.none, no) 198 | Group.new('PreCondit', c.hue_6_2, c.none, no) 199 | Group.new('Type', c.hue_6_2, c.none, no) 200 | Group.new('StorageClass', c.hue_6_2, c.none, no) 201 | Group.new('Structure', c.hue_6_2, c.none, no) 202 | Group.new('Typedef', c.hue_6_2, c.none, no) 203 | Group.new('Special', c.hue_2, c.none, no) 204 | Group.new('SpecialChar', c.none, c.none, no) 205 | Group.new('Tag', c.none, c.none, no) 206 | Group.new('Delimiter', c.none, c.none, no) 207 | Group.new('SpecialComment', c.none, c.none, no) 208 | Group.new('Debug', c.none, c.none, no) 209 | Group.new('Underlined', c.none, c.none, ul) 210 | Group.new('Ignore', c.none, c.none, no) 211 | Group.new('Error', c.hue_5, c.mono_3, b) 212 | Group.new('Todo', c.hue_3, c.mono_3, no) 213 | 214 | ----------------------- 215 | -- Diff Highlighting -- 216 | ----------------------- 217 | 218 | Group.new('DiffAdd', c.hue_4, c.visual_grey, no) 219 | Group.new('DiffChange', c.hue_6, c.visual_grey, no) 220 | Group.new('DiffDelete', c.hue_5, c.visual_grey, no) 221 | Group.new('DiffText', c.hue_2, c.visual_grey, no) 222 | Group.new('DiffAdded', c.hue_4, c.visual_grey, no) 223 | Group.new('DiffFile', c.hue_5, c.visual_grey, no) 224 | Group.new('DiffNewFile', c.hue_4, c.visual_grey, no) 225 | Group.new('DiffLine', c.hue_2, c.visual_grey, no) 226 | Group.new('DiffRemoved', c.hue_5, c.visual_grey, no) 227 | 228 | --------------------------- 229 | -- Filetype Highlighting -- 230 | --------------------------- 231 | 232 | -- Asciidoc 233 | Group.new('asciidocListingBlock', c.mono_2, c.none, no) 234 | 235 | -- C/C++ highlighting 236 | Group.new('cInclude', c.hue_3, c.none, no) 237 | Group.new('cPreCondit', c.hue_3, c.none, no) 238 | Group.new('cPreConditMatch', c.hue_3, c.none, no) 239 | Group.new('cType', c.hue_3, c.none, no) 240 | Group.new('cStorageClass', c.hue_3, c.none, no) 241 | Group.new('cStructure', c.hue_3, c.none, no) 242 | Group.new('cOperator', c.hue_3, c.none, no) 243 | Group.new('cStatement', c.hue_3, c.none, no) 244 | Group.new('cTODO', c.hue_3, c.none, no) 245 | Group.new('cConstant', c.hue_6, c.none, no) 246 | Group.new('cSpecial', c.hue_1, c.none, no) 247 | Group.new('cSpecialCharacter', c.hue_1, c.none, no) 248 | Group.new('cString', c.hue_4, c.none, no) 249 | Group.new('cppType', c.hue_3, c.none, no) 250 | Group.new('cppStorageClass', c.hue_3, c.none, no) 251 | Group.new('cppStructure', c.hue_3, c.none, no) 252 | Group.new('cppModifier', c.hue_3, c.none, no) 253 | Group.new('cppOperator', c.hue_3, c.none, no) 254 | Group.new('cppAccess', c.hue_3, c.none, no) 255 | Group.new('cppStatement', c.hue_3, c.none, no) 256 | Group.new('cppConstant', c.hue_5, c.none, no) 257 | Group.new('cCppString', c.hue_4, c.none, no) 258 | 259 | -- Cucumber 260 | Group.new('cucumberGiven', c.hue_2, c.none, no) 261 | Group.new('cucumberWhen', c.hue_2, c.none, no) 262 | Group.new('cucumberWhenAnd', c.hue_2, c.none, no) 263 | Group.new('cucumberThen', c.hue_2, c.none, no) 264 | Group.new('cucumberThenAnd', c.hue_2, c.none, no) 265 | Group.new('cucumberUnparsed', c.hue_6, c.none, no) 266 | Group.new('cucumberFeature', c.hue_5, c.none, b) 267 | Group.new('cucumberBackground', c.hue_3, c.none, b) 268 | Group.new('cucumberScenario', c.hue_3, c.none, b) 269 | Group.new('cucumberScenarioOutline', c.hue_3, c.none, b) 270 | Group.new('cucumberTags', c.mono_3,c.none, b) 271 | Group.new('cucumberDelimiter', c.mono_3, c.none, b) 272 | 273 | -- CSS/Sass 274 | Group.new('cssAttrComma', c.hue_3, c.none, no) 275 | Group.new('cssAttributeSelector', c.hue_4, c.none, no) 276 | Group.new('cssBraces', c.mono_2, c.none, no) 277 | Group.new('cssClassName', c.hue_6, c.none, no) 278 | Group.new('cssClassNameDot', c.hue_6, c.none, no) 279 | Group.new('cssDefinition', c.hue_3, c.none, no) 280 | Group.new('cssFontAttr', c.hue_6, c.none, no) 281 | Group.new('cssFontDescriptor', c.hue_3, c.none, no) 282 | Group.new('cssFunctionName', c.hue_2, c.none, no) 283 | Group.new('cssIdentifier', c.hue_2, c.none, no) 284 | Group.new('cssImportant', c.hue_3, c.none, no) 285 | Group.new('cssInclude', c.mono_1, c.none, no) 286 | Group.new('cssIncludeKeyword', c.hue_3, c.none, no) 287 | Group.new('cssMediaType', c.hue_6, c.none, no) 288 | Group.new('cssProp', c.hue_1, c.none, no) 289 | Group.new('cssPseudoClassId', c.hue_6, c.none, no) 290 | Group.new('cssSelectorOp', c.hue_3, c.none, no) 291 | Group.new('cssSelectorOp2', c.hue_3, c.none, no) 292 | Group.new('cssStringQ', c.hue_4, c.none, no) 293 | Group.new('cssStringQQ', c.hue_4, c.none, no) 294 | Group.new('cssTagName', c.hue_5, c.none, no) 295 | Group.new('cssAttr', c.hue_6, c.none, no) 296 | Group.new('sassAmpersand', c.hue_5, c.none, no) 297 | Group.new('sassClass', c.hue_6_2, c.none, no) 298 | Group.new('sassControl', c.hue_3, c.none, no) 299 | Group.new('sassExtend', c.hue_3, c.none, no) 300 | Group.new('sassFor', c.mono_1, c.none, no) 301 | Group.new('sassProperty', c.hue_1, c.none, no) 302 | Group.new('sassFunction', c.hue_1, c.none, no) 303 | Group.new('sassId', c.hue_2, c.none, no) 304 | Group.new('sassInclude', c.hue_3, c.none, no) 305 | Group.new('sassMedia', c.hue_3, c.none, no) 306 | Group.new('sassMediaOperators', c.mono_1, c.none, no) 307 | Group.new('sassMixin', c.hue_3, c.none, no) 308 | Group.new('sassMixinName', c.hue_2, c.none, no) 309 | Group.new('sassMixing', c.hue_3, c.none, no) 310 | Group.new('scssSelectorName', c.hue_6_2, c.none, no) 311 | 312 | -- Elixir highlighting 313 | 314 | Group.new('elixirModuleDefine', g.Define, g.Define, g.Define) 315 | Group.new('elixirAlias', c.hue_6_2, c.none, no) 316 | Group.new('elixirAtom', c.hue_1, c.none, no) 317 | Group.new('elixirBlockDefinition', c.hue_3, c.none, no) 318 | Group.new('elixirModuleDeclaration', c.hue_6, c.none, no) 319 | Group.new('elixirInclude', c.hue_5, c.none, no) 320 | Group.new('elixirOperator', c.hue_6, c.none, no) 321 | 322 | -- Git and git related plugins 323 | Group.new('gitcommitComment', c.mono_3, c.none, no) 324 | Group.new('gitcommitUnmerged', c.hue_4, c.none, no) 325 | Group.new('gitcommitOnBranch', c.none, c.none, no) 326 | Group.new('gitcommitBranch', c.hue_3, c.none, no) 327 | Group.new('gitcommitDiscardedType', c.hue_5, c.none, no) 328 | Group.new('gitcommitSelectedType', c.hue_4, c.none, no) 329 | Group.new('gitcommitHeader', c.none, c.none, no) 330 | Group.new('gitcommitUntrackedFile', c.hue_1, c.none, no) 331 | Group.new('gitcommitDiscardedFile', c.hue_5, c.none, no) 332 | Group.new('gitcommitSelectedFile', c.hue_4, c.none, no) 333 | Group.new('gitcommitUnmergedFile', c.hue_6_2, c.none, no) 334 | Group.new('gitcommitFile', c.none, c.none, no) 335 | Group.new('gitcommitNoBranch', g.gitcommitBranch, g.gitcommitBranch, g.gitcommitBranch) 336 | Group.new('gitcommitUntracked', g.gitcommitComment, g.gitcommitComment, g.gitcommitComment) 337 | Group.new('gitcommitDiscarded', g.gitcommitComment, g.gitcommitComment, g.gitcommitComment) 338 | Group.new('gitcommitDiscardedArrow', g.gitcommitDiscardedFile, g.gitcommitDiscardedFile, g.gitcommitDiscardedFile) 339 | Group.new('gitcommitSelectedArrow', g.gitcommitSelectedFile, g.gitcommitSelectedFile, g.gitcommitSelectedFile) 340 | Group.new('gitcommitUnmergedArrow', g.gitcommitUnmergedFile, g.gitcommitUnmergedFile, g.gitcommitUnmergedFile) 341 | Group.new('SignifySignAdd', c.hue_4, c.none, no) 342 | Group.new('SignifySignChange', c.hue_6_2, c.none, no) 343 | Group.new('SignifySignDelete', c.hue_5, c.none, no) 344 | Group.new('GitGutterAdd', g.SignifySignAdd, g.SignifySignAdd, g.SignifySignAdd) 345 | Group.new('GitGutterChange', g.SignifySignChange, g.SignifySignChange, g.SignifySignChange) 346 | Group.new('GitGutterDelete', g.SignifySignDelete, g.SignifySignDelete, g.SignifySignDelete) 347 | Group.new('diffAdded', c.hue_4, c.none, no) 348 | Group.new('diffRemoved', c.hue_5, c.none, no) 349 | 350 | -- Go 351 | Group.new('goDeclaration', c.hue_3, c.none, no) 352 | Group.new('goField', c.hue_5, c.none, no) 353 | Group.new('goMethod', c.hue_1, c.none, no) 354 | Group.new('goType', c.hue_3, c.none, no) 355 | Group.new('goUnsignedInts', c.hue_1, c.none, no) 356 | 357 | -- Haskell highlighting 358 | Group.new('haskellDeclKeyword', c.hue_2, c.none, no) 359 | Group.new('haskellType', c.hue_4, c.none, no) 360 | Group.new('haskellWhere', c.hue_5, c.none, no) 361 | Group.new('haskellImportKeywords', c.hue_2, c.none, no) 362 | Group.new('haskellOperators', c.hue_5, c.none, no) 363 | Group.new('haskellDelimiter', c.hue_2, c.none, no) 364 | Group.new('haskellIdentifier', c.hue_6, c.none, no) 365 | Group.new('haskellKeyword', c.hue_5, c.none, no) 366 | Group.new('haskellNumber', c.hue_1, c.none, no) 367 | Group.new('haskellString', c.hue_1, c.none, no) 368 | 369 | -- HTML 370 | Group.new('htmlArg', c.hue_6, c.none, no) 371 | Group.new('htmlTagName', c.hue_5, c.none, no) 372 | Group.new('htmlTagN', c.hue_5, c.none, no) 373 | Group.new('htmlSpecialTagName', c.hue_5, c.none, no) 374 | Group.new('htmlTag', c.mono_2, c.none, no) 375 | Group.new('htmlEndTag', c.mono_2, c.none, no) 376 | Group.new('MatchTag', c.hue_5, c.syntax_cursor, ul + b) 377 | 378 | -- JavaScript 379 | Group.new('coffeeString', c.hue_4, c.none, no) 380 | Group.new('javaScriptBraces', c.mono_2, c.none, no) 381 | Group.new('javaScriptFunction', c.hue_3, c.none, no) 382 | Group.new('javaScriptIdentifier', c.hue_3, c.none, no) 383 | Group.new('javaScriptNull', c.hue_6, c.none, no) 384 | Group.new('javaScriptNumber', c.hue_6, c.none, no) 385 | Group.new('javaScriptRequire', c.hue_1, c.none, no) 386 | Group.new('javaScriptReserved', c.hue_3, c.none, no) 387 | -- httpc.//github.com/pangloss/vim-javascript 388 | Group.new('jsArrowFunction', c.hue_3, c.none, no) 389 | Group.new('jsBraces', c.mono_2, c.none, no) 390 | Group.new('jsClassBraces', c.mono_2, c.none, no) 391 | Group.new('jsClassKeywords', c.hue_3, c.none, no) 392 | Group.new('jsDocParam', c.hue_2, c.none, no) 393 | Group.new('jsDocTags', c.hue_3, c.none, no) 394 | Group.new('jsFuncBraces', c.mono_2, c.none, no) 395 | Group.new('jsFuncCall', c.hue_2, c.none, no) 396 | Group.new('jsFuncParens', c.mono_2, c.none, no) 397 | Group.new('jsFunction', c.hue_3, c.none, no) 398 | Group.new('jsGlobalObjects', c.hue_6_2, c.none, no) 399 | Group.new('jsModuleWords', c.hue_3, c.none, no) 400 | Group.new('jsModules', c.hue_3, c.none, no) 401 | Group.new('jsNoise', c.mono_2, c.none, no) 402 | Group.new('jsNull', c.hue_6, c.none, no) 403 | Group.new('jsOperator', c.hue_3, c.none, no) 404 | Group.new('jsParens', c.mono_2, c.none, no) 405 | Group.new('jsStorageClass', c.hue_3, c.none, no) 406 | Group.new('jsTemplateBraces', c.hue_5_2, c.none, no) 407 | Group.new('jsTemplateVar', c.hue_4, c.none, no) 408 | Group.new('jsThis', c.hue_5, c.none, no) 409 | Group.new('jsUndefined', c.hue_6, c.none, no) 410 | Group.new('jsObjectValue', c.hue_2, c.none, no) 411 | Group.new('jsObjectKey', c.hue_1, c.none, no) 412 | Group.new('jsReturn', c.hue_3, c.none, no) 413 | -- httpc.//github.com/othree/yajs.vim 414 | Group.new('javascriptArrowFunc', c.hue_3, c.none, no) 415 | Group.new('javascriptClassExtends', c.hue_3, c.none, no) 416 | Group.new('javascriptClassKeyword', c.hue_3, c.none, no) 417 | Group.new('javascriptDocNotation', c.hue_3, c.none, no) 418 | Group.new('javascriptDocParamName', c.hue_2, c.none, no) 419 | Group.new('javascriptDocTags', c.hue_3, c.none, no) 420 | Group.new('javascriptEndColons', c.mono_3, c.none, no) 421 | Group.new('javascriptExport', c.hue_3, c.none, no) 422 | Group.new('javascriptFuncArg', c.mono_1, c.none, no) 423 | Group.new('javascriptFuncKeyword', c.hue_3, c.none, no) 424 | Group.new('javascriptIdentifier', c.hue_5, c.none, no) 425 | Group.new('javascriptImport', c.hue_3, c.none, no) 426 | Group.new('javascriptObjectLabel', c.mono_1, c.none, no) 427 | Group.new('javascriptOpSymbol', c.hue_1, c.none, no) 428 | Group.new('javascriptOpSymbols', c.hue_1, c.none, no) 429 | Group.new('javascriptPropertyName', c.hue_4, c.none, no) 430 | Group.new('javascriptTemplateSB', c.hue_5_2, c.none, no) 431 | Group.new('javascriptVariable', c.hue_3, c.none, no) 432 | 433 | -- JSON 434 | Group.new('jsonCommentError', c.mono_1, c.none, no) 435 | Group.new('jsonKeyword', c.hue_5, c.none, no) 436 | Group.new('jsonQuote', c.mono_3, c.none, no) 437 | Group.new('jsonTrailingCommaError', c.hue_5, c.none, r) 438 | Group.new('jsonMissingCommaError', c.hue_5, c.none, r) 439 | Group.new('jsonNoQuotesError', c.hue_5, c.none, r) 440 | Group.new('jsonNumError', c.hue_5, c.none, r) 441 | Group.new('jsonString', c.hue_4, c.none, no) 442 | Group.new('jsonBoolean', c.hue_3, c.none, no) 443 | Group.new('jsonNumber', c.hue_6, c.none, no) 444 | Group.new('jsonStringSQError', c.hue_5, c.none, r) 445 | Group.new('jsonSemicolonError', c.hue_5, c.none, r) 446 | 447 | -- Markdown 448 | Group.new('markdownUrl', c.mono_3, c.none, no) 449 | Group.new('markdownBold', c.hue_6, c.none, b) 450 | Group.new('markdownItalic', c.hue_6, c.none, b) 451 | Group.new('markdownCode', c.hue_4, c.none, no) 452 | Group.new('markdownCodeBlock', c.hue_5, c.none, no) 453 | Group.new('markdownCodeDelimiter', c.hue_4, c.none, no) 454 | Group.new('markdownHeadingDelimiter', c.hue_5_2, c.none, no) 455 | Group.new('markdownH1', c.hue_5, c.none, no) 456 | Group.new('markdownH2', c.hue_5, c.none, no) 457 | Group.new('markdownH3', c.hue_5, c.none, no) 458 | Group.new('markdownH3', c.hue_5, c.none, no) 459 | Group.new('markdownH4', c.hue_5, c.none, no) 460 | Group.new('markdownH5', c.hue_5, c.none, no) 461 | Group.new('markdownH6', c.hue_5, c.none, no) 462 | Group.new('markdownListMarker', c.hue_5, c.none, no) 463 | 464 | -- PHP 465 | Group.new('phpClass', c.hue_6_2, c.none, no) 466 | Group.new('phpFunction', c.hue_2, c.none, no) 467 | Group.new('phpFunctions', c.hue_2, c.none, no) 468 | Group.new('phpInclude', c.hue_3, c.none, no) 469 | Group.new('phpKeyword', c.hue_3, c.none, no) 470 | Group.new('phpParent', c.mono_3, c.none, no) 471 | Group.new('phpType', c.hue_3, c.none, no) 472 | Group.new('phpSuperGlobals', c.hue_5, c.none, no) 473 | 474 | -- Pug (Formerly Jade) 475 | Group.new('pugAttributesDelimiter', c.hue_6, c.none, no) 476 | Group.new('pugClass', c.hue_6, c.none, no) 477 | Group.new('pugDocType', c.mono_3, c.none, italics) 478 | Group.new('pugTag', c.hue_5, c.none, no) 479 | 480 | -- PureScript 481 | Group.new('purescriptKeyword', c.hue_3, c.none, no) 482 | Group.new('purescriptModuleName', c.mono_1, c.none, no) 483 | Group.new('purescriptIdentifier', c.mono_1, c.none, no) 484 | Group.new('purescriptType', c.hue_6_2, c.none, no) 485 | Group.new('purescriptTypeVar', c.hue_5, c.none, no) 486 | Group.new('purescriptConstructor', c.hue_5, c.none, no) 487 | Group.new('purescriptOperator', c.mono_1, c.none, no) 488 | 489 | -- Python 490 | Group.new('pythonImport', c.hue_3, c.none, no) 491 | Group.new('pythonBuiltin', c.hue_1, c.none, no) 492 | Group.new('pythonStatement', c.hue_3, c.none, no) 493 | Group.new('pythonParam', c.hue_6, c.none, no) 494 | Group.new('pythonEscape', c.hue_5, c.none, no) 495 | Group.new('pythonSelf', c.mono_2, c.none, italics) 496 | Group.new('pythonClass', c.hue_2, c.none, no) 497 | Group.new('pythonOperator', c.hue_3, c.none, no) 498 | Group.new('pythonEscape', c.hue_5, c.none, no) 499 | Group.new('pythonFunction', c.hue_2, c.none, no) 500 | Group.new('pythonKeyword', c.hue_2, c.none, no) 501 | Group.new('pythonModule', c.hue_3, c.none, no) 502 | Group.new('pythonStringDelimiter', c.hue_4, c.none, no) 503 | Group.new('pythonSymbol', c.hue_1, c.none, no) 504 | 505 | -- Ruby 506 | Group.new('rubyBlock', c.hue_3, c.none, no) 507 | Group.new('rubyBlockParameter', c.hue_5, c.none, no) 508 | Group.new('rubyBlockParameterList', c.hue_5, c.none, no) 509 | Group.new('rubyCapitalizedMethod', c.hue_3, c.none, no) 510 | Group.new('rubyClass', c.hue_3, c.none, no) 511 | Group.new('rubyConstant', c.hue_6_2, c.none, no) 512 | Group.new('rubyControl', c.hue_3, c.none, no) 513 | Group.new('rubyDefine', c.hue_3, c.none, no) 514 | Group.new('rubyEscape', c.hue_5, c.none, no) 515 | Group.new('rubyFunction', c.hue_2, c.none, no) 516 | Group.new('rubyGlobalVariable', c.hue_5, c.none, no) 517 | Group.new('rubyInclude', c.hue_2, c.none, no) 518 | Group.new('rubyIncluderubyGlobalVariable', c.hue_5, c.none, no) 519 | Group.new('rubyInstanceVariable', c.hue_5, c.none, no) 520 | Group.new('rubyInterpolation', c.hue_1, c.none, no) 521 | Group.new('rubyInterpolationDelimiter', c.hue_5, c.none, no) 522 | Group.new('rubyKeyword', c.hue_2, c.none, no) 523 | Group.new('rubyModule', c.hue_3, c.none, no) 524 | Group.new('rubyPseudoVariable', c.hue_5, c.none, no) 525 | Group.new('rubyRegexp', c.hue_1, c.none, no) 526 | Group.new('rubyRegexpDelimiter', c.hue_1, c.none, no) 527 | Group.new('rubyStringDelimiter', c.hue_4, c.none, no) 528 | Group.new('rubySymbol', c.hue_1, c.none, no) 529 | 530 | -- Spelling 531 | Group.new('SpellBad', c.mono_3, c.none, uc) 532 | Group.new('SpellLocal', c.mono_3, c.none, uc) 533 | Group.new('SpellCap', c.mono_3, c.none, uc) 534 | Group.new('SpellRare', c.mono_3, c.none, uc) 535 | 536 | -- Vim 537 | Group.new('vimCommand', c.hue_3, c.none, no) 538 | Group.new('vimCommentTitle', c.mono_3, c.none, b) 539 | Group.new('vimFunction', c.hue_1, c.none, no) 540 | Group.new('vimFuncName', c.hue_3, c.none, no) 541 | Group.new('vimHighlight', c.hue_2, c.none, no) 542 | Group.new('vimLineComment', c.mono_3, c.none, italics) 543 | Group.new('vimParenSep', c.mono_2, c.none, no) 544 | Group.new('vimSep', c.mono_2, c.none, no) 545 | Group.new('vimUserFunc', c.hue_1, c.none, no) 546 | Group.new('vimVar', c.hue_5, c.none, no) 547 | 548 | -- XML 549 | Group.new('xmlAttrib', c.hue_6_2, c.none, no) 550 | Group.new('xmlEndTag', c.hue_5, c.none, no) 551 | Group.new('xmlTag', c.hue_5, c.none, no) 552 | Group.new('xmlTagName', c.hue_5, c.none, no) 553 | 554 | -- ZSH 555 | Group.new('zshCommands', c.mono_1, c.none, no) 556 | Group.new('zshDeref', c.hue_5, c.none, no) 557 | Group.new('zshShortDeref', c.hue_5, c.none, no) 558 | Group.new('zshFunction', c.hue_1, c.none, no) 559 | Group.new('zshKeyword', c.hue_3, c.none, no) 560 | Group.new('zshSubst', c.hue_5, c.none, no) 561 | Group.new('zshSubstDelim', c.mono_3, c.none, no) 562 | Group.new('zshTypes', c.hue_3, c.none, no) 563 | Group.new('zshVariableDef', c.hue_6, c.none, no) 564 | 565 | -- Rust 566 | Group.new('rustExternCrate', c.hue_5, c.none, b) 567 | Group.new('rustIdentifier', c.hue_2, c.none, no) 568 | Group.new('rustDeriveTrait', c.hue_4, c.none, no) 569 | Group.new('SpecialComment', c.mono_3, c.none, no) 570 | Group.new('rustCommentLine', c.mono_3, c.none, no) 571 | Group.new('rustCommentLineDoc', c.mono_3, c.none, no) 572 | Group.new('rustCommentLineDocError', c.mono_3, c.none, no) 573 | Group.new('rustCommentBlock', c.mono_3, c.none, no) 574 | Group.new('rustCommentBlockDoc', c.mono_3, c.none, no) 575 | Group.new('rustCommentBlockDocError', c.mono_3, c.none, no) 576 | 577 | -- Man 578 | Group.new('manTitle', g.String, g.String, g.String) 579 | Group.new('manFooter', c.mono_3, c.none, no) 580 | 581 | ------------------------- 582 | -- Plugin Highlighting -- 583 | ------------------------- 584 | 585 | -- ALE (Asynchronous Lint Engine) 586 | Group.new('ALEWarningSign', c.hue_6_2, c.none, no) 587 | Group.new('ALEErrorSign', c.hue_5, c.none, no) 588 | 589 | -- Neovim NERDTree Background fix 590 | Group.new('NERDTreeFile', c.mono_1, c.none, no) 591 | 592 | -- Coc.nvim Floating Background fix 593 | Group.new('CocFloating', c.mono_1, c.none, no) 594 | Group.new('NormalFloat', c.mono_1, c.pmenu, no) 595 | ----------------------------- 596 | -- LSP Highlighting -- 597 | ----------------------------- 598 | Group.new('LspDiagnosticsDefaultError', c.hue_5, c.none, no) 599 | Group.new('LspDiagnosticsDefaultWarning', c.hue_6_2, c.none, no) 600 | Group.new('LspDiagnosticsDefaultInformation', c.hue_1, c.none, no) 601 | Group.new('LspDiagnosticsDefaultHint', c.hue_4, c.none, no) 602 | Group.new('LspDiagnosticsVirtualTextError', c.hue_5, c.none, no) 603 | Group.new('LspDiagnosticsVirtualTextWarning', c.hue_6_2, c.none, no) 604 | Group.new('LspDiagnosticsVirtualTextInformation', c.hue_1, c.none, no) 605 | Group.new('LspDiagnosticsVirtualTextHint', c.hue_4, c.none, no) 606 | Group.new('LspDiagnosticsUnderlineError', c.hue_5, c.none, ul) 607 | Group.new('LspDiagnosticsUnderlineWarning', c.hue_6_2, c.none, ul) 608 | Group.new('LspDiagnosticsUnderlineInformation', c.hue_1, c.none, ul) 609 | Group.new('LspDiagnosticsUnderlineHint', c.hue_4, c.none, ul) 610 | Group.new('LspDiagnosticsFloatingError', c.hue_5, g.pmenu, ul) 611 | Group.new('LspDiagnosticsFloatingWarning', c.hue_6_2, g.pmenu, ul) 612 | Group.new('LspDiagnosticsFloatingInformation', c.hue_1, g.pmenu, ul) 613 | Group.new('LspDiagnosticsFloatingHint', c.hue_4, g.pmenu, ul) 614 | Group.new('LspDiagnosticsSignError', c.hue_5, c.none, no) 615 | Group.new('LspDiagnosticsSignWarning', c.hue_6_2, c.none, no) 616 | Group.new('LspDiagnosticsSignInformation', c.hue_1, c.none, no) 617 | Group.new('LspDiagnosticsSignHint', c.hue_4, c.none, no) 618 | ----------------------------- 619 | -- TreeSitter Highlighting -- 620 | ----------------------------- 621 | Group.new('TSAnnotation', c.hue_6_2, c.none, no) 622 | Group.new('TSAttribute', c.hue_1, c.none, no) 623 | Group.new('TSBoolean', c.hue_6, c.none, no) 624 | Group.new('TSCharacter', c.hue_4, c.none, no) 625 | Group.new('TSConditional', c.pink, c.none, no) 626 | Group.new('TSConstant', c.hue_2, c.none, no) 627 | Group.new('TSConstBuiltin', c.hue_6, c.none, no) 628 | Group.new('TSConstMacro', c.hue_1, c.none, no) 629 | Group.new('TSConstructor', c.hue_1, c.none, no) 630 | Group.new('TSEmphasis', c.hue_6_2, c.none, no) 631 | Group.new('TSError', c.hue_5, c.none, no) 632 | Group.new('TSException', c.pink, c.none, no) 633 | Group.new('TSField', c.hue_5, c.none, no) 634 | Group.new('TSFloat', c.hue_4, c.none, no) 635 | Group.new('TSFunction', c.hue_2, c.none, no) 636 | Group.new('TSFuncBuiltin', c.hue_2, c.none, no) 637 | Group.new('TSFuncMacro', c.hue_6_2, c.none, no) 638 | Group.new('TSInclude', c.pink, c.none, no) 639 | Group.new('TSKeyword', c.pink, c.none, no) 640 | Group.new('TSKeywordFunction', c.pink, c.none, no) 641 | Group.new('TSKeywordOperator', c.pink, c.none, no) 642 | Group.new('TSLabel', c.hue_2, c.none, no) 643 | Group.new('TSLiteral', c.hue_6_2, c.none, no) 644 | Group.new('TSMethod', c.hue_2, c.none, no) 645 | Group.new('TSNamespace', c.pink, c.none, no) 646 | Group.new('TSNumber', c.hue_6, c.none, no) 647 | Group.new('TSOperator', c.mono_1, c.none, no) 648 | Group.new('TSParameter', c.hue_1, c.none, no) 649 | Group.new('TSParameterReference', c.hue_1, c.none, no) 650 | Group.new('TSProperty', c.hue_6_2, c.none, no) 651 | Group.new('TSPunctBracket', c.mono_1, c.none, no) 652 | Group.new('TSPunctDelimiter', c.mono_1, c.none, no) 653 | Group.new('TSPunctSpecial', c.mono_1, c.none, no) 654 | Group.new('TSRepeat', c.pink, c.none, no) 655 | Group.new('TSString', c.hue_4, c.none, no) 656 | Group.new('TSStringEscape', c.hue_1, c.none, no) 657 | Group.new('TSStringRegex', c.hue_4, c.none, no) 658 | Group.new('TSStrong', c.hue_6_2, c.none, no) 659 | Group.new('TSStructure', c.hue_6_2, c.none, no) 660 | Group.new('TSTag', c.hue_5, c.none, no) 661 | Group.new('TSTagDelimiter', c.mono_3, c.none, no) 662 | Group.new('TSText', c.hue_6_2, c.none, no) 663 | Group.new('TSTitle', c.hue_6_2, c.none, no) 664 | Group.new('TSType', c.hue_2, c.none, no) 665 | Group.new('TSTypeBuiltin', c.hue_2, c.none, no) 666 | Group.new('TSUnderline', c.hue_6_2, c.none, no) 667 | Group.new('TSURI', c.hue_6_2, c.none, no) 668 | Group.new('TSVariable', c.hue_1, c.none, no) 669 | Group.new('TSVariableBuiltin', c.hue_6_2, c.none, no) 670 | --------------------------------------------------------------------------------