Un thème Neovim sombre et clair écrit en Lua et porté à partir du thème Visual Studio Code TokyoNight. Comprend des thèmes supplémentaires pour Kitty, Alacritty, iTerm et Fish.
Lune | Tempête |
---|---|
Nuit | Jour |
Plugin | Source |
---|---|
antenne.nvim | aerial |
ale | ale |
alpha-nvim | alpha |
barbar.nvim | barbar |
clignoter.cmp | blink |
bufferline.nvim | bufferline |
nvim-cmp | cmp |
codeium.nvim | codeium |
copilot.lua | copilot |
nvim-dap | dap |
tableau de bord-nvim | dashboard |
flash.nvim | flash |
fzf-lua | fzf |
vim-gitgutter | gitgutter |
gitsigns.nvim | gitsigns |
glyph-palette.vim | glyph-palette |
grug-far.nvim | grug-far |
titres.nvim | headlines |
hop.nvim | hop |
vim-illuminer | illuminate |
indent-blankline.nvim | indent-blankline |
indentmini.nvim | indentmini |
paresseux.nvim | lazy |
saut.nvim | leap |
lspsaga.nvim | lspsaga |
mini.animer | mini_animate |
mini.indice | mini_clue |
mini.achèvement | mini_completion |
mini.cursorword | mini_cursorword |
mini.deps | mini_deps |
mini.diff | mini_diff |
mini.fichiers | mini_files |
mini.hippatterns | mini_hipatterns |
mini.icônes | mini_icons |
mini.indentscope | mini_indentscope |
mini.saut | mini_jump |
mini.map | mini_map |
mini.notifier | mini_notify |
mini.opérateurs | mini_operators |
mini.pick | mini_pick |
mini.démarreur | 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 |
néogit | neogit |
néotest | neotest |
bruit.nvim | noice |
nvim-notifier | notify |
nvim-tree.lua | nvim-tree |
octo.nvim | octo |
arc-en-ciel-delimiters.nvim | rainbow |
rendu-markdown.nvim | render-markdown |
nvim-barre de défilement | scrollbar |
snacks.nvim | snacks |
vim-sneak | sneak |
supermaven-nvim | supermaven |
télescope.nvim | telescope |
nvim-treesitter-contexte | treesitter-context |
problème.nvim | trouble |
vimwiki | vimwiki |
quelle-clé.nvim | which-key |
yanky.nvim | yanky |
Outil | Supplémentaire |
---|---|
Aéroc | extras/air |
Empressement | extras/alacrité |
Delta | extras/delta |
Dunst | extras/dunst |
Poisson | extras/poisson |
Thèmes de poisson | extras/fish_themes |
Pied | extras/pied |
Fusée | extras/fuzzel |
Fzf | extras/fzf |
Fantôme | extras/fantôme |
GitUI | extras/gitui |
Terminal GNOME | extras/gnome_terminal |
Hélix | extras/hélice |
iTerm | extras/terme |
Minou | extras/cagnotte |
Paresseux | extras/paresseux |
Table Lua pour les tests | extras/lua |
Prisme | extras/prisme |
processus-composer | extras/process_compose |
Mou | extras/slack |
Lecteur Spotify | extras/spotify_player |
Texte sublime | extras/sublimes |
Terminateur | extras/terminateur |
Termux | extras/termux |
Tilix | extras/tilix |
Tmux | extras/tmux |
Vim | extras/vim |
Vimium | extras/vimium |
WezTerm | extras/wezterm |
Terminal Windows | extras/windows_terminal |
Terminal Xfce | extras/xfceterm |
Xressources | extras/xressources |
Yazi | figurants/yazi |
Zathura | extras/zathura |
Zellige | extras/zelliges |
Installez le thème avec votre gestionnaire de packages préféré, tel que folke/lazy.nvim :
{
" folke/tokyonight.nvim " ,
lazy = false ,
priority = 1000 ,
opts = {},
}
vim . cmd [[ colorscheme tokyonight ]]
colorscheme tokyonight
" There are also colorschemes for the different styles.
colorscheme tokyonight - night
colorscheme tokyonight - storm
colorscheme tokyonight - day
colorscheme tokyonight - moon
Certains plugins nécessitent une configuration supplémentaire pour fonctionner avec TokyoNight .
-- Lua
require ( ' barbecue ' ). setup {
-- ... your barbecue config
theme = ' tokyonight ' ,
-- ... your barbecue config
}
-- Lua
require ( ' lualine ' ). setup {
options = {
-- ... your lualine config
theme = ' tokyonight '
-- ... your lualine config
}
}
" Vim Script
let g: lightline = { ' colorscheme ' : ' tokyonight ' }
Important
Définissez la configuration AVANT de charger le jeu de couleurs avec colorscheme tokyonight
.
Le thème propose quatre styles : tempête, lune, nuit et jour.
Le style day est utilisé lorsque { style = "day" }
est passé à setup(options)
ou lorsque vim.o.background = "light"
.
TokyoNight utilise les options par défaut, sauf si setup
est explicitement appelé.
--- @class tokyonight.Config
--- @field on_colors fun ( colors : ColorScheme )
--- @field on_highlights fun ( highlights : tokyonight.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 tokyonight.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/folke/tokyonight.nvim/tree/main/lua/tokyonight/groups
-- telescope = true,
},
}
Comment les groupes de points forts sont calculés :
colors
sont déterminées en fonction de votre configuration, avec la possibilité de les remplacer à l'aide de config.on_colors(colors)
.colors
sont utilisées pour générer les groupes de surbrillance.config.on_highlights(highlights, colors)
peut être utilisé pour remplacer les groupes de surbrillance. Pour les valeurs par défaut des colors
et highlights
, veuillez consulter les thèmes tempête, lune, nuit et jour.
require ( " tokyonight " ). 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
})
require ( " tokyonight " ). 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 ,
})
undercurls
dans TmuxPour que les undercurls apparaissent et soient en couleur, ajoutez ce qui suit à votre fichier de configuration Tmux :
# 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
Des configurations de couleurs supplémentaires pour Kitty, Alacritty, Fish, WezTerm, iTerm et foot peuvent être trouvées dans les extras. Pour les utiliser, reportez-vous à leur documentation respective.
Vous pouvez facilement utiliser la palette de couleurs pour d'autres plugins dans votre configuration Neovim :
local colors = require ( " tokyonight.colors " ). setup () -- pass in any of the config options as explained above
local util = require ( " tokyonight.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
Les demandes de tirage sont les bienvenues.
Pour les extras, nous utilisons un système de modèles simple qui peut être utilisé pour générer des thèmes pour les différents styles.
Comment ajouter un nouveau modèle supplémentaire :
Créez un fichier comme lua/tokyonight/extra/cool-app.lua
.
Ajoutez le nom et l'extension du fichier de sortie à la table extras
dans lua/tokyonight/extra/init.lua
.
Exécutez la commande suivante pour générer de nouveaux thèmes supplémentaires à partir du répertoire du plugin tokyonight :
./scripts/build
Vérifiez les thèmes nouvellement créés dans le répertoire extra/
. Veuillez NE PAS les valider, car ils sont déjà automatiquement construits par le CI.