This port of Catppuccin is special because it was the first one and the one that originated the project itself. Given this, it's important to acknowledge that it all didn't come to be what it is now out of nowhere. So, if you are interested in knowing more about the initial stages of the theme, you can find it under the v0.1 tag
Bake your own flavour! Here are some config from our community: (background source)
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 }
use { "catppuccin/nvim", as = "catppuccin" }
Plug 'catppuccin/nvim', { 'as': 'catppuccin' }
colorscheme catppuccin " catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha
vim.cmd.colorscheme "catppuccin"
There is no need to call setup
if you don't want to change the default options and settings.
require("catppuccin").setup({
flavour = "auto", -- latte, frappe, macchiato, mocha
background = { -- :h background
light = "latte",
dark = "mocha",
},
transparent_background = false, -- disables setting the background color.
show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
dim_inactive = {
enabled = false, -- dims the background color of inactive window
shade = "dark",
percentage = 0.15, -- percentage of the shade to apply to the inactive window
},
no_italic = false, -- Force no italic
no_bold = false, -- Force no bold
no_underline = false, -- Force no underline
styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
comments = { "italic" }, -- Change the style of comments
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
-- miscs = {}, -- Uncomment to turn off hard-coded styles
},
color_overrides = {},
custom_highlights = {},
default_integrations = true,
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
},
})
-- setup must be called before loading
vim.cmd.colorscheme "catppuccin"
local latte = require("catppuccin.palettes").get_palette "latte"
local frappe = require("catppuccin.palettes").get_palette "frappe"
local macchiato = require("catppuccin.palettes").get_palette "macchiato"
local mocha = require("catppuccin.palettes").get_palette "mocha"
Returns a table where the key is the name of the color and the value is its hex value corresponding to each flavour.
Colors can be overwritten using color_overrides
in the setting, checkout https://github.com/catppuccin/nvim/discussions/323 for inspirations:
require("catppuccin").setup {
color_overrides = {
all = {
text = "#ffffff",
},
latte = {
base = "#ff0000",
mantle = "#242424",
crust = "#474747",
},
frappe = {},
macchiato = {},
mocha = {},
}
}
[!Note] For more information check out our style-guide
Global highlight groups can be overwritten in the setting, for example:
require("catppuccin").setup {
custom_highlights = function(colors)
return {
Comment = { fg = colors.flamingo },
TabLineSel = { bg = colors.pink },
CmpBorder = { fg = colors.surface2 },
Pmenu = { bg = colors.none },
}
end
}
Per flavour highlight groups can also be overwritten in the setting, for example:
require("catppuccin").setup {
highlight_overrides = {
all = function(colors)
return {
NvimTreeNormal = { fg = colors.none },
CmpBorder = { fg = "#3e4145" },
}
end,
latte = function(latte)
return {
Normal = { fg = latte.base },
}
end,
frappe = function(frappe)
return {
["@comment"] = { fg = frappe.surface2, style = { "italic" } },
}
end,
macchiato = function(macchiato)
return {
LineNr = { fg = macchiato.overlay1 },
}
end,
mocha = function(mocha)
return {
Comment = { fg = mocha.flamingo },
}
end,
},
}
Catppuccin provides theme support for other plugins in the Neovim ecosystem and extended Neovim functionality through integrations.
To enable/disable an integration you just need to set it to true/false, for example:
require("catppuccin").setup({
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
}
})
Some integrations are enabled by default, you can control this behaviour with default_integrations
option.
require("catppuccin").setup({
default_integrations = false,
})
Below is a list of supported plugins and their corresponding integration module.
[!Important] If you'd like to know which highlight groups are being affected by catppuccin, check out this directory:
lua/catppuccin/groups/integrations/
.
Plugin | Default |
aerial.nvim |
|
alpha-nvim |
|
barbar.nvim |
|
barbecue.nvim |
SpecialUse this to set it up:
|
beacon.nvim |
|
bufferline.nvim |
SpecialUpdate your bufferline config to use the Catppuccin components:
Configurations are self-explanatory, see
|
coc.nvim |
SpecialSetting
In the inners tables you can set the style for the diagnostics, both
|
colorful-winsep.nvim |
|
dashboard-nvim |
|
diffview.nvim |
|
dropbar.nvim |
|
feline.nvim |
SpecialUpdate your Feline config to use the Catppuccin components:
Notice that calling Here are the defaults:
|
fern.vim |
|
fidget.nvim |
SpecialSet `notification.window.winblend` to `0`:
|
flash.nvim |
|
fzf-lua |
|
gitsigns.nvim |
|
grug-far.nvim |
|
harpoon |
|
headlines.nvim |
|
hop.nvim |
|
indent-blankline.nvim |
Special
|
leap.nvim |
|
lightline.vim |
Special
|
lightspeed.nvim |
|
lir.nvim |
|
lspsaga.nvim |
SpecialFor custom Lsp Kind Icon and Color
|
lualine.nvim |
Special
|
markdown |
|
mason.nvim |
|
mini.nvim |
|
neo-tree.nvim |
|
neogit |
|
neotest |
|
noice.nvim |
|
NormalNvim |
|
notifier.nvim |
|
nvim-cmp |
|
nvim-dap |
Special
|
nvim-dap-ui |
|
nvim-lspconfig |
SpecialIn the inners tables you can set the style for the diagnostics, both |
navic |
Special
|
nvim-notify |
|
nvim-semantic-tokens |
|
nvim-surround |
|
nvim-tree.lua |
|
nvim-treesitter-context |
|
nvim-treesitter |
|
nvim-ts-rainbow2 |
|
nvim-ts-rainbow |
|
nvim-ufo |
|
nvim-window-picker |
|
octo.nvim |
|
overseer.nvim |
|
pounce.nvim |
|
rainbow-delimiters.nvim |
|
reactive.nvim |
SpecialThere're 2 available presets ( Here is how you can use them.
To use another flavour just replace |
render-markdown.nvim |
|
symbols-outline.nvim |
|
telekasten.nvim |
|
telescope.nvim |
|
trouble.nvim |
|
vim-airline |
Special
|
vim-clap |
SpecialUse this to set it up:
|
vim-dadbod-ui |
|
vim-gitgutter |
|
vim-illuminate |
|
vim-sandwich |
|
vim-sneak |
|
vimwiki |
|
which-key.nvim |
|
Important As of 7/10/2022, catppuccin should be able to automatically recompile when the setup table changed.
Catppuccin is a highly customizable and configurable colorscheme. This does however come at the cost of complexity and execution time. Catppuccin can pre compute the results of your configuration and store the results in a compiled lua file. We use these precached values to set it's highlights.
By default catppuccin writes the compiled results into the system's cache directory. You can change the cache dir using:
require("catppuccin").setup({ -- Note: On windows we replace `/` with `\` by default
compile_path = vim.fn.stdpath "cache" .. "/catppuccin"
})
Please disable additional_vim_regex_highlighting
require("nvim-treesitter.configs").setup {
highlight = {
enable = true,
additional_vim_regex_highlighting = false
},
}
Catppuccin requires true color support AKA terminals support the full range of 16 million colors
Full list of support terminals can be found here: https://github.com/termstandard/colors#truecolor-support-in-output-devices
Full list of Unsupported terminals can be found here: https://github.com/termstandard/colors#not-supporting-truecolor
Copyright © 2021-present Catppuccin Org
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。