+1
.gitignore
+1
.gitignore
···
1
+
result
-48
README.md
-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
-

7
-

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
+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
+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
+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
+28
readme.md
···
1
+

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
screenshots/plain-dark.png
This is a binary file and will not be displayed.
screenshots/plain-light.png
screenshots/plain-light.png
This is a binary file and will not be displayed.