├── README.md ├── UNLICENSE └── colors └── tone.vim /README.md: -------------------------------------------------------------------------------- 1 | # Vim color scheme Tone 2 | 3 | Modest color scheme with a reduced number of bright and clear colors. 4 | 5 | ![Tone preview Ruby](http://stuff.imeos.org/persistent/github/vim-colors-tone/vim-colors-tone-ruby-preview.png) 6 | *Screenshot with some Ruby sample code and the Roboto Mono Font* 7 | 8 | ![Tone preview JavaScript](http://stuff.imeos.org/persistent/github/vim-colors-tone/vim-colors-tone-javascript-preview.png) 9 | *Screenshot with some JavaScript sample code and the Roboto Mono Font* 10 | 11 | ![Tone preview C](http://stuff.imeos.org/persistent/github/vim-colors-tone/vim-colors-tone-c-preview.png) 12 | *Screenshot with some C sample code and the Roboto Mono Font* 13 | 14 | ## Highlightings for these plugins 15 | 16 | - Ale 17 | - CtrlP 18 | - GitGutter 19 | - NERDTree 20 | - pangloss/vim-javascript 21 | - PlainTasks (.todo) 22 | - Startify 23 | - VIM-JavaScript (pangloss) 24 | 25 | ## Syntax highlighting adjustments for 26 | 27 | - Apache Config 28 | - CoffeeScript 29 | - CSS 30 | - Git 31 | - Haml 32 | - HTML 33 | - JavaScript (best with pangloss/vim-javascript) 34 | - Json 35 | - LaTeX 36 | - Markdown 37 | - PHP 38 | - Ruby 39 | - Sass 40 | - Slim 41 | - TypeScript (best with HerringtonDarkholme/yats.vim) 42 | - VimL 43 | - YAML 44 | - XML 45 | 46 | ## Ancient Terminals 47 | 48 | You can use a plugin like [CSApprox](http://www.vim.org/scripts/script.php?script_id=2390) to make this work smoothly in older 256 colors or even 88 colors terminals. 49 | 50 | ## User screenshots 51 | 52 | ![](https://user-images.githubusercontent.com/24765272/112863983-fd840700-90e9-11eb-81be-93e0d8a99224.jpeg) 53 | *Screenshot by [@nyngwang](https://github.com/nyngwang)* 54 | 55 | ![](https://user-images.githubusercontent.com/24765272/112864121-1e4c5c80-90ea-11eb-8ccf-247eceb8de27.jpeg) 56 | *Screenshot by [@nyngwang](https://github.com/nyngwang)* 57 | 58 | ![](https://user-images.githubusercontent.com/24765272/222935509-b6a63c83-12c8-4317-9c22-3340d0b3556f.png) 59 | *Screenshot by [@nyngwang](https://github.com/nyngwang)* 60 | -------------------------------------------------------------------------------- /UNLICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /colors/tone.vim: -------------------------------------------------------------------------------- 1 | " Vim color scheme Tone 2 | " ---------------------------------------------------------------------- 3 | " 4 | " Repository: https://github.com/cseelus/vim-colors-tone 5 | " Author: Chris Seelus (@cseelus) 6 | " 7 | " colors 8 | " -------------------------- 9 | :let _white = '#ebebff' 10 | :let _d_white = '#bdbde8' 11 | :let _gray_light = '#8383af' 12 | :let _gray = '#616181' 13 | :let _gray_dark = '#50506b' 14 | :let _lightblack = '#3a3a58' 15 | :let _semiblack = '#222234' 16 | :let _black = '#181827' 17 | " saturated, blueish 'black' 18 | " :let _semiblack = '#171e40' 19 | " :let _black = '#0f1533' 20 | 21 | :let _aubergine = '#c59dc5' 22 | :let _turquoise = '#1fffd2' 23 | :let _d_turquoise = '#28a492' 24 | :let _l_sky = '#9fd4ff' 25 | :let _sky = '#6cbeff' 26 | :let _sap = '#ebff00' 27 | 28 | set background=dark 29 | highlight clear 30 | 31 | if exists("syntax_on") 32 | syntax reset 33 | endif 34 | 35 | set t_Co=256 36 | let colors_name = "tone" 37 | let colorgroup = {} 38 | 39 | " Interface 40 | " ---------------------------------------------------------------------- 41 | let colorgroup['Normal'] = {"GUIFG": _white, "GUIBG": _black} 42 | " ------------------------ 43 | let colorgroup['Darker'] = {"GUIFG": _gray, "GUIBG": _black} 44 | let colorgroup['ColorColumn'] = {"GUIFG": _black, "GUIBG": _aubergine} 45 | let colorgroup['Conceal'] = {"GUIFG": _sap, "GUI": "bold"} 46 | let colorgroup['Cursor'] = {"GUIFG": _black, "GUIBG": _turquoise} 47 | let colorgroup['iCursor'] = {"GUIFG": _black, "GUIBG": _turquoise} 48 | let colorgroup['CursorLine'] = {"GUIFG": _white, "GUIBG": _semiblack} 49 | let colorgroup['CursorLineNr'] = {"GUIFG": _gray_dark, "GUIBG": _black} 50 | let colorgroup['Directory'] = {"GUIFG": _turquoise, "GUIBG": _black} 51 | let colorgroup['ErrorMsg'] = {"GUIFG": _black, "GUIBG": _aubergine} 52 | let colorgroup['FoldColumn'] = { "GUIBG": _black} 53 | let colorgroup['Folded'] = {"GUIFG": _white, "GUIBG": _semiblack} 54 | let colorgroup['LineNr'] = {"GUIFG": _gray, "GUIBG": _black} 55 | if &background == "light" 56 | let colorgroup['LineNr'] = {"GUIFG": _gray, "GUIBG": _black} 57 | endif 58 | let colorgroup['MatchParen'] = {"GUIFG": _black, "GUIBG": _white} 59 | let colorgroup['ModeMsg'] = {"GUIFG": _black, "GUIBG": _turquoise} 60 | let colorgroup['Pmenu'] = {"GUIFG": _white, "GUIBG": _semiblack} 61 | let colorgroup['PmenuSel'] = {"GUIFG": _black, "GUIBG": _turquoise} 62 | let colorgroup['PmenuSbar'] = { "GUIBG": _black} 63 | let colorgroup['Search'] = { "GUIBG": _gray_dark, "GUI": "underline"} 64 | let colorgroup['SignColumn'] = { "GUIBG": _black} 65 | let colorgroup['StatusLine'] = {"GUIFG": _gray, "GUIBG": _semiblack} 66 | let colorgroup['StatusLineNC'] = {"GUIFG": _gray_dark, "GUIBG": _semiblack} 67 | let colorgroup['Title'] = {"GUIFG": _turquoise, "GUI": "bold"} 68 | let colorgroup['Todo'] = {"GUIFG": _black, "GUIBG": _sky, "GUI": "bolditalic"} 69 | let colorgroup['VertSplit'] = {"GUIFG": _semiblack, "GUIBG": _semiblack} 70 | let colorgroup['Visual'] = {"GUIFG": _black, "GUIBG": _sap} 71 | if &background == "light" 72 | let colorgroup['Visual'] = {"GUIFG": _white, "GUIBG": _sap} 73 | endif 74 | let colorgroup['WarningMsg'] = {"GUIFG": _black, "GUIBG": _sky} 75 | 76 | 77 | " Syntax 78 | " ---------------------------------------------------------------------- 79 | 80 | " There are nine primary highlighting groups which Vim uses: 81 | 82 | " Group Name Description 83 | " Comment Comments within a program 84 | " Constant Program constants, such as numbers, quoted strings, or true/false 85 | " Identifier Variable identifier names 86 | " Statement A programming language statement, usually a keyword like "if" or "while" 87 | " PreProc A preprocessor, such as "#include" in C 88 | " Type A variable datatype, such as "int" 89 | " Special A special symbol, usually used for special characters like "\n" in strings 90 | " Underlined Text that should be underlined 91 | " Error Text which contains a programming language error 92 | let colorgroup['Comment'] = {"GUIFG": _gray_light, "GUI": "italic"} 93 | let colorgroup['Constant'] = {"GUIFG": _turquoise, "GUI": "bold"} 94 | let colorgroup['Identifier'] = {"GUIFG": _aubergine} 95 | let colorgroup['Statement'] = {"GUIFG": _l_sky} 96 | let colorgroup['PreProc'] = {"GUIFG": _d_white} 97 | let colorgroup['Type'] = {"GUIFG": _d_white} 98 | let colorgroup['Special'] = {"GUIFG": _sap} 99 | let colorgroup['Underlined'] = {"GUIFG": _turquoise, "GUI": "underline"} 100 | let colorgroup['Error'] = {"GUIFG": _black, "GUIBG": _aubergine} 101 | 102 | " Other highlighting groups 103 | let colorgroup['Access'] = {"GUIFG": _turquoise, "GUI": "bold"} 104 | let colorgroup['Character'] = {"GUIFG": _sky} 105 | let colorgroup['Define'] = {"GUIFG": _gray_light} 106 | " let colorgroup['DiffAdd'] = {"GUIBG": _d_turquoise} 107 | " let colorgroup['DiffChange'] = {"GUIBG": _l_sky} 108 | " let colorgroup['DiffText'] = {"GUIBG": _sky} 109 | let colorgroup['Function'] = {"GUIFG": _sky, "GUI": "bold"} 110 | let colorgroup['Label'] = {"GUIFG": _d_turquoise} 111 | let colorgroup['Module'] = {"GUIFG": _aubergine, "GUI": "underline"} 112 | let colorgroup['MoreMsg'] = {"GUIFG": _sky} 113 | let colorgroup['NonText'] = {"GUIFG": _gray_dark} 114 | let colorgroup['String'] = {"GUIFG": _turquoise} 115 | let colorgroup['Structure'] = {"GUIFG": _gray} 116 | " Own highlighting groups 117 | let colorgroup['UnderlinedBold'] = {"GUIFG": _turquoise, "GUI": "underline,bold"} 118 | " ------------------------ 119 | hi link Boolean Number 120 | hi link Class Constant 121 | hi link ErrorMsg Error 122 | hi link Delimiter Define 123 | hi link Debug Special 124 | hi link Conditional Define 125 | hi link Exception PreProc 126 | hi link Float Number 127 | hi link Include PreProc 128 | hi link Macro PreProc 129 | hi link Number Character 130 | hi link Operator PreProc 131 | hi link PreCondit PreProc 132 | hi link Repeat Statement 133 | hi link SpecialChar Special 134 | hi link SpecialComment Special 135 | hi link SpecialKey Define 136 | hi link StorageClass Identifier 137 | hi link Symbol PreProc 138 | hi link Tag Statement 139 | hi link Typedef Type 140 | 141 | 142 | " Plugins 143 | " ---------------------------------------------------------------------- 144 | 145 | " CtrlP 146 | hi link CtrlPMatch Character 147 | 148 | " Git commit 149 | hi link gitcommitBranch Constant 150 | hi link gitcommitSelectedFile Statement 151 | hi link gitcommitDiscardedFile Structure 152 | hi link gitcommitUntrackedFile Structure 153 | hi link gitcommitSummary String 154 | 155 | " GitGutter 156 | hi link GitGutterAdd Darker 157 | hi link GitGutterChange Darker 158 | hi link GitGutterDelete Darker 159 | hi link GitGutterChangeDelete Darker 160 | 161 | " NERDtree 162 | hi link NerdTreeCWD Character 163 | hi link NerdTreeHelpKey Character 164 | hi link NerdTreeHelpTitle Statement 165 | hi link NerdTreeOpenable NerdTreeCWD 166 | hi link NerdTreeClosable Statement 167 | hi link NerdTreeDir Normal 168 | hi link NerdTreeDirSlash NerdTreeDir 169 | 170 | " PlainTasks (.todo) 171 | hi link ptCompleteTask Number 172 | hi link ptContext Type 173 | hi link ptSection Title 174 | hi link ptTask Normal 175 | 176 | " VimPlug 177 | hi link plugName Character 178 | 179 | " Startify 180 | hi link StartifyNumber Character 181 | hi link StartifyBracket StartifyNumber 182 | hi link StartifySection Title 183 | hi link StartifyPath Define 184 | hi link StartifySlash StartifyPath 185 | hi link StartifyFile Normal 186 | 187 | 188 | " Languages/Tools 189 | " ---------------------------------------------------------------------- 190 | 191 | " highlight clear ALEErrorSign 192 | hi link ALEErrorSign Type 193 | hi link ALEWarningSign Special 194 | 195 | " Apache 196 | hi link apacheDeclaration PreProc 197 | 198 | " CoffeeScript 199 | hi link coffeeExtendedOp Character 200 | hi link coffeeObject Statement 201 | hi link coffeeObjAssign Character 202 | hi link coffeeParen Character 203 | 204 | " CSS 205 | hi link cssAttr String 206 | hi link cssColor Normal 207 | hi link cssClassName PreProc 208 | hi link cssProp Define 209 | hi link cssPseudoClass Identifier 210 | hi link cssPseudoClassId cssPseudoClass 211 | hi link cssSelectorOp Identifier 212 | hi link cssTagName Tag 213 | 214 | " GraphQL 215 | hi link graphqlName Function 216 | 217 | " HAML 218 | hi link hamlTag Character 219 | 220 | " HTML 221 | " hi link htmlArg Statement 222 | hi link javaScript Normal 223 | hi link htmlTag Delimiter 224 | hi link htmlEndTag Delimiter 225 | hi link htmlTagName Tag 226 | " hi link htmlEndTag Function 227 | 228 | " JavaScript 229 | hi link javascriptFuncArg Character 230 | hi link javascriptFuncComma Character 231 | hi link javascriptFuncDef Statement 232 | hi link javascriptFuncKeyword Statement 233 | hi link javascriptOpSymbols Type 234 | hi link javascriptParens Character 235 | hi link javascriptEndcolons Character 236 | 237 | " Javascript (pangloss/vim-javascript) 238 | hi link jsArrowFuncArgs Identifier 239 | hi link jsArrowFunction Character 240 | hi link jsBraces Delimiter 241 | hi link jsBrackets Delimiter 242 | hi link jsClassBraces PreProc 243 | hi link jsClassDefinition Class 244 | hi link jsClassFuncName Function 245 | hi link jsClassKeyword Label 246 | hi link jsDecorator Normal 247 | hi link jsDestructuringBraces PreProc 248 | hi link jsExtendsKeyword jsClassKeyword 249 | " hi link jsExport Statement 250 | " hi link jsImport Include 251 | hi link jsFrom jsImport 252 | " hi link jsFuncBraces Delimiter 253 | hi link jsFuncCall Character 254 | hi link jsFuncBraces Delimiter 255 | hi link jsFuncParens Delimiter 256 | hi link jsFunctionKey Function 257 | hi link jsGlobalObjects Identifier 258 | hi link jsGlobalNodeObjects Identifier 259 | hi link jsIfElseBraces Delimiter 260 | hi link jsModuleBraces Normal 261 | hi link jsModuleKeyword Tag 262 | hi link jsNoise Delimiter 263 | hi link jsObjectBraces Delimiter 264 | hi link jsObjectKey Define 265 | hi link jsObjectValue PreProc 266 | hi link jsParens Delimiter 267 | hi link jsReturn Identifier 268 | hi link jsSpreadOperator Character 269 | hi link jsSwitchBraces Delimiter 270 | hi link jsThis Identifier 271 | hi link jsTryCatchBraces Delimiter 272 | 273 | " JSX 274 | hi link jsxTagName htmlTagName 275 | 276 | " JSON 277 | hi link jsonKeyword Normal 278 | hi link jsonKeywordMatch Delimiter 279 | hi link jsonNoise Delimiter 280 | hi link jsonQuote Delimiter 281 | 282 | " LaTeX 283 | hi link texInputFile PreProc 284 | hi link texDocType Constant 285 | hi link texDocTypeArgs Character 286 | hi link texInputFile Symbol 287 | hi link texInputFileOpt String 288 | hi link texMathMatcher Statement 289 | hi link texMathSymbol Symbol 290 | hi link texMathZoneX Symbol 291 | hi link texSection Title 292 | hi link texStatement Character 293 | hi link texTypeSize Symbol 294 | hi link texTypeStyle Symbol 295 | " hi link texSpecialChar Special 296 | 297 | " Markdown 298 | hi link mkdBlockquote Symbol 299 | hi link mkdCode Character 300 | hi link mkdIndentCode Identifier 301 | hi link mkdLineBreak Statement 302 | 303 | " MatchTagAlways 304 | hi link MatchTag Identifier 305 | 306 | " PHP 307 | hi link phpParent Normal 308 | hi link phpRegion Comment 309 | hi link phpVarSelector Identifier 310 | 311 | " Ruby 312 | hi link rubyAccess Access 313 | hi link rubyBlockParameterList PreProc 314 | hi link rubyCallback Character 315 | hi link rubyClass Label 316 | hi link rubyClassName UnderlinedBold 317 | hi link rubyControl Statement 318 | hi link rubyConstant Constant 319 | hi link rubyEntity Character 320 | hi link rubyInclude Include 321 | hi link rubyInterpolation Identifier 322 | hi link rubyMacro Character 323 | hi link rubyModule Module 324 | hi link rubyStringDelimiter rubyString 325 | hi link rubySymbol Symbol 326 | hi link rubyRoute Type 327 | 328 | " SASS 329 | hi link sassClassChar Character 330 | hi link sassClass Character 331 | hi link sassIdChar Character 332 | hi link sassId Character 333 | hi link sassProperty CSSProp 334 | 335 | " Slim 336 | hi link slimBegin Normal 337 | hi link slimClass Character 338 | hi link slimClassChar Character 339 | hi link slimId Character 340 | hi link slimIdChar Character 341 | hi link rubyKeyword PreProc 342 | hi link slimText Normal 343 | 344 | " TypeScript 345 | hi link typescriptBOM Normal 346 | hi link typescriptBraces Delimiter 347 | hi link typescriptCall Define 348 | hi link typescriptClassExtends Label 349 | hi link typescriptClassHeritage Constant 350 | hi link typescriptClassKeyword Label 351 | hi link typescriptClassName Constant 352 | hi link typescriptDefault Identifier 353 | hi link typescriptExport PreProc 354 | hi link typescriptIdentifier Identifier 355 | hi link typescriptIdentifierName Character 356 | hi link typescriptImport PreProc 357 | hi link typescriptMember Define 358 | hi link typescriptObjectKey Define 359 | hi link typescriptObjectLabel Define 360 | hi link typescriptParens Delimiter 361 | hi link typescriptParenExp Delimiter 362 | hi link typescriptProp PreProc 363 | hi link typescriptReserved PreProc 364 | hi link typescriptTypeReference Define 365 | hi link tsxTagName Statement 366 | 367 | " VimL 368 | hi link vimCmdSep Character 369 | 370 | " YAML 371 | hi link yamlBlockMappingKey Normal 372 | hi link yamlDocumentStart Comment 373 | hi link yamlKeyValueDelimiter Delimiter 374 | hi link yamlPlainScalar Character 375 | 376 | " XML 377 | " hi link xmlAttrib Normal 378 | hi link xmlTag Delimiter 379 | hi link xmlTagName Tag 380 | hi link xmlEndTag Tag 381 | 382 | 383 | " Expand colorgroups 384 | " ---------------------------------------------------------------------- 385 | 386 | let s:colors = {} 387 | " http://choorucode.com/2011/07/29/vim-chart-of-color-names/ 388 | let valid_cterm_colors = 389 | \ [ 390 | \ 'Black', 'DarkBlue', 'DarkGreen', 'DarkCyan', 391 | \ 'DarkRed', 'DarkMagenta', 'Brown', 'DarkYellow', 392 | \ 'LightGray', 'LightGrey', 'Gray', 'Grey', 393 | \ 'DarkGray', 'DarkGrey', 'Blue', 'LightBlue', 394 | \ 'Green', 'LightGreen', 'Cyan', 'LightCyan', 395 | \ 'Red', 'LightRed', 'Magenta', 'LightMagenta', 396 | \ 'Yellow', 'LightYellow', 'White', 397 | \ ] 398 | for key in keys(colorgroup) 399 | let s:colors = colorgroup[key] 400 | if has_key(s:colors, 'TERM') 401 | let term = s:colors['TERM'] 402 | else 403 | let term = 'NONE' 404 | endif 405 | if has_key(s:colors, 'GUI') 406 | let gui = s:colors['GUI'] 407 | else 408 | let gui='NONE' 409 | endif 410 | if has_key(s:colors, 'GUIFG') 411 | let guifg = s:colors['GUIFG'] 412 | else 413 | let guifg='NONE' 414 | endif 415 | if has_key(s:colors, 'GUIBG') 416 | let guibg = s:colors['GUIBG'] 417 | else 418 | let guibg='NONE' 419 | endif 420 | if has_key(s:colors, 'CTERM') 421 | let cterm = s:colors['CTERM'] 422 | else 423 | let cterm=gui 424 | endif 425 | if has_key(s:colors, 'CTERMFG') 426 | let ctermfg = s:colors['CTERMFG'] 427 | else 428 | if index(valid_cterm_colors, guifg) != -1 429 | let ctermfg=guifg 430 | else 431 | let ctermfg='Blue' 432 | endif 433 | endif 434 | if has_key(s:colors, 'CTERMBG') 435 | let ctermbg = s:colors['CTERMBG'] 436 | else 437 | if index(valid_cterm_colors, guibg) != -1 438 | let ctermbg=guibg 439 | else 440 | let ctermbg='NONE' 441 | endif 442 | endif 443 | if has_key(s:colors, 'GUISP') 444 | let guisp = s:colors['GUISP'] 445 | else 446 | let guisp='NONE' 447 | endif 448 | 449 | if key =~ '^\k*$' 450 | execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp 451 | endif 452 | endfor 453 | --------------------------------------------------------------------------------