tangled
alpha
login
or
join now
anirudh.fi
/
dotfiles
5
fork
atom
my nix dotfiles
5
fork
atom
overview
issues
pulls
pipelines
nvim: wip lua colorscheme
anirudh.fi
2 years ago
e0d420bc
c0e7b833
+764
-1
3 changed files
expand all
collapse all
unified
split
nvim
colors
grey.lua
plain2.lua
lua
settings.lua
+446
nvim/colors/grey.lua
···
1
1
+
local o = vim.o
2
2
+
local g = vim.g
3
3
+
local api = vim.api
4
4
+
5
5
+
vim.cmd('hi clear')
6
6
+
7
7
+
if g.syntax_on == 1 then
8
8
+
vim.cmd('syntax reset')
9
9
+
end
10
10
+
11
11
+
o.background = 'light'
12
12
+
g.colors_name = 'grey'
13
13
+
14
14
+
local background = '#f4f4f4'
15
15
+
local grey_bg_light = '#E5E5E5'
16
16
+
local black = '#222222'
17
17
+
local blue = '#008EC4'
18
18
+
local green = '#10A778'
19
19
+
local light_green = '#5FD7A7'
20
20
+
local light_red = '#E32791'
21
21
+
local red = '#C30771'
22
22
+
local grey = '#767676'
23
23
+
local light_grey = '#CCCCCC'
24
24
+
local border = '#999999'
25
25
+
local highlight = '#424242'
26
26
+
local dark_yellow = '#A89C14'
27
27
+
local yellow = '#F3E430'
28
28
+
local light_yellow = '#F1F1F1'
29
29
+
local orange = '#D75F5F'
30
30
+
local purple = '#523C79'
31
31
+
local white = '#FFFFFF'
32
32
+
local cyan = '#20A5BA'
33
33
+
34
34
+
g.terminal_color_0 = black
35
35
+
g.terminal_color_1 = red
36
36
+
g.terminal_color_2 = green
37
37
+
g.terminal_color_3 = dark_yellow
38
38
+
g.terminal_color_4 = blue
39
39
+
g.terminal_color_5 = purple
40
40
+
g.terminal_color_6 = cyan
41
41
+
g.terminal_color_7 = grey
42
42
+
43
43
+
g.terminal_color_8 = black
44
44
+
g.terminal_color_9 = red
45
45
+
g.terminal_color_10 = green
46
46
+
g.terminal_color_11 = dark_yellow
47
47
+
g.terminal_color_12 = blue
48
48
+
g.terminal_color_13 = purple
49
49
+
g.terminal_color_14 = cyan
50
50
+
g.terminal_color_15 = grey
51
51
+
52
52
+
local highlights = {
53
53
+
-- This highlight group can be used when one wants to disable a highlight
54
54
+
-- group using `winhl`
55
55
+
Disabled = {},
56
56
+
-- These highlight groups can be used for statuslines, for example when
57
57
+
-- displaying ALE warnings and errors.
58
58
+
BlackOnLightYellow = { fg = black, bg = light_yellow },
59
59
+
LightRedBackground = { bg = light_red },
60
60
+
WhiteOnBlue = { fg = white, bg = blue },
61
61
+
WhiteOnOrange = { fg = white, bg = orange },
62
62
+
WhiteOnRed = { fg = white, bg = red },
63
63
+
WhiteOnYellow = { fg = white, bg = dark_yellow },
64
64
+
Yellow = { fg = dark_yellow, bold = true },
65
65
+
Bold = { fg = black, bold = true },
66
66
+
Boolean = { link = 'Keyword' },
67
67
+
Character = { link = 'String' },
68
68
+
ColorColumn = { bg = highlight },
69
69
+
Comment = { fg = grey },
70
70
+
Conceal = {},
71
71
+
Constant = { fg = black },
72
72
+
Cursor = { bg = black },
73
73
+
-- This is to work around https://github.com/neovim/neovim/issues/9800.
74
74
+
CursorLine = { ctermfg = 'black' },
75
75
+
CursorLineNr = { fg = black, bold = true },
76
76
+
Directory = { fg = purple },
77
77
+
EndOfBuffer = { fg = background, bg = background },
78
78
+
Error = { link = 'ErrorMsg' },
79
79
+
ErrorMsg = { fg = red, bold = true },
80
80
+
FoldColumn = { fg = light_grey, bg = background },
81
81
+
Folded = { link = 'Comment' },
82
82
+
Identifier = { fg = black },
83
83
+
Function = { fg = black },
84
84
+
IncSearch = { link = 'Search' },
85
85
+
CurSearch = { link = 'Search' },
86
86
+
Include = { fg = black, bold = true },
87
87
+
InstanceVariable = { fg = purple },
88
88
+
Keyword = { fg = black, bold = true },
89
89
+
Label = { link = 'Keyword' },
90
90
+
LineNr = { fg = grey },
91
91
+
Macro = { fg = orange },
92
92
+
MatchParen = { bold = true },
93
93
+
MoreMsg = { fg = black },
94
94
+
ModeMsg = { fg = black, bold = true },
95
95
+
MsgSeparator = { fg = border },
96
96
+
NonText = { fg = grey },
97
97
+
Normal = { fg = black, bg = background },
98
98
+
NormalFloat = { fg = black },
99
99
+
FloatTitle = { fg = black, bold = true },
100
100
+
FloatBorder = { fg = border },
101
101
+
Number = { fg = blue },
102
102
+
Operator = { fg = black },
103
103
+
Pmenu = { fg = black, bg = grey_bg_light },
104
104
+
PmenuSbar = { bg = grey_bg_light },
105
105
+
PmenuSel = { bg = light_grey, bold = true },
106
106
+
PmenuThumb = { bg = light_grey },
107
107
+
PreCondit = { link = 'Macro' },
108
108
+
PreProc = { fg = black },
109
109
+
Question = { fg = black },
110
110
+
QuickFixLine = { bg = highlight, bold = true },
111
111
+
Regexp = { fg = orange },
112
112
+
Search = { bg = light_yellow },
113
113
+
SignColumn = { link = 'FoldColumn' },
114
114
+
Special = { fg = black },
115
115
+
SpecialKey = { link = 'Number' },
116
116
+
SpellBad = { sp = red, underline = true },
117
117
+
SpellCap = { sp = dark_yellow, underline = true },
118
118
+
SpellLocal = { sp = blue, underline = true },
119
119
+
SpellRare = { sp = purple, underline = true },
120
120
+
Statement = { link = 'Keyword' },
121
121
+
StatusLine = { fg = black, bg = background },
122
122
+
StatusLineNC = { fg = black, bg = grey_bg_light },
123
123
+
StatusLineTab = { fg = black, bg = background, bold = true },
124
124
+
WinBar = { fg = black, bold = true },
125
125
+
WinBarNc = { fg = black, bold = true },
126
126
+
WinBarFill = { fg = border },
127
127
+
StorageClass = { link = 'Keyword' },
128
128
+
String = { fg = green },
129
129
+
SnippetTabstop = {},
130
130
+
Symbol = { fg = orange },
131
131
+
TabLine = { fg = black, bg = light_grey },
132
132
+
TabLineFill = { fg = black, bg = light_grey },
133
133
+
TabLineSel = { fg = black, bg = background, bold = true },
134
134
+
Title = { fg = black, bold = true },
135
135
+
Todo = { fg = grey, bold = true },
136
136
+
Type = { link = 'Constant' },
137
137
+
Underlined = { underline = true },
138
138
+
VertSplit = { fg = border },
139
139
+
WinSeparator = { fg = border },
140
140
+
Visual = { bg = light_grey },
141
141
+
WarningMsg = { fg = dark_yellow, bold = true },
142
142
+
Whitespace = { fg = border },
143
143
+
WildMenu = { link = 'PmenuSel' },
144
144
+
-- ALE
145
145
+
ALEError = { fg = red, bold = true },
146
146
+
ALEErrorSign = { fg = red, bold = true },
147
147
+
ALEWarning = { fg = dark_yellow, bold = true },
148
148
+
ALEWarningSign = { fg = dark_yellow, bold = true },
149
149
+
-- ccc.nvim
150
150
+
CccFloatNormal = { link = 'NormalFloat' },
151
151
+
CccFloatBorder = { link = 'FloatBorder' },
152
152
+
-- CSS
153
153
+
cssClassName = { link = 'Keyword' },
154
154
+
cssColor = { link = 'Number' },
155
155
+
cssIdentifier = { link = 'Keyword' },
156
156
+
cssImportant = { link = 'Keyword' },
157
157
+
cssProp = { link = 'Identifier' },
158
158
+
cssTagName = { link = 'Keyword' },
159
159
+
-- Diffs
160
160
+
DiffAdd = { bg = light_green },
161
161
+
DiffChange = { bg = highlight },
162
162
+
DiffDelete = { fg = red },
163
163
+
DiffText = { bg = light_yellow },
164
164
+
diffAdded = { link = 'DiffAdd' },
165
165
+
diffChanged = { link = 'DiffChange' },
166
166
+
diffFile = { fg = black, bold = true },
167
167
+
diffLine = { fg = blue },
168
168
+
diffRemoved = { link = 'DiffDelete' },
169
169
+
-- Dot/Graphviz
170
170
+
dotKeyChar = { link = 'Operator' },
171
171
+
-- diffview.nvim
172
172
+
DiffviewCursorLine = { bg = highlight },
173
173
+
DiffviewDiffAddAsDelete = { bg = light_red },
174
174
+
DiffviewDiffDelete = { fg = light_grey },
175
175
+
DiffviewDiffDeleteDim = { fg = light_grey },
176
176
+
DiffviewFilePanelFileName = { fg = black },
177
177
+
DiffviewFilePanelPath = { fg = purple },
178
178
+
DiffviewFilePanelRootPath = { fg = purple },
179
179
+
DiffviewFilePanelTitle = { fg = black, bold = true },
180
180
+
DiffviewFilePanelInsertions = { fg = green },
181
181
+
DiffviewFilePanelDeletions = { fg = red },
182
182
+
DiffviewStatusModified = { fg = dark_yellow, bold = true },
183
183
+
DiffviewStatusAdded = { fg = green, bold = true },
184
184
+
DiffviewStatusCopied = { fg = green, bold = true },
185
185
+
DiffviewStatusDeleted = { fg = red, bold = true },
186
186
+
-- Flash
187
187
+
FlashBackdrop = { link = 'None' },
188
188
+
FlashLabel = { fg = red, bold = true },
189
189
+
-- Fugitive
190
190
+
FugitiveblameHash = { fg = purple },
191
191
+
FugitiveblameTime = { fg = blue },
192
192
+
gitCommitOverflow = { link = 'ErrorMsg' },
193
193
+
gitCommitSummary = { link = 'String' },
194
194
+
-- gitcommit
195
195
+
['@string.special.url.gitcommit'] = { fg = black },
196
196
+
['@markup.link.gitcommit'] = { fg = green, bold = true },
197
197
+
['@comment.warning.gitcommit'] = { fg = red, bold = true },
198
198
+
-- Gitsigns
199
199
+
GitSignsAdd = { fg = green },
200
200
+
GitSignsDelete = { fg = red },
201
201
+
GitSignsChange = { fg = grey },
202
202
+
-- HAML
203
203
+
hamlClass = { fg = black },
204
204
+
hamlDocType = { link = 'Comment' },
205
205
+
hamlId = { fg = black },
206
206
+
hamlTag = { fg = black, bold = true },
207
207
+
-- hop.nvim
208
208
+
HopNextKey = { fg = red, bold = true },
209
209
+
HopNextKey1 = { fg = dark_yellow },
210
210
+
HopNextKey2 = { fg = dark_yellow },
211
211
+
HopUnmatched = {},
212
212
+
-- HTML
213
213
+
htmlArg = { link = 'Identifier' },
214
214
+
htmlLink = { link = 'Directory' },
215
215
+
htmlScriptTag = { link = 'htmlTag' },
216
216
+
htmlSpecialTagName = { link = 'htmlTag' },
217
217
+
htmlTag = { fg = black, bold = true },
218
218
+
htmlTagName = { link = 'htmlTag' },
219
219
+
htmlItalic = { italic = true },
220
220
+
htmlBold = { bold = true },
221
221
+
-- Inko
222
222
+
inkoCommentBold = { fg = grey, bold = true },
223
223
+
inkoCommentInlineUrl = { link = 'Number' },
224
224
+
inkoCommentItalic = { fg = grey, italic = true },
225
225
+
inkoCommentTitle = { fg = grey, bold = true },
226
226
+
inkoInstanceVariable = { link = 'InstanceVariable' },
227
227
+
inkoKeywordArgument = { link = 'Regexp' },
228
228
+
['@variable.member.inko'] = { link = 'InstanceVariable' },
229
229
+
['@constant.builtin.inko'] = { link = 'Keyword' },
230
230
+
-- Java
231
231
+
javaAnnotation = { link = 'Directory' },
232
232
+
javaCommentTitle = { link = 'javaComment' },
233
233
+
javaDocParam = { link = 'Todo' },
234
234
+
javaDocTags = { link = 'Todo' },
235
235
+
javaExternal = { link = 'Keyword' },
236
236
+
javaStorageClass = { link = 'Keyword' },
237
237
+
-- Javascript
238
238
+
JavaScriptNumber = { link = 'Number' },
239
239
+
javaScriptBraces = { link = 'Operator' },
240
240
+
javaScriptFunction = { link = 'Keyword' },
241
241
+
javaScriptIdentifier = { link = 'Keyword' },
242
242
+
javaScriptMember = { link = 'Identifier' },
243
243
+
-- JSON
244
244
+
jsonKeyword = { link = 'String' },
245
245
+
-- Lua
246
246
+
luaFunction = { link = 'Keyword' },
247
247
+
-- LSP
248
248
+
DiagnosticUnderlineError = { underline = true, sp = red },
249
249
+
DiagnosticUnderlineWarn = { underline = true, sp = dark_yellow },
250
250
+
LspDiagnosticsUnderlineError = { link = 'DiagnosticUnderlineError' },
251
251
+
LspDiagnosticsUnderlineWarning = { link = 'DiagnosticUnderlineWarn' },
252
252
+
DiagnosticFloatingError = { fg = red, bold = true },
253
253
+
DiagnosticFloatingHint = { fg = black, bold = true },
254
254
+
DiagnosticFloatingInfo = { fg = blue, bold = true },
255
255
+
DiagnosticFloatingWarn = { fg = dark_yellow, bold = true },
256
256
+
DiagnosticError = { fg = red, bold = true },
257
257
+
DiagnosticHint = { fg = grey, bold = true },
258
258
+
DiagnosticInfo = { fg = blue, bold = true },
259
259
+
DiagnosticWarn = { fg = dark_yellow, bold = true },
260
260
+
-- Make
261
261
+
makeTarget = { link = 'Function' },
262
262
+
-- Markdown
263
263
+
markdownCode = { link = 'markdownCodeBlock' },
264
264
+
markdownCodeBlock = { link = 'Comment' },
265
265
+
markdownListMarker = { link = 'Keyword' },
266
266
+
markdownOrderedListMarker = { link = 'Keyword' },
267
267
+
markdownUrl = { fg = blue },
268
268
+
-- mini.pick
269
269
+
MiniPickBorder = { fg = border },
270
270
+
MiniPickBorderBusy = { link = 'MiniPickBorder' },
271
271
+
MiniPickBorderText = { fg = black },
272
272
+
MiniPickHeader = { fg = black, bold = true },
273
273
+
MiniPickMatchCurrent = { bg = light_grey, bold = true },
274
274
+
MiniPickMatchRanges = { fg = dark_yellow, bold = true },
275
275
+
MiniPickNormal = { fg = black },
276
276
+
MiniPickPrompt = { fg = black, bold = true },
277
277
+
-- netrw
278
278
+
netrwClassify = { link = 'Identifier' },
279
279
+
-- Neogit
280
280
+
NeogitBranch = { fg = green, bold = true },
281
281
+
NeogitBranchHead = { link = 'NeogitBranch' },
282
282
+
NeogitCommitViewHeader = { fg = dark_yellow, bold = true },
283
283
+
NeogitCursorLine = { bg = highlight },
284
284
+
NeogitDiffAdd = { link = 'DiffAdd' },
285
285
+
NeogitDiffAddHighlight = { link = 'NeogitDiffAdd' },
286
286
+
NeogitDiffContext = { link = 'Normal' },
287
287
+
NeogitDiffContextHighlight = { link = 'Normal' },
288
288
+
NeogitDiffDelete = { link = 'DiffDelete' },
289
289
+
NeogitDiffDeleteHighlight = { link = 'NeogitDiffDelete' },
290
290
+
NeogitDiffHeader = { fg = black, bold = true },
291
291
+
NeogitDiffHeaderHighlight = { link = 'NeogitDiffHeader' },
292
292
+
NeogitFilePath = { fg = purple },
293
293
+
NeogitGraphBlue = { fg = blue },
294
294
+
NeogitGraphBoldBlue = { fg = blue, bold = true },
295
295
+
NeogitGraphBoldCyan = { fg = cyan, bold = true },
296
296
+
NeogitGraphBoldGray = { fg = grey, bold = true },
297
297
+
NeogitGraphBoldGreen = { fg = green, bold = true },
298
298
+
NeogitGraphBoldOrange = { fg = orange, bold = true },
299
299
+
NeogitGraphBoldPurple = { fg = purple, bold = true },
300
300
+
NeogitGraphBoldRed = { fg = red, bold = true },
301
301
+
NeogitGraphBoldWhite = { fg = black, bold = true },
302
302
+
NeogitGraphBoldYellow = { fg = dark_yellow, bold = true },
303
303
+
NeogitGraphCyan = { fg = cyan },
304
304
+
NeogitGraphGray = { fg = grey },
305
305
+
NeogitGraphGreen = { fg = green },
306
306
+
NeogitGraphOrange = { fg = orange },
307
307
+
NeogitGraphPurple = { fg = purple },
308
308
+
NeogitGraphRed = { fg = red },
309
309
+
NeogitGraphWhite = { fg = black },
310
310
+
NeogitGraphYellow = { fg = dark_yellow },
311
311
+
NeogitHunkHeader = { fg = blue },
312
312
+
NeogitHunkHeaderHighlight = { link = 'NeogitHunkHeader' },
313
313
+
NeogitPopupActionKey = { link = 'NeogitPopupOptionKey' },
314
314
+
NeogitPopupBranchName = { link = 'NeogitBranch' },
315
315
+
NeogitPopupConfigEnabled = { link = 'NeogitPopupOptionEnabled' },
316
316
+
NeogitPopupConfigKey = { link = 'NeogitPopupOptionKey' },
317
317
+
NeogitPopupOptionEnabled = { bg = light_green, bold = true },
318
318
+
NeogitPopupOptionKey = { bold = true },
319
319
+
NeogitPopupSectionTitle = { link = 'Title' },
320
320
+
NeogitPopupSwitchEnabled = { link = 'NeogitPopupOptionEnabled' },
321
321
+
NeogitPopupSwitchKey = { link = 'NeogitPopupOptionKey' },
322
322
+
NeogitRemote = { link = 'NeogitBranch' },
323
323
+
-- Perl
324
324
+
perlPackageDecl = { link = 'Identifier' },
325
325
+
perlStatementInclude = { link = 'Statement' },
326
326
+
perlStatementPackage = { link = 'Statement' },
327
327
+
podCmdText = { link = 'Todo' },
328
328
+
podCommand = { link = 'Comment' },
329
329
+
podVerbatimLine = { link = 'Todo' },
330
330
+
-- Ruby
331
331
+
rubyAttribute = { link = 'Identifier' },
332
332
+
rubyClass = { link = 'Keyword' },
333
333
+
rubyClassVariable = { link = 'rubyInstancevariable' },
334
334
+
rubyConstant = { link = 'Constant' },
335
335
+
rubyDefine = { link = 'Keyword' },
336
336
+
rubyFunction = { link = 'Function' },
337
337
+
rubyInstanceVariable = { link = 'InstanceVariable' },
338
338
+
rubyMacro = { link = 'Identifier' },
339
339
+
rubyModule = { link = 'rubyClass' },
340
340
+
rubyRegexp = { link = 'Regexp' },
341
341
+
rubyRegexpCharClass = { link = 'Regexp' },
342
342
+
rubyRegexpDelimiter = { link = 'Regexp' },
343
343
+
rubyRegexpQuantifier = { link = 'Regexp' },
344
344
+
rubyRegexpSpecial = { link = 'Regexp' },
345
345
+
rubyStringDelimiter = { link = 'String' },
346
346
+
rubySymbol = { link = 'Symbol' },
347
347
+
-- Rust
348
348
+
rustCommentBlockDoc = { link = 'Comment' },
349
349
+
rustCommentLineDoc = { link = 'Comment' },
350
350
+
rustFuncCall = { link = 'Identifier' },
351
351
+
rustModPath = { link = 'Identifier' },
352
352
+
['@function.macro.rust'] = { link = 'Macro' },
353
353
+
['@attribute.rust'] = { link = 'Identifier' },
354
354
+
-- pounce.nvim
355
355
+
PounceAccept = { fg = black, bg = yellow, bold = true },
356
356
+
PounceAcceptBest = { link = 'PounceAccept' },
357
357
+
PounceMatch = { bg = light_yellow },
358
358
+
PounceUnmatched = {},
359
359
+
PounceGap = { link = 'None' },
360
360
+
-- Python
361
361
+
pythonOperator = { link = 'Keyword' },
362
362
+
-- SASS
363
363
+
sassClass = { link = 'cssClassName' },
364
364
+
sassId = { link = 'cssIdentifier' },
365
365
+
-- Shell
366
366
+
shFunctionKey = { link = 'Keyword' },
367
367
+
-- Snippy
368
368
+
SnippyPlaceholder = { link = 'SnippetTabstop' },
369
369
+
-- SQL
370
370
+
sqlKeyword = { link = 'Keyword' },
371
371
+
-- Typescript
372
372
+
typescriptBraces = { link = 'Operator' },
373
373
+
typescriptEndColons = { link = 'Operator' },
374
374
+
typescriptExceptions = { link = 'Keyword' },
375
375
+
typescriptFuncKeyword = { link = 'Keyword' },
376
376
+
typescriptFunction = { link = 'Function' },
377
377
+
typescriptIdentifier = { link = 'Identifier' },
378
378
+
typescriptLogicSymbols = { link = 'Operator' },
379
379
+
-- Telescope
380
380
+
TelescopeBorder = { fg = border },
381
381
+
TelescopeMatching = { fg = dark_yellow, bold = true },
382
382
+
TelescopePromptNormal = { fg = black },
383
383
+
TelescopePromptBorder = { fg = border },
384
384
+
TelescopePromptPrefix = { fg = black, bold = true },
385
385
+
TelescopeSelection = { bg = light_grey, bold = true },
386
386
+
TelescopeTitle = { fg = black, bold = true },
387
387
+
TelescopeNormal = { fg = black },
388
388
+
-- Treesitter
389
389
+
TSEmphasis = { italic = true },
390
390
+
TSField = {},
391
391
+
TSStringEscape = { fg = green, bold = true },
392
392
+
TSStrong = { bold = true },
393
393
+
TSURI = { fg = blue, underline = true },
394
394
+
TSUnderline = { underline = true },
395
395
+
TSConstMacro = { link = 'Macro' },
396
396
+
TSDanger = { link = 'Todo' },
397
397
+
TSKeywordOperator = { link = 'Keyword' },
398
398
+
TSNamespace = { link = 'Constant' },
399
399
+
TSNote = { link = 'Todo' },
400
400
+
TSProperty = { link = 'TSField' },
401
401
+
TSStringRegex = { link = 'Regexp' },
402
402
+
TSSymbol = { link = 'Symbol' },
403
403
+
TSTypeBuiltin = { link = 'Keyword' },
404
404
+
TSWarning = { link = 'Todo' },
405
405
+
['@markup.link'] = { fg = blue },
406
406
+
['@property.json'] = { bold = true },
407
407
+
['@text.emphasis'] = { italic = true },
408
408
+
['@text.reference'] = { fg = purple },
409
409
+
['@text.strong'] = { bold = true },
410
410
+
['@text.uri'] = { fg = blue },
411
411
+
['@variable.builtin'] = { bold = true },
412
412
+
413
413
+
-- Custom Tree-sitter captures added by this theme.
414
414
+
['@variable.parameter.reference'] = { fg = orange },
415
415
+
416
416
+
-- Ruby uses "TSLabel" for instance variables, for some reason. See
417
417
+
-- https://github.com/tree-sitter/tree-sitter-ruby/issues/184 for more
418
418
+
-- details.
419
419
+
rubyTSLabel = { link = 'InstanceVariable' },
420
420
+
-- TOML
421
421
+
--
422
422
+
-- tomlTSTypeBuiltin is used for section titles (e.g. `[dependencies]`), while
423
423
+
-- tomlTSProperty is used for key-value pairs. These rules ensure the syntax
424
424
+
-- is consistent with https://github.com/cespare/vim-toml.
425
425
+
tomlTSProperty = { fg = black },
426
426
+
tomlTSTypeBuiltin = { fg = black, bold = true },
427
427
+
-- Vimscript
428
428
+
VimCommentTitle = { link = 'Todo' },
429
429
+
VimIsCommand = { link = 'Constant' },
430
430
+
vimGroup = { link = 'Constant' },
431
431
+
vimHiGroup = { link = 'Constant' },
432
432
+
-- XML
433
433
+
xmlAttrib = { link = 'Identifier' },
434
434
+
xmlTag = { link = 'Identifier' },
435
435
+
xmlTagName = { link = 'Identifier' },
436
436
+
-- YAML
437
437
+
yamlPlainScalar = { link = 'String' },
438
438
+
-- YARD
439
439
+
yardComment = { link = 'Comment' },
440
440
+
yardType = { link = 'Todo' },
441
441
+
yardTypeList = { link = 'Todo' },
442
442
+
}
443
443
+
444
444
+
for group, opts in pairs(highlights) do
445
445
+
api.nvim_set_hl(0, group, opts)
446
446
+
end
+317
nvim/colors/plain2.lua
···
1
1
+
vim.cmd('hi clear')
2
2
+
3
3
+
if vim.fn.exists('syntax on') == 1 then
4
4
+
vim.cmd('syntax reset')
5
5
+
end
6
6
+
7
7
+
vim.g.colors_name = 'plain2'
8
8
+
9
9
+
local colors = {
10
10
+
black = { gui = "#222222", cterm = "0" },
11
11
+
medium_gray = { gui = "#767676", cterm = "8" },
12
12
+
white = { gui = "#F1F1F1", cterm = "7" },
13
13
+
actual_white = { gui = "#FFFFFF", cterm = "15" },
14
14
+
light_black = { gui = "#424242", cterm = "11" },
15
15
+
lighter_black = { gui = "#545454", cterm = "12" },
16
16
+
subtle_black = { gui = "#303030", cterm = "11" },
17
17
+
light_gray = { gui = "#999999", cterm = "12" },
18
18
+
lighter_gray = { gui = "#CCCCCC", cterm = "7" },
19
19
+
lightest_gray = { gui = "#E5E5E5", cterm = "13" },
20
20
+
pink = { gui = "#FB007A", cterm = "5" },
21
21
+
dark_red = { gui = "#C30771", cterm = "1" },
22
22
+
light_red = { gui = "#E32791", cterm = "1" },
23
23
+
orange = { gui = "#D75F5F", cterm = "9" },
24
24
+
darker_blue = { gui = "#005F87", cterm = "4" },
25
25
+
dark_blue = { gui = "#008EC4", cterm = "4" },
26
26
+
blue = { gui = "#20BBFC", cterm = "4" },
27
27
+
light_blue = { gui = "#B6D6FD", cterm = "4" },
28
28
+
dark_cyan = { gui = "#20A5BA", cterm = "6" },
29
29
+
light_cyan = { gui = "#4FB8CC", cterm = "6" },
30
30
+
dark_green = { gui = "#10A778", cterm = "6" },
31
31
+
light_green = { gui = "#5FD7A7", cterm = "6" },
32
32
+
dark_purple = { gui = "#523C79", cterm = "5" },
33
33
+
light_purple = { gui = "#6855DE", cterm = "5" },
34
34
+
light_yellow = { gui = "#F3E430", cterm = "3" },
35
35
+
dark_yellow = { gui = "#A89C14", cterm = "3" },
36
36
+
}
37
37
+
38
38
+
local bg, bg_subtle, bg_very_subtle, norm, norm_subtle, purple, cyan, green, red, yellow, visual, cursor_line, status_line, status_line_nc, constant, comment, selection, warning
39
39
+
40
40
+
if vim.o.background == "dark" then
41
41
+
bg = colors.white
42
42
+
bg_subtle = colors.lighter_gray
43
43
+
bg_very_subtle = colors.light_gray
44
44
+
norm = colors.light_black
45
45
+
norm_subtle = colors.lighter_black
46
46
+
purple = colors.dark_purple
47
47
+
cyan = colors.dark_cyan
48
48
+
green = colors.dark_green
49
49
+
red = colors.dark_red
50
50
+
yellow = colors.dark_yellow
51
51
+
visual = colors.light_blue
52
52
+
cursor_line = colors.medium_gray
53
53
+
status_line = colors.lighter_gray
54
54
+
status_line_nc = colors.lighter_black
55
55
+
constant = colors.dark_blue
56
56
+
comment = colors.light_gray
57
57
+
selection = colors.light_yellow
58
58
+
warning = colors.yellow
59
59
+
else
60
60
+
bg = colors.black
61
61
+
bg_subtle = colors.light_black
62
62
+
bg_very_subtle = colors.subtle_black
63
63
+
norm = colors.lighter_gray
64
64
+
norm_subtle = colors.light_gray
65
65
+
purple = colors.light_purple
66
66
+
cyan = colors.light_cyan
67
67
+
green = colors.light_green
68
68
+
red = colors.light_red
69
69
+
yellow = colors.light_yellow
70
70
+
visual = colors.subtle_black
71
71
+
cursor_line = colors.subtle_black
72
72
+
status_line = colors.lighter_black
73
73
+
status_line_nc = colors.subtle_black
74
74
+
constant = colors.light_green
75
75
+
comment = colors.lighter_black
76
76
+
selection = colors.light_purple
77
77
+
warning = colors.yellow
78
78
+
end
79
79
+
80
80
+
local highlights = {
81
81
+
firstAccent = { fg = cyan },
82
82
+
secondAccent = { fg = purple },
83
83
+
Normal = { fg = norm },
84
84
+
Noise = { fg = norm_subtle },
85
85
+
Cursor = { bg = green, fg = norm },
86
86
+
Comment = { fg = comment, cterm = "italic" },
87
87
+
Function = { fg = norm, cterm = "bold" },
88
88
+
FloatWin = { fg = norm, bg = colors.black },
89
89
+
Constant = { link = "firstAccent" },
90
90
+
Character = { link = "Constant" },
91
91
+
Number = { link = "Constant" },
92
92
+
Boolean = { link = "Constant" },
93
93
+
Float = { link = "Constant" },
94
94
+
String = { link = "Constant" },
95
95
+
Identifier = { link = "Normal" },
96
96
+
Statement = { link = "Normal" },
97
97
+
Conditonal = { link = "Statement" },
98
98
+
Repeat = { link = "Statement" },
99
99
+
Label = { link = "Statement" },
100
100
+
Operator = { link = "Noise" },
101
101
+
Keyword = { link = "Statement" },
102
102
+
Exception = { link = "Statement" },
103
103
+
PreProc = { link = "Normal" },
104
104
+
Include = { link = "Statement" },
105
105
+
Define = { link = "PreProc" },
106
106
+
Macro = { link = "PreProc" },
107
107
+
PreCondit = { link = "PreProc" },
108
108
+
Type = { link = "secondAccent" },
109
109
+
StorageClass = { link = "Type" },
110
110
+
Structure = { link = "Noise" },
111
111
+
Typedef = { link = "Noise" },
112
112
+
Special = { link = "StatusLine" },
113
113
+
SpecialChar = { link = "Special" },
114
114
+
Tag = { link = "Special" },
115
115
+
Delimiter = { link = "Special" },
116
116
+
SpecialComment = { link = "Special" },
117
117
+
Debug = { link = "Special" },
118
118
+
Conceal = { link = "NonText" },
119
119
+
Underlined = { fg = norm, gui = "underline", cterm = "underline" },
120
120
+
Ignore = { fg = bg },
121
121
+
Error = { fg = red, cterm = "bold" },
122
122
+
Todo = { fg = colors.actual_white, bg = colors.black, gui = "bold", cterm = "bold" },
123
123
+
SpecialKey = { fg = colors.subtle_black },
124
124
+
NonText = { fg = bg_very_subtle },
125
125
+
Directory = { fg = green },
126
126
+
ErrorMsg = { fg = colors.pink },
127
127
+
IncSearch = { bg = selection, fg = colors.black },
128
128
+
Search = { bg = selection, fg = colors.black },
129
129
+
MoreMsg = { fg = colors.medium_gray, cterm = "bold", gui = "bold" },
130
130
+
ModeMsg = { link = "MoreMsg" },
131
131
+
LineNr = { fg = colors.medium_gray },
132
132
+
CursorLineNr = { fg = green, bg = bg_very_subtle },
133
133
+
Question = { fg = red },
134
134
+
VertSplit = { bg = bg, fg = bg_very_subtle },
135
135
+
Title = { fg = green },
136
136
+
Visual = { bg = visual },
137
137
+
VisualNOS = { bg = bg_subtle },
138
138
+
WarningMsg = { fg = warning },
139
139
+
WildMenu = { fg = colors.white, bg = bg },
140
140
+
Folded = { fg = colors.medium_gray },
141
141
+
FoldColumn = { fg = bg_subtle },
142
142
+
DiffAdd = { fg = green },
143
143
+
DiffDelete = { fg = red },
144
144
+
DiffChange = { fg = yellow },
145
145
+
DiffText = { fg = green },
146
146
+
SignColumn = { fg = colors.medium_gray },
147
147
+
SpellBad = { gui = "underline", sp = red },
148
148
+
SpellCap = { gui = "underline", sp = light_green },
149
149
+
SpellRare = { gui = "underline", sp = colors.pink },
150
150
+
SpellLocal = { gui = "underline", sp = green },
151
151
+
StatusLine = { fg = status_line },
152
152
+
StatusLineNC = { fg = status_line_nc },
153
153
+
StatusLineOk = { gui = "underline", bg = bg, fg = green },
154
154
+
StatusLineError = { gui = "underline", bg = bg, fg = colors.pink },
155
155
+
StatusLineWarning = { gui = "underline", bg = bg, fg = warning },
156
156
+
Pmenu = { fg = norm, bg = bg_subtle },
157
157
+
PmenuSel = { fg = green, bg = bg_very_subtle, gui = "bold" },
158
158
+
PmenuSbar = { fg = norm, bg = bg_subtle },
159
159
+
PmenuThumb = { fg = norm, bg = bg_subtle },
160
160
+
TabLine = { fg = norm_subtle, bg = bg },
161
161
+
TabLineSel = { fg = norm, bg = bg, gui = "bold", cterm = "bold" },
162
162
+
TabLineFill = { fg = norm_subtle, bg = bg },
163
163
+
CursorColumn = { bg = bg_very_subtle },
164
164
+
CursorLine = { bg = cursor_line },
165
165
+
ColorColumn = { bg = bg_subtle },
166
166
+
MatchParen = { bg = bg_very_subtle, fg = norm, cterm = "bold" },
167
167
+
qfLineNr = { link = "secondAccent" },
168
168
+
qfFileName = { link = "firstAccent" },
169
169
+
htmlH1 = { fg = norm },
170
170
+
htmlH2 = { fg = norm },
171
171
+
htmlH3 = { fg = norm },
172
172
+
htmlH4 = { fg = norm },
173
173
+
htmlH5 = { fg = norm },
174
174
+
htmlH6 = { fg = norm },
175
175
+
htmlBold = { fg = norm },
176
176
+
htmlItalic = { fg = norm },
177
177
+
htmlEndTag = { fg = norm },
178
178
+
htmlTag = { fg = norm },
179
179
+
htmlTagName = { fg = norm },
180
180
+
htmlArg = { fg = norm },
181
181
+
htmlError = { fg = red },
182
182
+
javaScript = { bg = bg, fg = norm },
183
183
+
javaScriptBraces = { bg = bg, fg = norm },
184
184
+
javaScriptNumber = { bg = bg, fg = green },
185
185
+
diffRemoved = { link = "DiffDelete" },
186
186
+
diffAdded = { link = "DiffAdd" },
187
187
+
TSAnnotation = { link = "secondAccent" },
188
188
+
TSAttribute = { link = "secondAccent" },
189
189
+
TSBoolean = { link = "Constant" },
190
190
+
TSCharacter = { link = "Constant" },
191
191
+
TSComment = { link = "Comment" },
192
192
+
TSConstructor = { link = "Normal" },
193
193
+
TSConditional = { link = "Statement" },
194
194
+
TSConstant = { link = "Constant" },
195
195
+
TSConstBuiltin = { link = "secondAccent" },
196
196
+
TSConstMacro = { link = "secondAccent" },
197
197
+
TSError = { link = "Error" },
198
198
+
TSException = { link = "Error" },
199
199
+
TSField = { link = "Normal" },
200
200
+
TSFloat = { link = "Constant" },
201
201
+
TSFunction = { link = "Normal" },
202
202
+
TSFuncBuiltin = { link = "secondAccent" },
203
203
+
TSFuncMacro = { link = "secondAccent" },
204
204
+
TSInclude = { link = "Noise" },
205
205
+
TSKeyword = { link = "Statement" },
206
206
+
TSKeywordFunction = { link = "Statement" },
207
207
+
TSLabel = { link = "Noise" },
208
208
+
TSMethod = { link = "Normal" },
209
209
+
TSNamespace = { link = "Noise" },
210
210
+
TSNone = { link = "Noise" },
211
211
+
TSNumber = { link = "Constant" },
212
212
+
TSOperator = { link = "Normal" },
213
213
+
TSParameter = { link = "Noise" },
214
214
+
TSParameterReference = { link = "Statement" },
215
215
+
TSProperty = { link = "TSField" },
216
216
+
TSPunctDelimiter = { link = "Noise" },
217
217
+
TSPunctBracket = { link = "Noise" },
218
218
+
TSPunctSpecial = { link = "Noise" },
219
219
+
TSRepeat = { link = "Normal" },
220
220
+
TSString = { link = "Constant" },
221
221
+
TSStringRegex = { link = "secondAccent" },
222
222
+
TSStringEscape = { link = "secondAccent" },
223
223
+
TSTag = { link = "Statement" },
224
224
+
TSTagDelimiter = { link = "Noise" },
225
225
+
TSText = { link = "Normal" },
226
226
+
TSEmphasis = { link = "Comment" },
227
227
+
TSUnderline = { link = "Underlined" },
228
228
+
TSStrike = { link = "Underlined" },
229
229
+
TSTitle = { link = "Statement" },
230
230
+
TSLiteral = { link = "Noise" },
231
231
+
TSURI = { link = "Constant" },
232
232
+
TSType = { link = "Noise" },
233
233
+
TSTypeBuiltin = { link = "secondAccent" },
234
234
+
TSVariable = { link = "Normal" },
235
235
+
TSVariableBuiltin = { link = "Normal" },
236
236
+
TSRepeat = { link = "Statement" },
237
237
+
LspDiagnosticsDefaultError = { link = "Error" },
238
238
+
LspDiagnosticsDefaultWarning = { link = "WarningMsg" },
239
239
+
LspDiagnosticsDefaultInformation = { link = "Noise" },
240
240
+
LspDiagnosticsDefaultHint = { link = "Constant" },
241
241
+
SignifySignAdd = { link = "LineNr" },
242
242
+
SignifySignDelete = { link = "LineNr" },
243
243
+
SignifySignChange = { link = "LineNr" },
244
244
+
GitGutterAdd = { link = "LineNr" },
245
245
+
GitGutterDelete = { link = "LineNr" },
246
246
+
GitGutterChange = { link = "LineNr" },
247
247
+
GitGutterChangeDelete = { link = "LineNr" },
248
248
+
jsFlowTypeKeyword = { link = "Statement" },
249
249
+
jsFlowImportType = { link = "Statement" },
250
250
+
jsFunction = { link = "Function" },
251
251
+
jsGlobalObjects = { link = "Noise" },
252
252
+
jsGlobalNodeObjects = { link = "Normal" },
253
253
+
jsSwitchCase = { link = "Constant" },
254
254
+
jsSpreadOperator = { bg = bg, fg = selection },
255
255
+
jsReturn = { link = "jsSpreadOperator" },
256
256
+
jsExport = { link = "jsSpreadOperator" },
257
257
+
rustModPath = { fg = colors.lightest_gray },
258
258
+
rustMacro = { link = "secondAccent" },
259
259
+
rustKeyword = { link = "Noise" },
260
260
+
rustDerive = { link = "secondAccent" },
261
261
+
rustDeriveTrait = { link = "secondAccent" },
262
262
+
rustAttribute = { link = "secondAccent" },
263
263
+
rustLifetime = { link = "secondAccent" },
264
264
+
schemeSyntax = { link = "Normal" },
265
265
+
schemeParentheses = { link = "Noise" },
266
266
+
schemeIdentifier = { link = "Noise" },
267
267
+
lispParen = { link = "Noise" },
268
268
+
lispSymbol = { link = "Noise" },
269
269
+
shCommandSub = { link = "secondAccent" },
270
270
+
cFormat = { link = "secondAccent" },
271
271
+
nixBuiltin = { link = "secondAccent" },
272
272
+
nixNamespacedBuiltin = { link = "secondAccent" },
273
273
+
sqlSpecial = { link = "firstAccent" },
274
274
+
sqlKeyword = { link = "secondAccent" },
275
275
+
helpExample = { link = "Noise" },
276
276
+
helpCommand = { link = "secondAccent" },
277
277
+
helpBacktick = { link = "secondAccent" },
278
278
+
helpSpecial = { link = "Noise" },
279
279
+
StorageClass = { link = "Statement" },
280
280
+
elmType = { link = "Type" },
281
281
+
xmlTag = { link = "Constant" },
282
282
+
xmlTagName = { link = "xmlTag" },
283
283
+
xmlEndTag = { link = "xmlTag" },
284
284
+
xmlAttrib = { link = "xmlTag" },
285
285
+
markdownH1 = { link = "Statement" },
286
286
+
markdownH2 = { link = "Statement" },
287
287
+
markdownH3 = { link = "Statement" },
288
288
+
markdownH4 = { link = "Statement" },
289
289
+
markdownH5 = { link = "Statement" },
290
290
+
markdownH6 = { link = "Statement" },
291
291
+
markdownListMarker = { link = "Constant" },
292
292
+
markdownCode = { link = "Constant" },
293
293
+
markdownCodeBlock = { link = "Constant" },
294
294
+
markdownCodeDelimiter = { link = "Constant" },
295
295
+
markdownHeadingDelimiter = { link = "Constant" },
296
296
+
cssBraces = { bg = bg, fg = selection },
297
297
+
cssTextProp = { link = "Noise" },
298
298
+
cssTagName = { link = "Normal" },
299
299
+
NormalFloat = { link = "FloatWin" },
300
300
+
CmpItemKind = { link = "firstAccent" },
301
301
+
CmpItemAbbrMatch = { link = "secondAccent" },
302
302
+
}
303
303
+
304
304
+
if vim.fn.has("gui_running") == 0 then
305
305
+
highlights.SpellBad = { cterm = "underline", fg = red }
306
306
+
highlights.SpellCap = { cterm = "underline", fg = light_green }
307
307
+
highlights.SpellRare = { cterm = "underline", fg = colors.pink }
308
308
+
highlights.SpellLocal = { cterm = "underline", fg = green }
309
309
+
end
310
310
+
311
311
+
for group, opts in pairs(highlights) do
312
312
+
if opts.link then
313
313
+
vim.api.nvim_set_hl(0, group, { link = opts.link })
314
314
+
else
315
315
+
vim.api.nvim_set_hl(0, group, opts)
316
316
+
end
317
317
+
end
+1
-1
nvim/lua/settings.lua
···
43
43
]]
44
44
45
45
cmd('syntax on')
46
46
-
cmd('colorscheme plain')
46
46
+
cmd('colorscheme grey')
47
47
autocmd('TextYankPost', {
48
48
pattern = '*',
49
49
callback = function()