a duotonic color scheme

Compare changes

Choose any two refs to compare.

+1
.gitignore
··· 1 + result
-48
README.md
··· 1 - # vim-colors-plain 2 - 3 - This is a fork of [vim-colors-off][] which is being developed based on my 4 - personal taste. 5 - 6 - ![Screenshot](screenshots/plain-dark.png) 7 - ![Screenshot](screenshots/plain-light.png) 8 - 9 - ## Motivation 10 - 11 - Minimalistic colorscheme which uses bold to highlight keywords and a 12 - distinguished color for constant literals (string, numbers, JSX tags). 13 - 14 - ## Installation & Usage 15 - 16 - With [vim-plug][] you add this to the `.vimrc`: 17 - 18 - ``` 19 - Plug 'andreypopp/vim-colors-plain' 20 - ``` 21 - 22 - Then: 23 - 24 - ``` 25 - set background=light " Set to dark for a dark variant 26 - colorscheme plain 27 - ``` 28 - 29 - ## FAQ 30 - 31 - - What terminal emulator is shown on the screenshots? 32 - 33 - This is [kitty][]. Fast and highly configurable. 34 - 35 - - Is this Vim or Neovim on the screenshots and why? 36 - 37 - This is Neovim. 38 - 39 - - What font is being used on the screenshots? 40 - 41 - [Pragmata Pro][] which is not free but worth the money paid. [Iosevka][] is 42 - another great font I used before which is similar in feel. 43 - 44 - [vim-colors-off]: https://github.com/pbrisbin/vim-colors-off 45 - [vim-plug]: https://github.com/junegunn/vim-plug 46 - [kitty]: https://github.com/kovidgoyal/kitty 47 - [Pragmata Pro]: https://www.fsd.it/shop/fonts/pragmatapro/ 48 - [Iosevka]: https://github.com/be5invis/Iosevka
+119 -36
colors/plain.vim
··· 60 60 let s:yellow = s:light_yellow 61 61 let s:visual = s:subtle_black 62 62 let s:cursor_line = s:subtle_black 63 - let s:status_line = s:lighter_gray 64 - let s:status_line_nc = s:lighter_gray 63 + let s:status_line = s:lighter_black 64 + let s:status_line_nc = s:subtle_black 65 65 let s:constant = s:light_green 66 66 let s:comment = s:lighter_black 67 67 let s:selection = s:light_purple ··· 80 80 let s:visual = s:light_blue 81 81 let s:cursor_line = s:medium_gray 82 82 let s:status_line = s:lighter_gray 83 - let s:status_line_nc = s:lighter_gray 83 + let s:status_line_nc = s:lighter_black 84 84 let s:constant = s:dark_blue 85 85 let s:comment = s:light_gray 86 86 let s:selection = s:light_yellow ··· 99 99 \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") 100 100 endfunction 101 101 102 - call s:h("firstAccent", {"bg": s:bg, "fg": s:cyan,}) 103 - call s:h("secondAccent", {"bg": s:bg, "fg": s:purple,}) 102 + call s:h("firstAccent", {"fg": s:cyan}) 103 + call s:h("secondAccent", {"fg": s:purple}) 104 104 105 - call s:h("Normal", {"bg": s:bg, "fg": s:norm,}) 106 - call s:h("Noise", {"bg": s:bg, "fg": s:norm_subtle}) 105 + call s:h("Normal", {"fg": s:norm,}) 106 + call s:h("Noise", {"fg": s:norm_subtle}) 107 107 call s:h("Cursor", {"bg": s:green, "fg": s:norm}) 108 108 call s:h("Comment", {"fg": s:comment, "cterm": "italic"}) 109 109 call s:h("Function", {"fg": s:norm, "cterm": "bold"}) ··· 119 119 hi! link Identifier Normal 120 120 121 121 "hi! link Statement Normal 122 - call s:h("Statement", {"bg": s:bg, "fg": s:norm, "cterm": "bold"}) 122 + call s:h("Statement", {"fg": s:norm, "cterm": "bold"}) 123 123 hi! link Conditonal Statement 124 124 hi! link Repeat Statement 125 125 hi! link Label Statement ··· 131 131 hi! link PreProc Normal 132 132 hi! link Include Statement 133 133 hi! link Define PreProc 134 - hi! link Macro secondAccent 134 + hi! link Macro PreProc 135 135 hi! link PreCondit PreProc 136 136 137 137 "call s:h("Type", {"fg": s:purple}) 138 138 hi! link Type secondAccent 139 139 hi! link StorageClass Type 140 - hi! link Structure Type 141 - hi! link Typedef Type 140 + hi! link Structure Noise 141 + hi! link Typedef Noise 142 142 143 143 "call s:h("Special", {"fg": s:pink}) 144 144 hi! link Special StatusLine ··· 152 152 153 153 call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) 154 154 call s:h("Ignore", {"fg": s:bg}) 155 - call s:h("Error", {"fg": s:red, "bg": s:bg, "cterm": "bold"}) 155 + call s:h("Error", {"fg": s:red, "cterm": "bold"}) 156 156 call s:h("Todo", {"fg": s:actual_white, "bg": s:black, "gui": "bold", "cterm": "bold"}) 157 157 call s:h("SpecialKey", {"fg": s:subtle_black}) 158 158 call s:h("NonText", {"fg": s:bg_very_subtle}) ··· 160 160 call s:h("ErrorMsg", {"fg": s:pink}) 161 161 call s:h("IncSearch", {"bg": s:selection, "fg": s:black}) 162 162 call s:h("Search", {"bg": s:selection, "fg": s:black}) 163 + call s:h("CurSearch", {"bg": s:selection, "fg": s:black}) 163 164 call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"}) 164 165 hi! link ModeMsg MoreMsg 165 166 call s:h("LineNr", {"fg": s:medium_gray}) ··· 191 192 call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) 192 193 endif 193 194 194 - """ Help 195 - hi link helpHyperTextEntry Title 196 - hi link helpHyperTextJump String 197 - 198 195 """ StatusLine 199 - 200 - call s:h("StatusLine", {"bg": s:bg, "fg": s:status_line}) 201 - call s:h("StatusLineNC", {"bg": s:bg, "fg": s:status_line_nc}) 196 + call s:h("StatusLine", {"fg": s:status_line}) 197 + call s:h("StatusLineNC", {"fg": s:status_line_nc}) 202 198 203 199 " Those are not standard but are useful to emphasis different parts of the 204 200 " status line. ··· 218 214 call s:h("ColorColumn", {"bg": s:bg_subtle}) 219 215 220 216 call s:h("MatchParen", {"bg": s:bg_very_subtle, "fg": s:norm}) 221 - call s:h("qfLineNr", {"fg": s:medium_gray}) 217 + hi link qfLineNr secondAccent 218 + hi link qfFileName firstAccent 222 219 223 - call s:h("htmlH1", {"bg": s:bg, "fg": s:norm}) 224 - call s:h("htmlH2", {"bg": s:bg, "fg": s:norm}) 225 - call s:h("htmlH3", {"bg": s:bg, "fg": s:norm}) 226 - call s:h("htmlH4", {"bg": s:bg, "fg": s:norm}) 227 - call s:h("htmlH5", {"bg": s:bg, "fg": s:norm}) 228 - call s:h("htmlH6", {"bg": s:bg, "fg": s:norm}) 220 + call s:h("htmlH1", {"fg": s:norm}) 221 + call s:h("htmlH2", {"fg": s:norm}) 222 + call s:h("htmlH3", {"fg": s:norm}) 223 + call s:h("htmlH4", {"fg": s:norm}) 224 + call s:h("htmlH5", {"fg": s:norm}) 225 + call s:h("htmlH6", {"fg": s:norm}) 229 226 230 - call s:h("htmlBold", {"bg": s:bg, "fg": s:norm}) 231 - call s:h("htmlItalic", {"bg": s:bg, "fg": s:norm}) 232 - call s:h("htmlEndTag", {"bg": s:bg, "fg": s:norm}) 233 - call s:h("htmlTag", {"bg": s:bg, "fg": s:norm}) 234 - call s:h("htmlTagName", {"bg": s:bg, "fg": s:norm}) 235 - call s:h("htmlArg", {"bg": s:bg, "fg": s:norm}) 236 - call s:h("htmlError", {"bg": s:bg, "fg": s:red}) 227 + call s:h("htmlBold", {"fg": s:norm}) 228 + call s:h("htmlItalic", {"fg": s:norm}) 229 + call s:h("htmlEndTag", {"fg": s:norm}) 230 + call s:h("htmlTag", {"fg": s:norm}) 231 + call s:h("htmlTagName", {"fg": s:norm}) 232 + call s:h("htmlArg", {"fg": s:norm}) 233 + call s:h("htmlError", {"fg": s:red}) 237 234 238 235 " JavaScript highlighting 239 236 " ··· 244 241 hi link diffRemoved DiffDelete 245 242 hi link diffAdded DiffAdd 246 243 244 + hi link TSAnnotation secondAccent 245 + " unstable for now: 246 + hi link TSAttribute secondAccent 247 + hi link TSBoolean Constant 248 + hi link TSCharacter Constant 249 + hi link TSComment Comment 250 + hi link TSConstructor Normal 251 + hi link TSConditional Normal 252 + hi link TSConstant Constant 253 + hi link TSConstBuiltin secondAccent 254 + hi link TSConstMacro secondAccent 255 + hi link TSError Error 256 + hi link TSException Error 257 + hi link TSField Normal 258 + hi link TSFloat Constant 259 + hi link TSFunction Normal 260 + hi link TSFuncBuiltin Noise 261 + hi link TSFuncMacro secondAccent 262 + hi link TSInclude Noise 263 + hi link TSKeyword Noise 264 + hi link TSKeywordFunction Noise 265 + hi link TSLabel Noise 266 + hi link TSMethod Normal 267 + hi link TSNamespace Noise 268 + hi link TSNone Noise 269 + hi link TSNumber Constant 270 + hi link TSOperator Normal 271 + hi link TSParameter Statement 272 + hi link TSParameterReference Statement 273 + hi link TSProperty TSField 274 + hi link TSPunctDelimiter Noise 275 + hi link TSPunctBracket Noise 276 + hi link TSPunctSpecial Noise 277 + hi link TSRepeat Normal 278 + hi link TSString Constant 279 + hi link TSStringRegex secondAccent 280 + hi link TSStringEscape secondAccent 281 + hi link TSStringSpecial secondAccent 282 + hi link TSTag Statement 283 + hi link TSTagDelimiter Noise 284 + hi link TSText Normal 285 + hi link TSEmphasis Statement 286 + hi link TSUnderline Underlined 287 + hi link TSStrike Underlined 288 + hi link TSTitle Statement 289 + hi link TSLiteral Noise 290 + hi link TSURI Constant 291 + hi link TSType secondAccent 292 + hi link TSTypeBuiltin secondAccent 293 + hi link TSVariable Normal 294 + hi link TSVariableBuiltin Normal 295 + 296 + " nvim-lsp diagnostics 297 + hi link LspDiagnosticsDefaultError Error 298 + hi link LspDiagnosticsDefaultWarning WarningMsg 299 + hi link LspDiagnosticsDefaultInformation Noise 300 + hi link LspDiagnosticsDefaultHint Constant 301 + 247 302 " Signify, git-gutter 248 303 hi link SignifySignAdd LineNr 249 304 hi link SignifySignDelete LineNr ··· 264 319 hi link jsReturn jsSpreadOperator 265 320 hi link jsExport jsSpreadOperator 266 321 267 - call s:h("rustModPath ", {"bg": s:bg, "fg": s:lightest_gray}) 322 + call s:h("rustModPath ", {"fg": s:lightest_gray}) 268 323 hi link rustMacro secondAccent 269 324 hi link rustKeyword Noise 270 325 hi link rustDerive secondAccent ··· 276 331 hi link schemeParentheses Noise 277 332 hi link schemeIdentifier Noise 278 333 334 + hi link lispParen Noise 335 + hi link lispSymbol Noise 336 + 279 337 hi link shCommandSub secondAccent 280 338 281 339 hi link cFormat secondAccent ··· 283 341 hi link nixBuiltin secondAccent 284 342 hi link nixNamespacedBuiltin secondAccent 285 343 344 + hi link awkPatterns secondAccent 345 + hi link awkVariables Normal 346 + hi link awkOperator Normal 347 + hi link awkExpression Noise 348 + hi link awkArrayElement Noise 349 + hi link awkFieldVars firstAccent 350 + hi link awkSpecialPrintf secondAccent 351 + hi link awkSpecialCharacter Noise 352 + 286 353 hi link sqlSpecial firstAccent 287 354 hi link sqlKeyword secondAccent 288 355 289 - hi link helpExample Noise 356 + hi link helpExample Normal 290 357 hi link helpCommand secondAccent 291 358 hi link helpBacktick secondAccent 292 - hi link helpSpecial Noise 359 + hi link helpSpecial Normal 360 + hi link helpUrl secondAccent 361 + hi link helpHyperTextEntry Title 362 + hi link helpHyperTextJump String 363 + 293 364 294 365 hi link StorageClass Statement 366 + 367 + hi link elmType Type 295 368 296 369 hi link xmlTag Constant 297 370 hi link xmlTagName xmlTag ··· 313 386 call s:h("cssBraces", {"bg": s:bg, "fg": s:selection}) 314 387 hi link cssTextProp Noise 315 388 hi link cssTagName Normal 389 + 390 + 391 + " leap-nvim support 392 + hi link LeapMatch Normal 393 + hi link LeapLabelPrimary Normal 394 + hi link LeapLabelSecondary Normal 395 + hi link LeapBackdrop Noise 396 + 397 + " lsp ui 398 + hi link FloatBorder Noise
+27
flake.lock
··· 1 + { 2 + "nodes": { 3 + "nixpkgs": { 4 + "locked": { 5 + "lastModified": 1632176121, 6 + "narHash": "sha256-N2oSOhbW38rbc53R1R8qXC/Xstht1PIsAcTzJfmCpTc=", 7 + "owner": "NixOS", 8 + "repo": "nixpkgs", 9 + "rev": "3397f0ede9ea2ded1f8b6fa689dda71a7a67b806", 10 + "type": "github" 11 + }, 12 + "original": { 13 + "owner": "NixOS", 14 + "ref": "nixos-21.05", 15 + "repo": "nixpkgs", 16 + "type": "github" 17 + } 18 + }, 19 + "root": { 20 + "inputs": { 21 + "nixpkgs": "nixpkgs" 22 + } 23 + } 24 + }, 25 + "root": "root", 26 + "version": 7 27 + }
+48
flake.nix
··· 1 + { 2 + 3 + description = "Duotonic colorscheme for {neo,}vim"; 4 + 5 + inputs = { 6 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05"; 7 + }; 8 + 9 + outputs = 10 + { self 11 + , nixpkgs 12 + , ... 13 + } @ rest: 14 + let 15 + supportedSystems = [ "x86_64-linux" "x86_64-darwin" ]; 16 + 17 + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 18 + 19 + nixpkgsFor = forAllSystems (system: 20 + import nixpkgs { 21 + inherit system; 22 + overlays = [ self.overlay ]; 23 + } 24 + ); 25 + in 26 + { 27 + 28 + overlay = final: prev: rec { 29 + vim-colors-plain = 30 + with final; pkgs.vimUtils.buildVimPlugin { 31 + pname = "vim-colors-plain"; 32 + version = "0.1.0"; 33 + src = ./.; 34 + }; 35 + }; 36 + 37 + packages = forAllSystems (system: 38 + { 39 + inherit (nixpkgsFor."${system}") vim-colors-plain; 40 + } 41 + ); 42 + 43 + defaultPackage = 44 + forAllSystems (system: self.packages."${system}".vim-colors-plain); 45 + 46 + }; 47 + 48 + }
+28
readme.md
··· 1 + ![img](https://cdn.oppi.li/bt.png) 2 + 3 + vim-colors-plain is a duotonic color scheme, the two accents 4 + being cyan and pink by default (configurable). 5 + 6 + i would suggesting installing manually by cloning into your 7 + plugin directory or dropping `colors/plain.vim` into one of 8 + the following directories: 9 + 10 + - vim: `.vim/plugin` 11 + - neovim: `.config/nvim/plugin` 12 + 13 + if you use nix/nixos, this repository provides a vim plugin 14 + as a flake output, that you can import via 15 + `builtins.getFlake`. 16 + 17 + ``` 18 + vim-colors-plain = { 19 + url = "github:oppiliappan/vim-colors-plain"; 20 + inputs.nixpkgs.follows = "nixpkgs"; 21 + }; 22 + 23 + . 24 + . 25 + . 26 + 27 + programs.neovim.plugins = [ pkgs.vim-colors-plain ]; 28 + ```
screenshots/plain-dark.png

This is a binary file and will not be displayed.

screenshots/plain-light.png

This is a binary file and will not be displayed.