This is theme is inspired by Inkpot, Jellybeans, Gruvbbox and Tokyonight.
You can configure which plugin support you want to enable or disable. See Disabling Plugins below.
Here are code snippets for some common installation methods (use only one):
Enable the colorscheme:
vim.cmd.colorscheme('nightcity')
βοΈThe configuration needs to be set BEFORE loading the color scheme with
colorscheme nightcity
-- kabuki or afterlife
style = 'kabuki', -- The theme comes in two styles: kabuki or afterlife
terminal_colors = true, -- Use colors used when opening a `:terminal`
invert_colors = {
-- Invert colors for the following syntax groups
cursor = true,
diff = true,
error = true,
search = true,
selection = false,
signs = false,
statusline = true,
tabline = false,
},
font_style = {
-- Style to be applied to different syntax groups
comments = { italic = true },
keywords = { italic = true },
functions = { bold = true },
variables = {},
search = { bold = true },
},
-- Plugin integrations. Use `default = false` to disable all integrations.
plugins = { default = true },
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
---@param groups Highlight groups
---@param colors ColorScheme
on_highlights = function(groups, colors) end,
config.plugins
defines for which supported plugins highlight groups will
be created. Limiting number of integrations slightly decreases startup time.
It is a table with boolean (true
/false
) values which are applied as follows:
config.plugins.default
is used.require('nightcity').setup({
plugins = {
default = true,
['hrsh7th/nvim-cmp'] = false
}
})
With config.on_highlights(highlights, colors)
you can override highlight
groups. This can be used to better match your style or enable certain features
of the LSP you might prefer.
require('nightcity').setup({
on_highlights = function(groups, c)
groups.String = { fg = c.green, bg = c.none }
groups['@lsp.typemod.parameter.readonly'] = { italic = true }
groups['@lsp.typemod.variable.readonly'] = { italic = true }
end
})
In order to show colors and undercurls and underlines in tmux probably you need to adjust your config file and add the following:
set -g default-terminal "tmux-256color"
# Truecolor (RGB) support
set -as terminal-overrides ',*:Tc'
# Undercurl support
# https://github.com/tmux/tmux/issues/1492#issuecomment-427939241
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
# Underscore colors
# https://github.com/tmux/tmux/pull/1771#issuecomment-500906522
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'