Remember that if you want to switch your Catppuccin flavour "on the fly" you may use the `:Catppuccin <flavour>` command.
> Note: the command has autocompletion enabled, so you can just press tab to cycle through the flavours
### Configuration
Although settings already have self-explanatory names, here is where you can find info about each one of them and their classifications!
@ -218,7 +231,7 @@ If you'd like to know which highlight groups are being affected by catppuccin, c
##### Special Integrations
- **Feline.nvim**: Catppuccin provides this integration as a component that you can select on your Feline config:
- **Feline.nvim**: First make sure that the [kyazdani42/nvim-web-devicons](https://github.com/kyazdani42/nvim-web-devicons/) plugin is installed. Then update your Feline config to use the Catppuccin components:
-- These groups are for the native LSP cliencp. Some other LSP clients may
-- use these groups, or use their own. Consult your LSP client's
-- documentation.
LspReferenceText={bg=cp.black4},-- used for highlighting "text" references
LspReferenceRead={bg=cp.black4},-- used for highlighting "read" references
LspReferenceWrite={bg=cp.black4},-- used for highlighting "write" references
LspReferenceText={bg=cp.surface1},-- used for highlighting "text" references
LspReferenceRead={bg=cp.surface1},-- used for highlighting "read" references
LspReferenceWrite={bg=cp.surface1},-- used for highlighting "write" references
-- hightlight diagnostics in numberline
DiagnosticError={fg=error,style=virtual_text.errors},-- Used as the base highlight group. Other Diagnostic highlights link to this by default
DiagnosticWarn={fg=warning,style=virtual_text.warnings},-- Used as the base highlight group. Other Diagnostic highlights link to this by default
DiagnosticInfo={fg=info,style=virtual_text.information},-- Used as the base highlight group. Other Diagnostic highlights link to this by default
DiagnosticHint={fg=hint,style=virtual_text.hints},-- Used as the base highlight group. Other Diagnostic highlights link to this by default
DiagnosticError={bg=util.darken(error,darkening_percentage,cp.base),fg=error,style=virtual_text.errors},-- Used as the mantle highlight group. Other Diagnostic highlights link to this by default
DiagnosticWarn={bg=util.darken(warning,darkening_percentage,cp.base),fg=warning,style=virtual_text.warnings},-- Used as the mantle highlight group. Other Diagnostic highlights link to this by default
DiagnosticInfo={bg=util.darken(info,darkening_percentage,cp.base),fg=info,style=virtual_text.information},-- Used as the mantle highlight group. Other Diagnostic highlights link to this by default
DiagnosticHint={bg=util.darken(hint,darkening_percentage,cp.base),fg=hint,style=virtual_text.hints},-- Used as the mantle highlight group. Other Diagnostic highlights link to this by default
LspDiagnosticsDefaultError={fg=error},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning={fg=warning},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation={fg=info},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint={fg=hint},-- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultError={fg=error},-- Used as the mantle highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning={fg=warning},-- Used as the mantle highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation={fg=info},-- Used as the mantle highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint={fg=hint},-- Used as the mantle highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspSignatureActiveParameter={fg=cp.peach},
-- LspDiagnosticsFloatingError = { }, -- Used to color "Error" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingWarning = { }, -- Used to color "Warning" diagnostic messages in diagnostics float
@ -51,7 +54,7 @@ function M.get(cp)
LspDiagnosticsUnderlineWarning={style=underlines.warnings,sp=warning},-- Used to underline "Warning" diagnostics
LspDiagnosticsUnderlineInformation={style=underlines.information,sp=info},-- Used to underline "Information" diagnostics
LspDiagnosticsUnderlineHint={style=underlines.hints,sp=hint},-- Used to underline "Hint" diagnostics
LspCodeLens={fg=cp.gray0 },-- virtual text of the codelens
LspCodeLens={fg=cp.overlay0 },-- virtual text of the codelens
@ -17,69 +18,68 @@ local function get_properties()
end
localfunctionget_base()
localcp=color_palette
cp.none="NONE"
return{
Comment={fg=cp.gray0,style=cnf.styles.comments},-- just comments
ColorColumn={bg=cp.black3},-- used for the columns set with 'colorcolumn'
Conceal={fg=cp.gray1 },-- placeholder characters substituted for concealed text (see 'conceallevel')
Cursor={fg=cp.black2,bg=cp.white},-- character under the cursor
lCursor={fg=cp.black2,bg=cp.white},-- the character under the cursor when |language-mapping| is used (see 'guicursor')
CursorIM={fg=cp.black2,bg=cp.white},-- like Cursor, but used when in IME mode |CursorIM|
CursorColumn={bg=cp.black1},-- Screen-column at the cursor, when 'cursorcolumn' is secp.
CursorLine={bg=cp.black3},-- Screen-line at the cursor, when 'cursorline' is secp. Low-priority if foreground (ctermfg OR guifg) is not secp.
Comment={fg=cp.surface2,style=cnf.styles.comments},-- just comments
ColorColumn={bg=cp.surface0},-- used for the columns set with 'colorcolumn'
Conceal={fg=cp.overlay1 },-- placeholder characters substituted for concealed text (see 'conceallevel')
Cursor={fg=cp.base,bg=cp.text},-- character under the cursor
lCursor={fg=cp.base,bg=cp.text},-- the character under the cursor when |language-mapping| is used (see 'guicursor')
CursorIM={fg=cp.base,bg=cp.text},-- like Cursor, but used when in IME mode |CursorIM|
CursorColumn={bg=cp.mantle},-- Screen-column at the cursor, when 'cursorcolumn' is secp.
CursorLine={bg=colors_util.vary_color({latte=util.lighten(cp.mantle,0.70,cp.base)},util.darken(cp.surface0,0.64,cp.base))},-- Screen-line at the cursor, when 'cursorline' is secp. Low-priority if forecrust (ctermfg OR guifg) is not secp.
Directory={fg=cp.blue},-- directory names (and other special names in listings)
EndOfBuffer={fg=cp.black2},-- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
EndOfBuffer={fg=cp.base},-- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
ErrorMsg={fg=cp.red,style="bold,italic"},-- error messages on the command line
VertSplit={fg=cp.black0},-- the column separating vertically split windows
Folded={fg=cp.blue,bg=cp.black4},-- line used for closed folds
SignColumn={bg=cnf.transparent_backgroundandcp.noneorcp.base,fg=cp.surface1},-- column where |signs| are displayed
SignColumnSB={bg=cp.crust,fg=cp.surface1},-- column where |signs| are displayed
Substitute={bg=cp.surface1,fg=cp.pink},-- |:substitute| replacement text highlighting
LineNr={fg=cp.surface1 },-- colors_util.vary_color({latte = cp.crust}, cp.surface1) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is secp.
CursorLineNr={fg=cp.lavender},-- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. highlights the number in numberline.
MatchParen={fg=cp.peach,style="bold"},-- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
MsgArea={fg=cp.text},-- Area for messages and cmdline
MsgSeparator={},-- Separator for scrolled messages, `msgsep` flag of 'display'
MoreMsg={fg=cp.blue},-- |more-prompt|
NonText={fg=cp.gray0 },-- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
Normal={fg=cp.white,bg=cnf.transparent_backgroundandcp.noneorcp.black2},-- normal text
NormalNC={fg=cp.white,bg=cnf.transparent_backgroundandcp.noneorcp.black2},-- normal text in non-current windows
NormalSB={fg=cp.white,bg=cp.black0},-- normal text in non-current windows
NormalFloat={fg=cp.white,bg=cp.black1},-- Normal text in floating windows.
NonText={fg=cp.overlay0 },-- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
Normal={fg=cp.text,bg=cnf.transparent_backgroundandcp.noneorcp.base},-- normal text
NormalNC={fg=cp.text,bg=cnf.transparent_backgroundandcp.noneorcp.base},-- normal text in non-current windows
NormalSB={fg=cp.text,bg=cp.crust},-- normal text in non-current windows
NormalFloat={fg=cp.text,bg=cp.mantle},-- Normal text in floating windows.
FloatBorder={fg=cp.blue},
Pmenu={bg=cp.black3,fg=cp.gray2 },-- Popup menu: normal item.
PmenuThumb={bg=cp.overlay0 },-- Popup menu: Thumb of the scrollbar.
Question={fg=cp.blue},-- |hit-enter| prompt and yes/no questions
QuickFixLine={bg=cp.black4,style="bold"},-- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
Search={bg=cp.black4,fg=cp.pink,style="bold"},-- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand oucp.
IncSearch={bg=cp.pink,fg=cp.black4},-- 'incsearch' highlighting; also used for the text replaced with ":s///c"
SpecialKey={fg=cp.white },-- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
QuickFixLine={bg=cp.surface1,style="bold"},-- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
Search={bg=cp.surface1,fg=cp.pink,style="bold"},-- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand oucp.
IncSearch={bg=cp.pink,fg=cp.surface1},-- 'incsearch' highlighting; also used for the text replaced with ":s///c"
SpecialKey={fg=cp.text},-- Unprintable characters: text displayed differently from what it really is. But not 'listchars' textspace. |hl-Whitespace|
SpellBad={sp=cp.red,style="undercurl"},-- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
SpellCap={sp=cp.yellow,style="undercurl"},-- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
SpellLocal={sp=cp.blue,style="undercurl"},-- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
SpellRare={sp=cp.green,style="undercurl"},-- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
StatusLine={fg=cp.white,bg=cp.black1},-- status line of current window
StatusLineNC={fg=cp.black4,bg=cp.black1},-- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
TabLine={bg=cp.black1,fg=cp.black4},-- tab pages line, not active tab page label
StatusLine={fg=cp.text,bg=cp.mantle},-- status line of current window
StatusLineNC={fg=cp.surface1,bg=cp.mantle},-- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
TabLine={bg=cp.mantle,fg=cp.surface1},-- tab pages line, not active tab page label
TabLineFill={bg=cp.black},-- tab pages line, where there are no labels
TabLineSel={fg=cp.green,bg=cp.black4},-- tab pages line, active tab page label
TabLineSel={fg=cp.green,bg=cp.surface1},-- tab pages line, active tab page label
Title={fg=cp.blue,style="bold"},-- titles for output from ":set all", ":autocmd" etcp.