1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
|
return {
"catppuccin/nvim",
name = "catppuccin",
lazy = false,
priority = 1000,
config = function()
require("catppuccin").setup({
background = {
light = "latte",
dark = "mocha",
},
color_overrides = {
macchiato = {
rosewater = "#ef958f",
flamingo = "#ef958f",
red = "#f16e65",
maroon = "#f16e65",
pink = "#ebadd6",
mauve = "#e28dc6",
peach = "#ef944d",
yellow = "#efbe71",
green = "#7dc97d",
teal = "#a4daa4",
sky = "#7dc9a3",
sapphire = "#abd4bf",
blue = "#b0d4e8",
lavender = "#72b4d6",
text = "#F9EEE5",
subtext1 = "#E3DAC9",
subtext0 = "#D8CCB4",
overlay2 = "#B6B69A",
overlay1 = "#999C8B",
overlay0 = "#878E7A",
surface2 = "#6B746E",
surface1 = "#585F5A",
surface0 = "#3A3F3C",
crust = "#272A28",
mantle = "#1D1F1E",
base = "#131414",
none = "#0f0f0f",
},
},
transparent_background = true,
show_end_of_buffer = false,
integration_default = false,
integrations = {
barbecue = { dim_dirname = true, bold_basename = true, dim_context = false, alt_background = false },
cmp = true,
gitsigns = true,
hop = true,
illuminate = { enabled = true },
native_lsp = { enabled = true, inlay_hints = { background = true } },
neogit = true,
neotree = true,
semantic_tokens = true,
treesitter = true,
treesitter_context = true,
vimwiki = true,
which_key = true,
},
highlight_overrides = {
all = function(colors)
return {
CmpItemMenu = { fg = colors.surface2 },
CursorLineNr = { fg = colors.text },
FloatBorder = { bg = colors.base, fg = colors.surface0 },
GitSignsChange = { fg = colors.peach },
LineNr = { fg = colors.overlay0 },
LspInfoBorder = { link = "FloatBorder" },
NeoTreeDirectoryIcon = { fg = colors.subtext1 },
NeoTreeDirectoryName = { fg = colors.subtext1 },
NeoTreeFloatBorder = { bg = colors.mantle, fg = colors.mantle },
-- NeoTreeFloatBorder = { bg = "None" },
NeoTreeGitConflict = { fg = colors.red },
NeoTreeGitDeleted = { fg = colors.red },
NeoTreeGitIgnored = { fg = colors.overlay0 },
NeoTreeGitModified = { fg = colors.peach },
NeoTreeGitStaged = { fg = colors.green },
NeoTreeGitUnstaged = { fg = colors.red },
NeoTreeGitUntracked = { fg = colors.green },
NeoTreeIndent = { fg = colors.surface1 },
NeoTreeNormal = { bg = colors.mantle },
NeoTreeNormalNC = { bg = colors.mantle },
NeoTreeRootName = { fg = colors.subtext1, style = { "bold" } },
NeoTreeTabActive = { fg = colors.text, bg = colors.mantle },
NeoTreeTabInactive = { fg = colors.surface2, bg = colors.crust },
NeoTreeTabSeparatorActive = { fg = colors.mantle, bg = colors.mantle },
NeoTreeTabSeparatorInactive = { fg = colors.crust, bg = colors.crust },
NeoTreeWinSeparator = { fg = colors.base, bg = colors.base },
NormalFloat = { bg = colors.base },
Pmenu = { bg = colors.mantle, fg = "" },
-- telescope prompt
TelescopePromptTitle = { fg = colors.mantle, bg = "#39fd9c", style = { "bold" } },
TelescopePromptCounter = { fg = colors.red, style = { "bold" } },
TelescopePromptBorder = { bg = colors.base },
-- telescope results
TelescopeResultsTitle = { link = "TelescopePromptTitle" },
TelescopeResultsBorder = { link = "TelescopePromptBorder" },
-- telescope preview
TelescopePreviewTitle = { link = "TelescopePromptTitle" },
TelescopePreviewBorder = { link = "TelescopePromptBorder" },
VertSplit = { bg = colors.base, fg = colors.surface0 },
WhichKeyFloat = { bg = colors.mantle },
YankHighlight = { bg = colors.surface2 },
FidgetTask = { fg = colors.subtext2 },
FidgetTitle = { fg = colors.peach },
IblIndent = { fg = colors.surface0 },
IblScope = { fg = colors.overlay0 },
Boolean = { fg = colors.mauve },
Number = { fg = colors.mauve },
Float = { fg = colors.mauve },
PreProc = { fg = colors.mauve },
PreCondit = { fg = colors.mauve },
Include = { fg = colors.mauve },
Define = { fg = colors.mauve },
Conditional = { fg = colors.red },
Repeat = { fg = colors.red },
Keyword = { fg = colors.red },
Typedef = { fg = colors.red },
Exception = { fg = colors.red },
Statement = { fg = colors.red },
Error = { fg = colors.red },
StorageClass = { fg = colors.peach },
Tag = { fg = colors.peach },
Label = { fg = colors.peach },
Structure = { fg = colors.peach },
Operator = { fg = colors.peach },
Title = { fg = colors.peach },
Special = { fg = colors.yellow },
SpecialChar = { fg = colors.yellow },
Type = { fg = colors.yellow, style = { "bold" } },
Function = { fg = colors.green, style = { "bold" } },
Delimiter = { fg = colors.subtext2 },
Ignore = { fg = colors.subtext2 },
Macro = { fg = colors.teal },
TSAnnotation = { fg = colors.mauve },
TSAttribute = { fg = colors.mauve },
TSBoolean = { fg = colors.mauve },
TSCharacter = { fg = colors.teal },
TSCharacterSpecial = { link = "SpecialChar" },
TSComment = { link = "Comment" },
TSConditional = { fg = colors.red },
TSConstBuiltin = { fg = colors.mauve },
TSConstMacro = { fg = colors.mauve },
TSConstant = { fg = colors.text },
TSConstructor = { fg = colors.green },
TSDebug = { link = "Debug" },
TSDefine = { link = "Define" },
TSEnvironment = { link = "Macro" },
TSEnvironmentName = { link = "Type" },
TSError = { link = "Error" },
TSException = { fg = colors.red },
TSField = { fg = colors.blue },
TSFloat = { fg = colors.mauve },
TSFuncBuiltin = { fg = colors.green },
TSFuncMacro = { fg = colors.green },
TSFunction = { fg = colors.green },
TSFunctionCall = { fg = colors.lavender },
TSInclude = { fg = colors.red },
TSKeyword = { fg = colors.red },
TSKeywordFunction = { fg = colors.red },
TSKeywordOperator = { fg = colors.peach },
TSKeywordReturn = { fg = colors.red },
TSLabel = { fg = colors.peach },
TSLiteral = { link = "String" },
TSMath = { fg = colors.blue },
TSMethod = { fg = colors.green },
TSMethodCall = { fg = colors.green },
TSNamespace = { fg = colors.yellow },
TSNone = { fg = colors.text },
TSNumber = { fg = colors.mauve },
TSOperator = { fg = colors.peach },
TSParameter = { fg = colors.text },
TSParameterReference = { fg = colors.text },
TSPreProc = { link = "PreProc" },
TSProperty = { fg = colors.blue },
TSPunctBracket = { fg = colors.text },
TSPunctDelimiter = { link = "Delimiter" },
TSPunctSpecial = { fg = colors.blue },
TSRepeat = { fg = colors.red },
TSStorageClass = { fg = colors.peach },
TSStorageClassLifetime = { fg = colors.peach },
TSStrike = { fg = colors.subtext2 },
TSString = { fg = colors.green },
TSStringEscape = { fg = colors.mauve },
TSStringRegex = { fg = colors.green },
TSStringSpecial = { link = "SpecialChar" },
TSSymbol = { fg = colors.text },
TSTag = { fg = colors.peach },
TSTagAttribute = { fg = colors.green },
TSTagDelimiter = { fg = colors.green },
TSText = { fg = colors.green },
TSTextReference = { link = "Constant" },
TSTitle = { link = "Title" },
TSTodo = { link = "Todo" },
TSType = { fg = colors.yellow, style = { "bold" } },
TSTypeBuiltin = { fg = colors.yellow, style = { "bold" } },
TSTypeDefinition = { fg = colors.yellow, style = { "bold" } },
TSTypeQualifier = { fg = colors.peach, style = { "bold" } },
TSURI = { fg = colors.blue },
TSVariable = { fg = colors.text },
TSVariableBuiltin = { fg = colors.mauve },
["@annotation"] = { link = "TSAnnotation" },
["@attribute"] = { link = "TSAttribute" },
["@boolean"] = { link = "TSBoolean" },
["@character"] = { link = "TSCharacter" },
["@character.special"] = { link = "TSCharacterSpecial" },
["@comment"] = { link = "TSComment" },
["@conceal"] = { link = "Grey" },
["@conditional"] = { link = "TSConditional" },
["@constant"] = { link = "TSConstant" },
["@constant.builtin"] = { link = "TSConstBuiltin" },
["@constant.macro"] = { link = "TSConstMacro" },
["@constructor"] = { link = "TSConstructor" },
["@debug"] = { link = "TSDebug" },
["@define"] = { link = "TSDefine" },
["@error"] = { link = "TSError" },
["@exception"] = { link = "TSException" },
["@field"] = { link = "TSField" },
["@float"] = { link = "TSFloat" },
["@function"] = { link = "TSFunction" },
["@function.builtin"] = { link = "TSFuncBuiltin" },
["@function.call"] = { link = "TSFunctionCall" },
["@function.macro"] = { link = "TSFuncMacro" },
["@include"] = { link = "TSInclude" },
["@keyword"] = { link = "TSKeyword" },
["@keyword.function"] = { link = "TSKeywordFunction" },
["@keyword.operator"] = { link = "TSKeywordOperator" },
["@keyword.return"] = { link = "TSKeywordReturn" },
["@label"] = { link = "TSLabel" },
["@math"] = { link = "TSMath" },
["@method"] = { link = "TSMethod" },
["@method.call"] = { link = "TSMethodCall" },
["@namespace"] = { link = "TSNamespace" },
["@none"] = { link = "TSNone" },
["@number"] = { link = "TSNumber" },
["@operator"] = { link = "TSOperator" },
["@parameter"] = { link = "TSParameter" },
["@parameter.reference"] = { link = "TSParameterReference" },
["@preproc"] = { link = "TSPreProc" },
["@property"] = { link = "TSProperty" },
["@punctuation.bracket"] = { link = "TSPunctBracket" },
["@punctuation.delimiter"] = { link = "TSPunctDelimiter" },
["@punctuation.special"] = { link = "TSPunctSpecial" },
["@repeat"] = { link = "TSRepeat" },
["@storageclass"] = { link = "TSStorageClass" },
["@storageclass.lifetime"] = { link = "TSStorageClassLifetime" },
["@strike"] = { link = "TSStrike" },
["@string"] = { link = "TSString" },
["@string.escape"] = { link = "TSStringEscape" },
["@string.regex"] = { link = "TSStringRegex" },
["@string.special"] = { link = "TSStringSpecial" },
["@symbol"] = { link = "TSSymbol" },
["@tag"] = { link = "TSTag" },
["@tag.attribute"] = { link = "TSTagAttribute" },
["@tag.delimiter"] = { link = "TSTagDelimiter" },
["@text"] = { link = "TSText" },
["@text.danger"] = { link = "TSDanger" },
["@text.diff.add"] = { link = "diffAdded" },
["@text.diff.delete"] = { link = "diffRemoved" },
["@text.emphasis"] = { link = "TSEmphasis" },
["@text.environment"] = { link = "TSEnvironment" },
["@text.environment.name"] = { link = "TSEnvironmentName" },
["@text.literal"] = { link = "TSLiteral" },
["@text.math"] = { link = "TSMath" },
["@text.note"] = { link = "TSNote" },
["@text.reference"] = { link = "TSTextReference" },
["@text.strike"] = { link = "TSStrike" },
["@text.strong"] = { link = "TSStrong" },
["@text.title"] = { link = "TSTitle" },
["@text.todo"] = { link = "TSTodo" },
["@text.todo.checked"] = { link = "Green" },
["@text.todo.unchecked"] = { link = "Ignore" },
["@text.underline"] = { link = "TSUnderline" },
["@text.uri"] = { link = "TSURI" },
["@text.warning"] = { link = "TSWarning" },
["@todo"] = { link = "TSTodo" },
["@type"] = { link = "TSType" },
["@type.builtin"] = { link = "TSTypeBuiltin" },
["@type.definition"] = { link = "TSTypeDefinition" },
["@type.qualifier"] = { link = "TSTypeQualifier" },
["@uri"] = { link = "TSURI" },
["@variable"] = { link = "TSVariable" },
["@variable.builtin"] = { link = "TSVariableBuiltin" },
["@lsp.type.class"] = { link = "TSType" },
["@lsp.type.comment"] = { link = "TSComment" },
["@lsp.type.decorator"] = { link = "TSFunction" },
["@lsp.type.enum"] = { link = "TSType" },
["@lsp.type.enumMember"] = { link = "TSProperty" },
["@lsp.type.events"] = { link = "TSLabel" },
["@lsp.type.function"] = { link = "TSFunction" },
["@lsp.type.interface"] = { link = "TSType" },
["@lsp.type.keyword"] = { link = "TSKeyword" },
["@lsp.type.macro"] = { link = "TSConstMacro" },
["@lsp.type.method"] = { link = "TSMethod" },
["@lsp.type.modifier"] = { link = "TSTypeQualifier" },
["@lsp.type.namespace"] = { link = "TSNamespace" },
["@lsp.type.number"] = { link = "TSNumber" },
["@lsp.type.operator"] = { link = "TSOperator" },
["@lsp.type.parameter"] = { link = "TSParameter" },
["@lsp.type.property"] = { link = "TSProperty" },
["@lsp.type.regexp"] = { link = "TSStringRegex" },
["@lsp.type.string"] = { link = "TSString" },
["@lsp.type.struct"] = { link = "TSType" },
["@lsp.type.type"] = { link = "TSType" },
["@lsp.type.typeParameter"] = { link = "TSTypeDefinition" },
["@lsp.type.variable"] = { link = "TSVariable" },
}
end,
latte = function(colors)
return {
IblIndent = { fg = colors.mantle },
IblScope = { fg = colors.surface1 },
LineNr = { fg = colors.surface1 },
}
end,
},
})
vim.api.nvim_command("colorscheme catppuccin-macchiato")
end,
}
|