-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathnekonight.txt
539 lines (359 loc) · 16.1 KB
/
nekonight.txt
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
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
*nekonight.txt* For Neovim Last change: 2024 December 19
==============================================================================
Table of Contents *nekonight-table-of-contents*
1. Neko Night |nekonight-neko-night|
- Features |nekonight-neko-night-features|
- Requirements |nekonight-neko-night-requirements|
- Installation |nekonight-neko-night-installation|
- Usage |nekonight-neko-night-usage|
- Configuration |nekonight-neko-night-configuration|
- Overriding Colors & Highlight Groups|nekonight-neko-night-overriding-colors-&-highlight-groups|
- Extras |nekonight-neko-night-extras|
- Contributing |nekonight-neko-night-contributing|
2. Links |nekonight-links|
==============================================================================
1. Neko Night *nekonight-neko-night*
A dark and light Neovim <https://github.com/neovim/neovim> theme written in Lua
<https://www.lua.org> forked and ported from tokyo night
<https://github.com/folke/tokyonight.nvim> theme. Includes
|nekonight-extra| themes for Kitty
<https://sw.kovidgoyal.net/kitty/conf.html>, Alacritty
<https://github.com/alacritty/alacritty>, iTerm <https://iterm2.com/> and Fish
<https://fishshell.com/docs/current/index.html>.
MoonStormNightDay
FEATURES *nekonight-neko-night-features*
- Supports the latest Neovim <https://github.com/neovim/neovim>
0.9.0 <https://github.com/neovim/neovim/releases/tag/v0.9.0> features.
- Terminal colors.
- Supports all major plugins.
- Provides NekoNight <https://github.com/BrunoCiccarino/nekonight>
|nekonight-extras| for numerous other applications.
Supported Plugins ~
-----------------------------------------------------------------------
Plugin Source
----------------------------------- -----------------------------------
aerial.nvim aerial
ale ale
alpha-nvim alpha
barbar.nvim barbar
blink.cmp blink
bufferline.nvim bufferline
nvim-cmp cmp
codeium.nvim codeium
copilot.lua copilot
nvim-dap dap
dashboard-nvim dashboard
flash.nvim flash
fzf-lua fzf
vim-gitgutter gitgutter
gitsigns.nvim gitsigns
glyph-palette.vim glyph-palette
grug-far.nvim grug-far
headlines.nvim headlines
hop.nvim hop
vim-illuminate illuminate
indent-blankline.nvim indent-blankline
indentmini.nvim indentmini
lazy.nvim lazy
leap.nvim leap
lspsaga.nvim lspsaga
mini.animate mini_animate
mini.clue mini_clue
mini.completion mini_completion
mini.cursorword mini_cursorword
mini.deps mini_deps
mini.diff mini_diff
mini.files mini_files
mini.hipatterns mini_hipatterns
mini.icons mini_icons
mini.indentscope mini_indentscope
mini.jump mini_jump
mini.map mini_map
mini.notify mini_notify
mini.operators mini_operators
mini.pick mini_pick
mini.starter mini_starter
mini.statusline mini_statusline
mini.surround mini_surround
mini.tabline mini_tabline
mini.test mini_test
mini.trailspace mini_trailspace
nvim-navic navic
neo-tree.nvim neo-tree
neogit neogit
neotest neotest
noice.nvim noice
nvim-notify notify
nvim-tree.lua nvim-tree
octo.nvim octo
rainbow-delimiters.nvim rainbow
render-markdown.nvim render-markdown
nvim-scrollbar scrollbar
snacks.nvim snacks
vim-sneak sneak
supermaven-nvim supermaven
telescope.nvim telescope
nvim-treesitter-context treesitter-context
trouble.nvim trouble
vimwiki vimwiki
which-key.nvim which-key
yanky.nvim yanky
-----------------------------------------------------------------------
Extras ~
-----------------------------------------------------------------------
Tool Extra
----------------------------------- -----------------------------------
Aerc extras/aerc
Alacritty extras/alacritty
Delta extras/delta
(Better-)Discord extras/discord
Dunst extras/dunst
Fish extras/fish
Fish Themes extras/fish_themes
Foot extras/foot
Fuzzel extras/fuzzel
Fzf extras/fzf
Ghostty extras/ghostty
GitUI extras/gitui
GNOME Terminal extras/gnome_terminal
Helix extras/helix
iTerm extras/iterm
Kitty extras/kitty
Lazygit extras/lazygit
Lua Table for testing extras/lua
Prism extras/prism
process-compose extras/process_compose
Slack extras/slack
Spotify Player extras/spotify_player
Sublime Text extras/sublime
Terminator extras/terminator
Termux extras/termux
Tilix extras/tilix
Tmux extras/tmux
Vim extras/vim
Vimium extras/vimium
WezTerm extras/wezterm
Windows Terminal extras/windows_terminal
Xfce Terminal extras/xfceterm
Xresources extras/xresources
Yazi extras/yazi
Zathura extras/zathura
Zellij extras/zellij
-----------------------------------------------------------------------
REQUIREMENTS *nekonight-neko-night-requirements*
- Neovim <https://github.com/neovim/neovim> >=
0.8.0 <https://github.com/neovim/neovim/releases/tag/v0.8.0>
INSTALLATION *nekonight-neko-night-installation*
Install the theme with your preferred package manager, such as folke/lazy.nvim
<https://github.com/folke/lazy.nvim>
>lua
{
"BrunoCiccarino/nekonight",
lazy = false,
priority = 1000,
opts = {},
}
<
USAGE *nekonight-neko-night-usage*
>lua
vim.cmd[[colorscheme nekonight]]
<
>vim
colorscheme nekonight
" There are also colorschemes for the different styles.
colorscheme nekonight-night
colorscheme nekonight-storm
colorscheme nekonight-day
colorscheme nekonight-moon
<
Some plugins need extra configuration to work with **nekonight**.
Click here for more details ~
BARBECUE ~
>lua
-- Lua
require('barbecue').setup {
-- ... your barbecue config
theme = 'nekonight',
-- ... your barbecue config
}
<
LUALINE ~
>lua
-- Lua
require('lualine').setup {
options = {
-- ... your lualine config
theme = 'nekonight'
-- ... your lualine config
}
}
<
LIGHTLINE ~
>vim
" Vim Script
let g:lightline = {'colorscheme': 'nekonight'}
<
CONFIGURATION *nekonight-neko-night-configuration*
[!IMPORTANT] Set the configuration **BEFORE** loading the color scheme with
`colorscheme nekonight`.
The theme offers four styles: |nekonight-storm|, |nekonight-moon|,
|nekonight-night|, and |nekonight-day|.
The |nekonight-day| style is used when `{ style = "day" }` is passed to
`setup(options)` or when `vim.o.background = "light"`.
nekonight <https://github.com/BrunoCiccarino/nekonight> uses the default options,
unless `setup` is explicitly called.
Default Options ~
>lua
---@class nekonight.Config
---@field on_colors fun(colors: ColorScheme)
---@field on_highlights fun(highlights: nekonight.Highlights, colors: ColorScheme)
M.defaults = {
style = "moon", -- The theme comes in three styles, `storm`, a darker variant `night` and `day`
light_style = "day", -- The theme is used when the background is set to light
transparent = false, -- Enable this to disable setting the background color
terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim
styles = {
-- Style to be applied to different syntax groups
-- Value is any valid attr-list value for `:help nvim_set_hl`
comments = { italic = true },
keywords = { italic = true },
functions = {},
variables = {},
-- Background styles. Can be "dark", "transparent" or "normal"
sidebars = "dark", -- style for sidebars, see below
floats = "dark", -- style for floating windows
},
day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
dim_inactive = false, -- dims inactive windows
lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
--- You can override specific color groups to use other groups or a hex color
--- function will be called with a ColorScheme table
---@param colors ColorScheme
on_colors = function(colors) end,
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
---@param highlights nekonight.Highlights
---@param colors ColorScheme
on_highlights = function(highlights, colors) end,
cache = true, -- When set to true, the theme will be cached for better performance
---@type table<string, boolean|{enabled:boolean}>
plugins = {
-- enable all plugins when not using lazy.nvim
-- set to false to manually enable/disable plugins
all = package.loaded.lazy == nil,
-- uses your plugin manager to automatically enable needed plugins
-- currently only lazy.nvim is supported
auto = true,
-- add any plugins here that you want to enable
-- for all possible plugins, see:
-- * https://github.com/BrunoCiccarino/nekonight/tree/main/lua/nekonight/groups
-- telescope = true,
},
}
<
OVERRIDING COLORS & HIGHLIGHT GROUPS*nekonight-neko-night-overriding-colors-&-highlight-groups*
How the highlight groups are calculated:
1. `colors` are determined based on your configuration, with the ability to
override them using `config.on_colors(colors)`.
2. These `colors` are utilized to generate the highlight groups.
3. `config.on_highlights(highlights, colors)` can be used to override highlight
groups.
For default values of `colors` and `highlights`, please consult the storm
<extras/lua/nekonight_storm.lua>, moon <extras/lua/nekonight_moon.lua>, night
<extras/lua/nekonight_night.lua>, and day <extras/lua/nekonight_day.lua>
themes.
Settings & Changing Colors ~
>lua
require("nekonight").setup({
-- use the night style
style = "night",
-- disable italic for functions
styles = {
functions = {}
},
-- Change the "hint" color to the "orange" color, and make the "error" color bright red
on_colors = function(colors)
colors.hint = colors.orange
colors.error = "#ff0000"
end
})
<
Borderless Telescope ~
>lua
require("nekonight").setup({
on_highlights = function(hl, c)
local prompt = "#2d3149"
hl.TelescopeNormal = {
bg = c.bg_dark,
fg = c.fg_dark,
}
hl.TelescopeBorder = {
bg = c.bg_dark,
fg = c.bg_dark,
}
hl.TelescopePromptNormal = {
bg = prompt,
}
hl.TelescopePromptBorder = {
bg = prompt,
fg = prompt,
}
hl.TelescopePromptTitle = {
bg = prompt,
fg = prompt,
}
hl.TelescopePreviewTitle = {
bg = c.bg_dark,
fg = c.bg_dark,
}
hl.TelescopeResultsTitle = {
bg = c.bg_dark,
fg = c.bg_dark,
}
end,
})
<
Fix undercurls in Tmux ~
To have undercurls show up and in color, add the following to your Tmux
<https://github.com/tmux/tmux> configuration file:
>sh
# Undercurl
set -g default-terminal "${TERM}"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
<
EXTRAS *nekonight-neko-night-extras*
Extra color configs for Kitty <https://sw.kovidgoyal.net/kitty/conf.html>,
Alacritty <https://github.com/alacritty/alacritty>, Fish
<https://fishshell.com/docs/current/index.html>, WezTerm
<https://wezfurlong.org/wezterm/config/files.html>, iTerm <https://iterm2.com/>
and foot <https://codeberg.org/dnkl/foot> can be found in extras <extras/>. To
use them, refer to their respective documentation.
You can easily use the color palette for other plugins inside your Neovim
<https://github.com/neovim/neovim> configuration:
>lua
local colors = require("nekonight.colors").setup() -- pass in any of the config options as explained above
local util = require("nekonight.util")
aplugin.background = colors.bg_dark
aplugin.my_error = util.lighten(colors.red1, 0.3) -- number between 0 and 1. 0 results in white, 1 results in red1
<
CONTRIBUTING *nekonight-neko-night-contributing*
Pull requests are welcome.
For the |nekonight-extras|, we use a simple template system that can be
used to generate themes for the different styles.
How to add a new extra template:
1. Create a file like `lua/nekonight/extra/cool-app.lua`.
2. Add the name and output file extension to the `extras` table in
`lua/nekonight/extra/init.lua`.
3. Run the following command to generate new |nekonight-extra| themes from
the nekonight plugin directory:
>sh
./scripts/build
<
4. Check the newly created themes in the `extra/` directory. Please **DO NOT**
commit them, as they are already automatically built by the CI.
==============================================================================
2. Links *nekonight-links*
1. *image*: https://user-images.githubusercontent.com/292349/115395546-d8d6f880-a198-11eb-98fb-a1194787701d.png
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
vim:tw=78:ts=8:noet:ft=help:norl: