Um tema Neovim escuro e claro escrito em Lua portado do tema Visual Studio Code TokyoNight. Inclui temas extras para Kitty, Alacritty, iTerm e Fish.
Lua | Tempestade |
---|---|
Noite | Dia |
Plug-in | Fonte |
---|---|
aéreo.nvim | aerial |
cerveja | ale |
alfa-nvim | alpha |
barbar.nvim | barbar |
piscar.cmp | blink |
bufferline.nvim | bufferline |
nvim-cmp | cmp |
codeium.nvim | codeium |
copiloto.lua | copilot |
nvim-dap | dap |
painel-nvim | dashboard |
flash.nvim | flash |
fzf-lua | fzf |
vim-gitgutter | gitgutter |
gitsigns.nvim | gitsigns |
paleta de glifos.vim | glyph-palette |
grug-far.nvim | grug-far |
manchetes.nvim | headlines |
hop.nvim | hop |
vim-iluminar | illuminate |
indent-blankline.nvim | indent-blankline |
indentmini.nvim | indentmini |
preguiçoso.nvim | lazy |
salto.nvim | leap |
lspsaga.nvim | lspsaga |
mini.animar | mini_animate |
mini.clue | mini_clue |
mini.conclusão | mini_completion |
mini.cursorword | mini_cursorword |
mini.deps | mini_deps |
mini.diff | mini_diff |
mini.arquivos | mini_files |
mini.hipatterns | mini_hipatterns |
mini.ícones | mini_icons |
mini.indentscope | mini_indentscope |
mini.salto | mini_jump |
mini.mapa | mini_map |
mini.notify | mini_notify |
mini.operadores | mini_operators |
mini.pick | mini_pick |
mini.starter | mini_starter |
mini.statusline | mini_statusline |
mini.surround | mini_surround |
mini.tabline | mini_tabline |
mini.teste | mini_test |
mini.trailspace | mini_trailspace |
nvim-navic | navic |
neo-tree.nvim | neo-tree |
neogit | neogit |
neoteste | neotest |
noice.nvim | noice |
notificação nvim | notify |
nvim-tree.lua | nvim-tree |
octo.nvim | octo |
delimitadores de arco-íris.nvim | rainbow |
render-markdown.nvim | render-markdown |
barra de rolagem nvim | scrollbar |
lanches.nvim | snacks |
vim-espreitadela | sneak |
supermaven-nvim | supermaven |
telescópio.nvim | telescope |
contexto nvim-treesitter | treesitter-context |
problema.nvim | trouble |
vimwiki | vimwiki |
qual-chave.nvim | which-key |
yanky.nvim | yanky |
Ferramenta | Extra |
---|---|
Aerc | extras/aerc |
Alacritty | extras/alacritty |
Delta | extras/delta |
Dunst | extras/dunst |
Peixe | extras/peixe |
Temas de Peixe | extras/temas_de_peixe |
Pé | extras/pé |
Fuzel | extras/fuszel |
Fzf | extras/fzf |
Fantasmagórico | extras/fantasma |
GitUI | extras/gitui |
Terminal GNOME | extras/gnome_terminal |
Hélice | extras/hélice |
Termo | extras/iterm |
gatinha | extras/gatinho |
Preguiçoso | extras/preguiçoso |
Tabela Lua para teste | extras/lua |
Prisma | extras/prisma |
composição de processo | extras/process_compose |
Folga | extras/folga |
Reprodutor Spotify | extras/spotify_player |
Texto sublime | extras/sublime |
Exterminador do Futuro | extras/exterminador |
Termux | extras/termux |
Tilix | extras/tilix |
Tmux | extras/tmux |
Vim | extras/vim |
Vimium | extras/vimium |
WezTerm | extras/wezterm |
Terminal do Windows | extras/windows_terminal |
Terminal Xfce | extras/xfceterm |
Recursos X | extras/recursosx |
Yazi | figurantes/yazi |
Zathura | extras/zathura |
Zellij | extras/zellij |
Instale o tema com seu gerenciador de pacotes preferido, como 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
Alguns plugins precisam de configuração extra para funcionar com 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 ' }
Importante
Defina a configuração ANTES de carregar o esquema de cores com colorscheme tokyonight
.
O tema oferece quatro estilos: tempestade, lua, noite e dia.
O estilo day é usado quando { style = "day" }
é passado para setup(options)
ou quando vim.o.background = "light"
.
TokyoNight usa as opções padrão, a menos que setup
seja chamado explicitamente.
--- @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,
},
}
Como os grupos de destaque são calculados:
colors
são determinadas com base na sua configuração, com a capacidade de substituí-las usando config.on_colors(colors)
.colors
são utilizadas para gerar os grupos de destaque.config.on_highlights(highlights, colors)
pode ser usado para substituir grupos de destaques. Para valores padrão de colors
e highlights
, consulte os temas tempestade, lua, noite e dia.
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
no TmuxPara que os undercurls apareçam e em cores, adicione o seguinte ao seu arquivo de configuração do 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
Configurações extras de cores para Kitty, Alacritty, Fish, WezTerm, iTerm e foot podem ser encontradas em extras. Para utilizá-los, consulte a respectiva documentação.
Você pode usar facilmente a paleta de cores para outros plugins dentro da configuração do 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
Solicitações pull são bem-vindas.
Para os extras, utilizamos um sistema de templates simples que pode ser usado para gerar temas para os diferentes estilos.
Como adicionar um novo modelo extra:
Crie um arquivo como lua/tokyonight/extra/cool-app.lua
.
Adicione o nome e a extensão do arquivo de saída à tabela extras
em lua/tokyonight/extra/init.lua
.
Execute o seguinte comando para gerar novos temas extras do diretório do plugin tokyonight:
./scripts/build
Verifique os temas recém-criados no diretório extra/
. Por favor, NÃO os confirme, pois eles já são construídos automaticamente pelo CI.