0% found this document useful (0 votes)
324 views7 pages

Tokyonight Nvim

The document discusses the Tokyo Night theme for Neovim. It provides details on the different styles of the theme, its features, requirements, installation instructions, usage and configuration options. It also describes how to override colors and highlight groups.

Uploaded by

eightsamsix2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
324 views7 pages

Tokyonight Nvim

The document discusses the Tokyo Night theme for Neovim. It provides details on the different styles of the theme, its features, requirements, installation instructions, usage and configuration options. It also describes how to override colors and highlight groups.

Uploaded by

eightsamsix2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 7

*tokyonight.nvim.txt* For Neovim >= 0.8.

0 Last change: 2024 March 28

==============================================================================
Table of Contents *tokyonight.nvim-table-of-contents*

1. Tokyo Night |tokyonight.nvim-tokyo-night|


- Storm |tokyonight.nvim-tokyo-night-storm|
- Night |tokyonight.nvim-tokyo-night-night|
- Moon |tokyonight.nvim-tokyo-night-moon|
- Day |tokyonight.nvim-tokyo-night-day|
- Features |tokyonight.nvim-tokyo-night-features|
- Requirements |tokyonight.nvim-tokyo-night-requirements|
- Installation |tokyonight.nvim-tokyo-night-installation|
- Usage |tokyonight.nvim-tokyo-night-usage|
- Configuration |tokyonight.nvim-tokyo-night-configuration|
- Overriding Colors & Highlight Groups|tokyonight.nvim-tokyo-night-overriding-
colors-&-highlight-groups|
- Extras |tokyonight.nvim-tokyo-night-extras|
- Contributing |tokyonight.nvim-tokyo-night-contributing|
2. Links |tokyonight.nvim-links|

==============================================================================
1. Tokyo Night *tokyonight.nvim-tokyo-night*

A dark and light Neovim <https://github.com/neovim/neovim> theme written in Lua


<https://www.lua.org> ported from the Visual Studio Code TokyoNight
<https://github.com/enkia/tokyo-night-vscode-theme> theme. Includes
|tokyonight.nvim-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>.

STORM *tokyonight.nvim-tokyo-night-storm*

NIGHT *tokyonight.nvim-tokyo-night-night*

MOON *tokyonight.nvim-tokyo-night-moon*

DAY *tokyonight.nvim-tokyo-night-day*

FEATURES *tokyonight.nvim-tokyo-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.
- Enhances terminal colors.
- Introduces a darker background option for sidebar-like windows.
- Supports all major plugins.
- Provides TokyoNight <https://github.com/folke/tokyonight.nvim>
|tokyonight.nvim-extras| for numerous other applications.

EXTRAS ~

- Alacritty <https://github.com/alacritty/alacritty> (alacritty <extras/alacritty>)


- Delta <https://github.com/dandavison/delta> (delta <extras/delta>)
- Dunst <https://dunst-project.org/> (dunst <extras/dunst>)
- Fish <https://fishshell.com/docs/current/index.html> (fish <extras/fish>)
- Fish Themes <https://fishshell.com/docs/current/interactive.html#syntax-
highlighting> (fish_themes <extras/fish_themes>)
- Foot <https://codeberg.org/dnkl/foot> (foot <extras/foot>)
- Fzf <https://github.com/junegunn/fzf> (fzf <extras/fzf>)
- GitUI <https://github.com/extrawurst/gitui> (gitui <extras/gitui>)
- Helix <https://helix-editor.com/> (helix <extras/helix>)
- iTerm <https://iterm2.com/> (iterm <extras/iterm>)
- Kitty <https://sw.kovidgoyal.net/kitty/conf.html> (kitty <extras/kitty>)
- Lua Table for testing <https://www.lua.org> (lua <extras/lua>)
- Prism <https://prismjs.com> (prism <extras/prism>)
- Sublime Text <https://www.sublimetext.com/docs/themes> (sublime <extras/sublime>)
- Terminator <https://gnome-terminator.readthedocs.io/en/latest/config.html>
(terminator <extras/terminator>)
- Tilix <https://github.com/gnunn1/tilix> (tilix <extras/tilix>)
- Tmux <https://github.com/tmux/tmux/wiki> (tmux <extras/tmux>)
- WezTerm <https://wezfurlong.org/wezterm/config/files.html> (wezterm
<extras/wezterm>)
- Windows Terminal <https://aka.ms/terminal-documentation> (windows_terminal
<extras/windows_terminal>)
- Xfce Terminal <https://docs.xfce.org/apps/terminal/advanced> (xfceterm
<extras/xfceterm>)
- Xresources <https://wiki.archlinux.org/title/X_resources> (xresources
<extras/xresources>)
- Zathura <https://pwmt.org/projects/zathura/> (zathura <extras/zathura>)

REQUIREMENTS *tokyonight.nvim-tokyo-night-requirements*

- Neovim <https://github.com/neovim/neovim> >=


0.8.0 <https://github.com/neovim/neovim/releases/tag/v0.8.0>

INSTALLATION *tokyonight.nvim-tokyo-night-installation*

Install the theme with your preferred package manager, such as folke/lazy.nvim
<https://github.com/folke/lazy.nvim>

>lua
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {},
}
<

USAGE *tokyonight.nvim-tokyo-night-usage*

VIM SCRIPT ~

>vim
colorscheme tokyonight

" There are also colorschemes for the different styles.


colorscheme tokyonight-night
colorscheme tokyonight-storm
colorscheme tokyonight-day
colorscheme tokyonight-moon
<

LUA ~

>lua
vim.cmd[[colorscheme tokyonight]]
<

EXTERNAL PLUGINS

BARBECUE

>lua
-- Lua
require('barbecue').setup {
-- ... your barbecue config
theme = 'tokyonight',
-- ... your barbecue config
}
<

LUALINE

>lua
-- Lua
require('lualine').setup {
options = {
-- ... your lualine config
theme = 'tokyonight'
-- ... your lualine config
}
}
<

LIGHTLINE

>vim
" Vim Script
let g:lightline = {'colorscheme': 'tokyonight'}
<

CONFIGURATION *tokyonight.nvim-tokyo-night-configuration*

Set the configuration **BEFORE** loading the color scheme with `colorscheme
tokyonight`.
The theme offers four styles: |tokyonight.nvim-storm|, |tokyonight.nvim-moon|,
|tokyonight.nvim-night|, and |tokyonight.nvim-day|.
The |tokyonight.nvim-day| style is used when `{ style = "day" }` is passed to
`setup(options)` or when `vim.o.background = "light"`.

TokyoNight <https://github.com/folke/tokyonight.nvim> uses the default options,


unless `setup` is explicitly called.

>lua
require("tokyonight").setup({
-- your configuration comes here
-- or leave it empty to use the default settings
style = "storm", -- The theme comes in three styles, `storm`, `moon`, 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](https://github.com/neovim/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
},
sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like
windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day**
style. Number between 0 and 1, from dull to vibrant colors
hide_inactive_statusline = false, -- Enabling this option, will hide inactive
statuslines and replace them with a thin border instead. Should work with the
standard **StatusLine** and **LuaLine**.
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 Highlights
---@param colors ColorScheme
on_highlights = function(highlights, colors) end,
})
<

OVERRIDING COLORS & HIGHLIGHT GROUPS*tokyonight.nvim-tokyo-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/tokyonight_storm.lua>, moon <extras/lua/tokyonight_moon.lua>, night
<extras/lua/tokyonight_night.lua>, and day <extras/lua/tokyonight_day.lua>
themes.

SETTINGS AND COLOR ALTERATION DEMONSTRATION ~

>lua
require("tokyonight").setup({
-- use the night style
style = "night",
-- disable italic for functions
styles = {
functions = {}
},
sidebars = { "qf", "vista_kind", "terminal", "packer" },
-- 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 EXAMPLE ~

>lua
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,
})
<

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 *tokyonight.nvim-tokyo-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("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
<

CONTRIBUTING *tokyonight.nvim-tokyo-night-contributing*

Pull requests are welcome.

For the |tokyonight.nvim-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/tokyonight/extra/cool-app.lua`.


2. Add the name and output file extension to the `extras` table in
`lua/tokyonight/extra/init.lua`.

3. Run the following command to generate new |tokyonight.nvim-extra| themes from


the tokyonight plugin directory:

>sh
nvim --headless "+lua require('tokyonight.extra').setup()" +qa
<

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 *tokyonight.nvim-links*

1. *image*: https://user-images.githubusercontent.com/292349/115295095-3a9e5080-
a10e-11eb-9aed-6054488c46ce.png
2. *image*: https://user-images.githubusercontent.com/292349/115295327-7afdce80-
a10e-11eb-89b3-2591262bf95a.png
3. *image*: https://user-images.githubusercontent.com/292349/190951628-10ba28a1-
57ff-4479-8eab-47400a402242.png
4. *image*: https://user-images.githubusercontent.com/292349/115996270-78c6c480-
a593-11eb-8ed0-7d1400b058f5.png
5. *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:

You might also like