diff --git a/lua/catppuccin/core/integrations/barbar.lua b/lua/catppuccin/core/integrations/barbar.lua index 5a236e8..1996a46 100644 --- a/lua/catppuccin/core/integrations/barbar.lua +++ b/lua/catppuccin/core/integrations/barbar.lua @@ -7,18 +7,18 @@ function M.get(cp) BufferCurrentMod = { bg = cp.surface1, fg = cp.yellow }, BufferCurrentSign = { bg = cp.surface1, fg = cp.blue }, BufferCurrentTarget = { bg = cp.surface1, fg = cp.red }, - BufferVisible = { bg = cp.base1, fg = cp.text }, - BufferVisibleIndex = { bg = cp.base1, fg = cp.blue }, - BufferVisibleMod = { bg = cp.base1, fg = cp.yellow }, - BufferVisibleSign = { bg = cp.base1, fg = cp.blue }, - BufferVisibleTarget = { bg = cp.base1, fg = cp.red }, - BufferInactive = { bg = cp.base1, fg = cp.overlay0 }, - BufferInactiveIndex = { bg = cp.base1, fg = cp.overlay0 }, - BufferInactiveMod = { bg = cp.base1, fg = cp.yellow }, - BufferInactiveSign = { bg = cp.base1, fg = cp.blue }, - BufferInactiveTarget = { bg = cp.base1, fg = cp.red }, - BufferTabpages = { bg = cp.base1, fg = cp.none }, - BufferTabpage = { bg = cp.base1, fg = cp.blue }, + BufferVisible = { bg = cp.mantle, fg = cp.text }, + BufferVisibleIndex = { bg = cp.mantle, fg = cp.blue }, + BufferVisibleMod = { bg = cp.mantle, fg = cp.yellow }, + BufferVisibleSign = { bg = cp.mantle, fg = cp.blue }, + BufferVisibleTarget = { bg = cp.mantle, fg = cp.red }, + BufferInactive = { bg = cp.mantle, fg = cp.overlay0 }, + BufferInactiveIndex = { bg = cp.mantle, fg = cp.overlay0 }, + BufferInactiveMod = { bg = cp.mantle, fg = cp.yellow }, + BufferInactiveSign = { bg = cp.mantle, fg = cp.blue }, + BufferInactiveTarget = { bg = cp.mantle, fg = cp.red }, + BufferTabpages = { bg = cp.mantle, fg = cp.none }, + BufferTabpage = { bg = cp.mantle, fg = cp.blue }, } end diff --git a/lua/catppuccin/core/integrations/bufferline.lua b/lua/catppuccin/core/integrations/bufferline.lua index b6be5c4..5819ca1 100644 --- a/lua/catppuccin/core/integrations/bufferline.lua +++ b/lua/catppuccin/core/integrations/bufferline.lua @@ -2,17 +2,17 @@ local M = {} function M.get(cp) - local inactive_bg = cp.base1 + local inactive_bg = cp.mantle return { - BufferLineFill = { bg = cp.base0 }, - BufferLineBackground = { fg = cp.text, bg = inactive_bg }, -- others + BufferLineFill = { bg = cp.crust }, + BufferLineBackcrust = { fg = cp.text, bg = inactive_bg }, -- others BufferLineBufferVisible = { fg = cp.surface1, bg = inactive_bg }, - BufferLineBufferSelected = { fg = cp.text, bg = cp.base2, style = "bold,italic" }, -- current - BufferLineTab = { fg = cp.surface1, bg = cp.base2 }, + BufferLineBufferSelected = { fg = cp.text, bg = cp.base, style = "bold,italic" }, -- current + BufferLineTab = { fg = cp.surface1, bg = cp.base }, BufferLineTabSelected = { fg = cp.red, bg = cp.blue }, BufferLineTabClose = { fg = cp.red, bg = inactive_bg }, - BufferLineIndicatorSelected = { fg = cp.peach, bg = cp.base2 }, + BufferLineIndicatorSelected = { fg = cp.peach, bg = cp.base }, -- separators BufferLineSeparator = { fg = inactive_bg, bg = inactive_bg }, BufferLineSeparatorVisible = { fg = inactive_bg, bg = inactive_bg }, @@ -20,7 +20,7 @@ function M.get(cp) -- close buttons BufferLineCloseButton = { fg = cp.surface1, bg = inactive_bg }, BufferLineCloseButtonVisible = { fg = cp.surface1, bg = inactive_bg }, - BufferLineCloseButtonSelected = { fg = cp.red, bg = cp.base2 }, + BufferLineCloseButtonSelected = { fg = cp.red, bg = cp.base }, } end diff --git a/lua/catppuccin/core/integrations/gitsigns.lua b/lua/catppuccin/core/integrations/gitsigns.lua index 5b6d078..19b0130 100644 --- a/lua/catppuccin/core/integrations/gitsigns.lua +++ b/lua/catppuccin/core/integrations/gitsigns.lua @@ -2,9 +2,9 @@ local M = {} function M.get(cp) return { - GitSignsAdd = { fg = cp.green, bg = cnf.transparent_background and cp.none or cp.base2 }, -- diff mode: Added line |diff.txt| - GitSignsChange = { fg = cp.yellow, bg = cnf.transparent_background and cp.none or cp.base2 }, -- diff mode: Changed line |diff.txt| - GitSignsDelete = { fg = cp.red, bg = cnf.transparent_background and cp.none or cp.base2 }, -- diff mode: Deleted line |diff.txt| + GitSignsAdd = { fg = cp.green, bg = cnf.transparent_background and cp.none or cp.base }, -- diff mode: Added line |diff.txt| + GitSignsChange = { fg = cp.yellow, bg = cnf.transparent_background and cp.none or cp.base }, -- diff mode: Changed line |diff.txt| + GitSignsDelete = { fg = cp.red, bg = cnf.transparent_background and cp.none or cp.base }, -- diff mode: Deleted line |diff.txt| } end diff --git a/lua/catppuccin/core/integrations/hop.lua b/lua/catppuccin/core/integrations/hop.lua index ac49c9a..72cd3cf 100644 --- a/lua/catppuccin/core/integrations/hop.lua +++ b/lua/catppuccin/core/integrations/hop.lua @@ -2,10 +2,10 @@ local M = {} function M.get(cp) return { - HopNextKey = { bg = cp.base2, fg = cp.peach, style = "bold,underline" }, - HopNextKey1 = { bg = cp.base2, fg = cp.blue, style = "bold" }, - HopNextKey2 = { bg = cp.base2, fg = cp.teal, style = "bold,italic" }, - HopUnmatched = { bg = cp.base2, fg = cp.overlay0 }, + HopNextKey = { bg = cp.base, fg = cp.peach, style = "bold,underline" }, + HopNextKey1 = { bg = cp.base, fg = cp.blue, style = "bold" }, + HopNextKey2 = { bg = cp.base, fg = cp.teal, style = "bold,italic" }, + HopUnmatched = { bg = cp.base, fg = cp.overlay0 }, } end diff --git a/lua/catppuccin/core/integrations/lightspeed.lua b/lua/catppuccin/core/integrations/lightspeed.lua index ae69ac1..757482c 100644 --- a/lua/catppuccin/core/integrations/lightspeed.lua +++ b/lua/catppuccin/core/integrations/lightspeed.lua @@ -32,16 +32,16 @@ function M.get(cp) LightspeedOverlapped = {bg = cp.surface1, fg = cp.text}, LightspeedLabelDistant = {bg = cp.mauve, fg = cp.text}, LightspeedLabelDistantOverlapped = {bg = cp.mauve, fg = cp.text}, - LightspeedShortcut = {bg = cp.base2, fg = cp.peach, style = "italic"}, - LightspeedShortcutOverlapped = {bg = cp.base2, fg = cp.peach, style = "bold"}, - LightspeedMaskedChar = {bg = cp.base2, fg = cp.red, style = "undercurl"}, - LightspeedGreyWash = {bg = cp.base2, fg = cp.overlay0}, - LightspeedUnlabeledMatch = {bg = cp.base2, fg = cp.red, style = "underline"}, - LightspeedOneCharMatch = {bg = cp.base2, fg = cp.red, style = "underline"}, - LightspeedUniqueChar = {bg = cp.base2, fg = cp.green, style = "strikethrough"}, - LightspeedPendingOpArea = {bg = cp.base2, fg = cp.green, style = "strikethrough"}, - LightspeedPendingChangeOpArea = {bg = cp.base2, fg = cp.green, style = "strikethrough"}, - LightspeedCursor = {fg = cp.base2, bg = cp.text}, + LightspeedShortcut = {bg = cp.base, fg = cp.peach, style = "italic"}, + LightspeedShortcutOverlapped = {bg = cp.base, fg = cp.peach, style = "bold"}, + LightspeedMaskedChar = {bg = cp.base, fg = cp.red, style = "undercurl"}, + LightspeedGreyWash = {bg = cp.base, fg = cp.overlay0}, + LightspeedUnlabeledMatch = {bg = cp.base, fg = cp.red, style = "underline"}, + LightspeedOneCharMatch = {bg = cp.base, fg = cp.red, style = "underline"}, + LightspeedUniqueChar = {bg = cp.base, fg = cp.green, style = "strikethrough"}, + LightspeedPendingOpArea = {bg = cp.base, fg = cp.green, style = "strikethrough"}, + LightspeedPendingChangeOpArea = {bg = cp.base, fg = cp.green, style = "strikethrough"}, + LightspeedCursor = {fg = cp.base, bg = cp.text}, } end diff --git a/lua/catppuccin/core/integrations/lsp_saga.lua b/lua/catppuccin/core/integrations/lsp_saga.lua index 4731cec..246a26d 100644 --- a/lua/catppuccin/core/integrations/lsp_saga.lua +++ b/lua/catppuccin/core/integrations/lsp_saga.lua @@ -6,7 +6,7 @@ function M.get(cp) DiagnosticWarning = { fg = cp.yellow }, DiagnosticInformation = { fg = cp.blue }, DiagnosticHint = { fg = cp.hint }, - LspFloatWinNormal = { bg = cp.base0 }, + LspFloatWinNormal = { bg = cp.crust }, LspFloatWinBorder = { fg = cp.blue }, LspSagaBorderTitle = { fg = cp.flamingo }, LspSagaHoverBorder = { fg = cp.blue }, diff --git a/lua/catppuccin/core/integrations/lsp_trouble.lua b/lua/catppuccin/core/integrations/lsp_trouble.lua index 040f5bc..62b5a74 100644 --- a/lua/catppuccin/core/integrations/lsp_trouble.lua +++ b/lua/catppuccin/core/integrations/lsp_trouble.lua @@ -4,7 +4,7 @@ function M.get(cp) return { LspTroubleText = { fg = cp.green }, LspTroubleCount = { fg = cp.pink, bg = cp.surface1 }, - LspTroubleNormal = { fg = cp.text, bg = cp.base0 }, + LspTroubleNormal = { fg = cp.text, bg = cp.crust }, } end diff --git a/lua/catppuccin/core/integrations/native_lsp.lua b/lua/catppuccin/core/integrations/native_lsp.lua index 022d796..0a59c19 100644 --- a/lua/catppuccin/core/integrations/native_lsp.lua +++ b/lua/catppuccin/core/integrations/native_lsp.lua @@ -20,10 +20,10 @@ function M.get(cp) LspReferenceRead = { bg = cp.surface1 }, -- used for highlighting "read" references LspReferenceWrite = { bg = cp.surface1 }, -- used for highlighting "write" references -- hightlight diagnostics in numberline - DiagnosticError = { bg = util.darken(error, darkening_percentage, cp.base2), fg = error, style = virtual_text.errors }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default - DiagnosticWarn = { bg = util.darken(warning, darkening_percentage, cp.base2), fg = warning, style = virtual_text.warnings }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default - DiagnosticInfo = { bg = util.darken(info, darkening_percentage, cp.base2), fg = info, style = virtual_text.information }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default - DiagnosticHint = { bg = util.darken(hint, darkening_percentage, cp.base2), 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 -- util. -- for nvim nightly @@ -32,10 +32,10 @@ function M.get(cp) DiagnosticUnderlineInfo = { style = underlines.information, sp = info }, DiagnosticUnderlineHint = { style = underlines.hints, sp = hint }, - 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 diff --git a/lua/catppuccin/core/integrations/neogit.lua b/lua/catppuccin/core/integrations/neogit.lua index 71b289b..e368b60 100644 --- a/lua/catppuccin/core/integrations/neogit.lua +++ b/lua/catppuccin/core/integrations/neogit.lua @@ -5,10 +5,10 @@ function M.get(cp) NeogitBranch = { fg = cp.pink }, NeogitRemote = { fg = cp.pink }, NeogitHunkHeader = { bg = cp.blue, fg = cp.text }, - NeogitHunkHeaderHighlight = { bg = cp.base2, fg = cp.blue }, - NeogitDiffContextHighlight = { bg = cp.base1, fg = cp.overlay2 }, - NeogitDiffDeleteHighlight = { bg = cp.base1, fg = cp.red }, - NeogitDiffAddHighlight = { bg = cp.base1, fg = cp.green }, + NeogitHunkHeaderHighlight = { bg = cp.base, fg = cp.blue }, + NeogitDiffContextHighlight = { bg = cp.mantle, fg = cp.overlay2 }, + NeogitDiffDeleteHighlight = { bg = cp.mantle, fg = cp.red }, + NeogitDiffAddHighlight = { bg = cp.mantle, fg = cp.green }, } end diff --git a/lua/catppuccin/core/integrations/neotree.lua b/lua/catppuccin/core/integrations/neotree.lua index d4dc1fa..2bc12a6 100644 --- a/lua/catppuccin/core/integrations/neotree.lua +++ b/lua/catppuccin/core/integrations/neotree.lua @@ -13,7 +13,7 @@ function M.get(cp) return { NeoTreeDirectoryName = { fg = cp.blue }, NeoTreeDirectoryIcon = { fg = cp.blue }, - NeoTreeNormal = { fg = cp.text, bg = neotree.transparent_panel and "NONE" or cp.base1 }, + NeoTreeNormal = { fg = cp.text, bg = neotree.transparent_panel and "NONE" or cp.mantle }, NeoTreeIndentMarker = { fg = cp.overlay0 }, NeoTreeRootName = { fg = root_dir_color, style = "bold" }, NeoTreeSymbolicLinkTarget = { fg = cp.pink }, diff --git a/lua/catppuccin/core/integrations/nvimtree.lua b/lua/catppuccin/core/integrations/nvimtree.lua index 505aecd..3e83973 100644 --- a/lua/catppuccin/core/integrations/nvimtree.lua +++ b/lua/catppuccin/core/integrations/nvimtree.lua @@ -4,7 +4,7 @@ function M.get(cp) local config = require("catppuccin.config").options local nvimtree = config.integrations.nvimtree - local root_dir_color = cp.base1 + local root_dir_color = cp.mantle if nvimtree.show_root == true then root_dir_color = cp.blue end @@ -13,14 +13,14 @@ function M.get(cp) return { NvimTreeFolderName = { fg = cp.blue }, NvimTreeFolderIcon = { fg = cp.blue }, - NvimTreeNormal = { fg = cp.text, bg = nvimtree.transparent_panel and "NONE" or cp.base1 }, + NvimTreeNormal = { fg = cp.text, bg = nvimtree.transparent_panel and "NONE" or cp.mantle }, NvimTreeOpenedFolderName = { fg = cp.blue }, NvimTreeEmptyFolderName = { fg = cp.blue }, NvimTreeIndentMarker = { fg = cp.overlay0 }, - NvimTreeVertSplit = { fg = cp.base2, bg = cp.base2 }, + NvimTreeVertSplit = { fg = cp.base, bg = cp.base }, NvimTreeRootFolder = { fg = root_dir_color, style = "bold" }, NvimTreeSymlink = { fg = cp.pink }, - NvimTreeStatuslineNc = { fg = cp.base1, bg = cp.base1 }, + NvimTreeStatuslineNc = { fg = cp.mantle, bg = cp.mantle }, NvimTreeGitDirty = { fg = cp.yellow }, NvimTreeGitNew = { fg = cp.blue }, NvimTreeGitDeleted = { fg = cp.red }, diff --git a/lua/catppuccin/core/integrations/symbols_outline.lua b/lua/catppuccin/core/integrations/symbols_outline.lua index 200e175..5b9e53f 100644 --- a/lua/catppuccin/core/integrations/symbols_outline.lua +++ b/lua/catppuccin/core/integrations/symbols_outline.lua @@ -2,7 +2,7 @@ local M = {} function M.get(cp) return { - FocusedSymbol = { fg = cp.yellow, bg = cp.base2 }, + FocusedSymbol = { fg = cp.yellow, bg = cp.base }, } end diff --git a/lua/catppuccin/core/integrations/treesitter.lua b/lua/catppuccin/core/integrations/treesitter.lua index 9de875d..011ac2b 100644 --- a/lua/catppuccin/core/integrations/treesitter.lua +++ b/lua/catppuccin/core/integrations/treesitter.lua @@ -50,9 +50,9 @@ function M.get(cp) -- TSAttribute = { }; -- (unstable) TODO: docs -- TSCharacter = { }; -- For characters. -- TSoverlay0 = { }; -- For overlay0 blocks. - TSNote = { fg = cp.base2, bg = cp.blue }, - TSWarning = { fg = cp.base2, bg = cp.yellow }, - TSDanger = { fg = cp.base2, bg = cp.red }, + TSNote = { fg = cp.base, bg = cp.blue }, + TSWarning = { fg = cp.base, bg = cp.yellow }, + TSDanger = { fg = cp.base, bg = cp.red }, TSConstMacro = { fg = cp.mauve }; -- For constants that are defined by macros: NULL in cp. -- TSError = { fg = cp.red }, -- For syntax/parser errors. -- rustTSField = { fg = cp.surface1 }, -- For fields. diff --git a/lua/catppuccin/core/integrations/ts_rainbow.lua b/lua/catppuccin/core/integrations/ts_rainbow.lua index 3ba2a14..1197c36 100644 --- a/lua/catppuccin/core/integrations/ts_rainbow.lua +++ b/lua/catppuccin/core/integrations/ts_rainbow.lua @@ -2,7 +2,7 @@ local M = {} function M.get(cp) local transparent_background = require("catppuccin.config").options.transparent_background - local bg_highlight = transparent_background and "NONE" or cp.base2 + local bg_highlight = transparent_background and "NONE" or cp.base return { rainbowcol1 = {bg = bg_highlight, fg = cp.red}, rainbowcol2 = {bg = bg_highlight, fg = cp.teal}, diff --git a/lua/catppuccin/core/integrations/which_key.lua b/lua/catppuccin/core/integrations/which_key.lua index 10b8056..fd80ee8 100644 --- a/lua/catppuccin/core/integrations/which_key.lua +++ b/lua/catppuccin/core/integrations/which_key.lua @@ -7,7 +7,7 @@ function M.get(cp) WhichKeyDesc = { fg = cp.pink }, WhichKeySeperator = { fg = cp.overlay0 }, WhichKeySeparator = { fg = cp.overlay0 }, - WhichKeyFloat = { bg = cp.base0 }, + WhichKeyFloat = { bg = cp.crust }, WhichKeyValue = { fg = cp.overlay0 }, } end diff --git a/lua/catppuccin/core/mapper.lua b/lua/catppuccin/core/mapper.lua index f3e3f92..66fe039 100644 --- a/lua/catppuccin/core/mapper.lua +++ b/lua/catppuccin/core/mapper.lua @@ -10,7 +10,7 @@ local function get_properties() background = "dark", } - if colors_util.assert_brightness(cp.base2) then + if colors_util.assert_brightness(cp.base) then props["background"] = "light" end @@ -34,16 +34,24 @@ local function get_base() util.darken(cp.surface0, 0.64, cp.base2) ), }, -- Screen-line at the cursor, when 'cursorline' is secp. Low-priority if foreground (ctermfg OR guifg) is not secp. + 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.base2 }, -- 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.base0 }, -- the column separating vertically split windows + VertSplit = { fg = cp.crust }, -- the column separating vertically split windows Folded = { fg = cp.blue, bg = cp.surface1 }, -- line used for closed folds - FoldColumn = { bg = cp.base2, fg = cp.overlay0 }, -- 'foldcolumn' - SignColumn = { bg = cnf.transparent_background and cp.none or cp.base2, fg = cp.surface1 }, -- column where |signs| are displayed - SignColumnSB = { bg = cp.base0, fg = cp.surface1 }, -- column where |signs| are displayed + FoldColumn = { bg = cp.base, fg = cp.overlay0 }, -- 'foldcolumn' + SignColumn = { bg = cnf.transparent_background and cp.none or cp.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 + dev LineNr = { fg = colors_util.vary_color({ latte = cp.base0 }, cp.surface1) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is secp. + + 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| ModeMsg = { fg = cp.text, style = "bold" }, -- 'showmode' message (e.g., "-- INSERT -- ") @@ -51,10 +59,10 @@ local function get_base() MsgSeparator = {}, -- Separator for scrolled messages, `msgsep` flag of 'display' MoreMsg = { fg = cp.blue }, -- |more-prompt| 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_background and cp.none or cp.base2 }, -- normal text - NormalNC = { fg = cp.text, bg = cnf.transparent_background and cp.none or cp.base2 }, -- normal text in non-current windows - NormalSB = { fg = cp.text, bg = cp.base0 }, -- normal text in non-current windows - NormalFloat = { fg = cp.text, bg = cp.base1 }, -- Normal text in floating windows. + Normal = { fg = cp.text, bg = cnf.transparent_background and cp.none or cp.base }, -- normal text + NormalNC = { fg = cp.text, bg = cnf.transparent_background and cp.none or cp.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.surface0, fg = cp.overlay2 }, -- Popup menu: normal item. PmenuSel = { fg = cp.text, bg = cp.surface1, style = "bold" }, -- Popup menu: selected item. @@ -70,9 +78,9 @@ local function get_base() 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.text, bg = cp.base1 }, -- status line of current window - StatusLineNC = { fg = cp.surface1, bg = cp.base1 }, -- 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.base1, fg = cp.surface1 }, -- 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.surface1 }, -- tab pages line, active tab page label Title = { fg = cp.blue, style = "bold" }, -- titles for output from ":set all", ":autocmd" etcp. @@ -129,21 +137,21 @@ local function get_base() -- Ignore = { }, -- (preferred) left blank, hidden |hl-Ignore| Error = { fg = cp.red }, -- (preferred) any erroneous construct - Todo = { bg = cp.yellow, fg = cp.base2, style = "bold" }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX + Todo = { bg = cp.yellow, fg = cp.base, style = "bold" }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX qfLineNr = { fg = cp.yellow }, qfFileName = { fg = cp.blue }, htmlH1 = { fg = cp.pink, style = "bold" }, htmlH2 = { fg = cp.blue, style = "bold" }, -- mkdHeading = { fg = cp.peach, style = "bold" }, -- mkdCode = { bg = cp.terminal_black, fg = cp.text }, - mkdCodeDelimiter = { bg = cp.base2, fg = cp.text }, + mkdCodeDelimiter = { bg = cp.base, fg = cp.text }, mkdCodeStart = { fg = cp.flamingo, style = "bold" }, mkdCodeEnd = { fg = cp.flamingo, style = "bold" }, -- mkdLink = { fg = cp.blue, style = "underline" }, -- debugging - debugPC = { bg = cp.base0 }, -- used for highlighting the current line in terminal-debug - debugBreakpoint = { bg = cp.base2, fg = cp.overlay0 }, -- used for breakpoint colors in terminal-debug + debugPC = { bg = cp.crust }, -- used for highlighting the current line in terminal-debug + debugBreakpoint = { bg = cp.base, fg = cp.overlay0 }, -- used for breakpoint colors in terminal-debug -- illuminate illuminatedWord = { bg = cp.surface1 }, illuminatedCurWord = { bg = cp.surface1 }, @@ -156,10 +164,10 @@ local function get_base() diffFile = { fg = cp.blue }, diffLine = { fg = cp.overlay0 }, diffIndexLine = { fg = cp.pink }, - DiffAdd = { fg = cp.green, bg = cp.base2 }, -- diff mode: Added line |diff.txt| - DiffChange = { fg = cp.yellow, bg = cp.base2 }, -- diff mode: Changed line |diff.txt| - DiffDelete = { fg = cp.red, bg = cp.base2 }, -- diff mode: Deleted line |diff.txt| - DiffText = { fg = cp.blue, bg = cp.base2 }, -- diff mode: Changed text within a changed line |diff.txt| + DiffAdd = { fg = cp.green, bg = cp.base }, -- diff mode: Added line |diff.txt| + DiffChange = { fg = cp.yellow, bg = cp.base }, -- diff mode: Changed line |diff.txt| + DiffDelete = { fg = cp.red, bg = cp.base }, -- diff mode: Deleted line |diff.txt| + DiffText = { fg = cp.blue, bg = cp.base }, -- diff mode: Changed text within a changed line |diff.txt| -- NeoVim healthError = { fg = cp.red }, healthSuccess = { fg = cp.teal }, diff --git a/lua/catppuccin/core/palettes/frappe.lua b/lua/catppuccin/core/palettes/frappe.lua index 5d24b9c..c2bcc40 100644 --- a/lua/catppuccin/core/palettes/frappe.lua +++ b/lua/catppuccin/core/palettes/frappe.lua @@ -18,16 +18,20 @@ local color_palette = { blue = "#8CAAEE", sapphire = "#85C1DC", lavender = "#BFB7E4", + text = "#C6CEEF", - overlay2 = "#B1B8D7", - overlay1 = "#9BA2BF", - overlay0 = "#868CA7", - surface2 = "#707590", - surface1 = "#5B5F78", - surface0 = "#454960", - base2 = "#303348", - base1 = "#252737", - base0 = "#181A25", + subtext1 = "#B5BDDC", + subtext0 = "#A5ACC9", + overlay2 = "#949BB7", + overlay1 = "#838AA4", + overlay0 = "#737891", + surface2 = "#62677E", + surface1 = "#51566C", + surface0 = "#414559", + + base = "#303446", + mantle = "#292C3C", + crust = "#232634", } return color_palette diff --git a/lua/catppuccin/core/palettes/init.lua b/lua/catppuccin/core/palettes/init.lua index d7a71f6..fc01b70 100644 --- a/lua/catppuccin/core/palettes/init.lua +++ b/lua/catppuccin/core/palettes/init.lua @@ -3,10 +3,10 @@ local M = {} function M.get_palette() local flvr = vim.g.catppuccin_flavour - if flvr == "moccha" or flvr == "latte" or flvr == "macchiato" or flvr == "frappe" then + if flvr == "mocha" or flvr == "latte" or flvr == "macchiato" or flvr == "frappe" then return require("catppuccin.core.palettes." .. flvr) end - return require("catppuccin.core.palettes.moccha") + return require("catppuccin.core.palettes.mocha") end return M diff --git a/lua/catppuccin/core/palettes/latte.lua b/lua/catppuccin/core/palettes/latte.lua index aa81dc7..9863c9d 100644 --- a/lua/catppuccin/core/palettes/latte.lua +++ b/lua/catppuccin/core/palettes/latte.lua @@ -18,16 +18,20 @@ local color_palette = { blue = "#2A6EF5", sapphire = "#209FB5", lavender = "#7287FD", - text = "#575279", - overlay2 = "#696487", - overlay1 = "#7B7794", - overlay0 = "#8E89A2", - surface2 = "#A09BAF", - surface1 = "#B2AEBD", - base0 = "#C4C0CA", - surface0 = "#D7D2D8", - base1 = "#E9E5E5", - base2 = "#FBF7F3", + + text = "#4C4F69", + subtext1 = "#5C5F77", + subtext0 = "#6C6F85", + overlay2 = "#7C7F93", + overlay1 = "#8C8FA1", + overlay0 = "#9CA0B0", + surface2 = "#ACB0BE", + surface1 = "#BCC0CC", + surface0 = "#CCD0DA", + + crust = "#DCE0E8", + mantle = "#E6E9EF", + base = "#EFF1F5", } return color_palette diff --git a/lua/catppuccin/core/palettes/macchiato.lua b/lua/catppuccin/core/palettes/macchiato.lua index 408da7f..82fa073 100644 --- a/lua/catppuccin/core/palettes/macchiato.lua +++ b/lua/catppuccin/core/palettes/macchiato.lua @@ -18,16 +18,20 @@ local color_palette = { blue = "#86AEF8", sapphire = "#7DC4E4", lavender = "#B9BEF8", + text = "#C5CFF5", - overlay2 = "#AEB7DA", - overlay1 = "#979FC0", - overlay0 = "#8087A5", - surface2 = "#696F8A", - surface1 = "#52576F", - surface0 = "#3B3F55", - base2 = "#24273A", - base1 = "#181926", - base0 = "#0C0D13", + subtext1 = "#B3BCE0", + subtext0 = "#A1AACB", + overlay2 = "#8F97B7", + overlay1 = "#7D84A2", + overlay0 = "#6C728D", + surface2 = "#5A5F78", + surface1 = "#484C64", + surface0 = "#363A4F", + + base = "#24273A", + mantle = "#1E2030", + crust = "#181926", } return color_palette diff --git a/lua/catppuccin/core/palettes/moccha.lua b/lua/catppuccin/core/palettes/moccha.lua index 97f6265..efab9b1 100644 --- a/lua/catppuccin/core/palettes/moccha.lua +++ b/lua/catppuccin/core/palettes/moccha.lua @@ -18,6 +18,7 @@ local color_palette = { blue = "#90C1FB", sapphire = "#74C7EC", lavender = "#B4BEFE", + text = "#C6D0F5", overlay2 = "#AEB7D9", overlay1 = "#969DBC", @@ -25,9 +26,10 @@ local color_palette = { surface2 = "#666A83", surface1 = "#4E5167", surface0 = "#36374A", - base2 = "#1E1E2E", - base1 = "#12121C", - base0 = "#07070A", + + crust = "#11111B", + mantle = "#181825", + base = "#1E1E2E", } return color_palette diff --git a/lua/catppuccin/core/palettes/mocha.lua b/lua/catppuccin/core/palettes/mocha.lua new file mode 100644 index 0000000..481215e --- /dev/null +++ b/lua/catppuccin/core/palettes/mocha.lua @@ -0,0 +1,37 @@ +-- NOTE: references for Catppuccin Mocha +-- monochromatic: https://coolors.co/c6d0f5-aeb7d9-969dbc-7e84a0-666a83-4e5167-36374a-1e1e2e-12121c-07070a +-- analogous 1: https://coolors.co/f5e0dc-f2cdcd-f5c2e7-cba6f7-eba0ac-f38ba8-fab387 +-- analogous 2: https://coolors.co/bfb7e4-8caaee-99d1db-e5c890-85c1dc-a6d189-81c8be + +local color_palette = { + rosewater = "#F5E0DC", + flamingo = "#F2CDCD", + pink = "#F5C2E7", + mauve = "#CBA6F7", + red = "#F38BA8", + maroon = "#EBA0AC", + peach = "#FAB387", + yellow = "#F9E2AF", + green = "#A6E3A1", + teal = "#94E2D5", + sky = "#89DCEB", + blue = "#90C1FB", + sapphire = "#74C7EC", + lavender = "#B4BEFE", + + text = "#C6D0F5", + subtext1 = "#B3BCDF", + subtext0 = "#A1A8C9", + overlay2 = "#8E95B3", + overlay1 = "#7B819D", + overlay0 = "#696D86", + surface2 = "#565970", + surface1 = "#43465A", + surface0 = "#313244", + + base = "#1E1E2E", + mantle = "#181825", + crust = "#11111B", +} + +return color_palette diff --git a/lua/catppuccin/main.lua b/lua/catppuccin/main.lua index 97286ef..16fc21c 100644 --- a/lua/catppuccin/main.lua +++ b/lua/catppuccin/main.lua @@ -1,7 +1,7 @@ local M = {} local utils = require("catppuccin.utils.util") -local flavours = {"latte", "frappe", "macchiato", "moccha"} +local flavours = {"latte", "frappe", "macchiato", "mocha"} function M.cli_flavour_completion() return vim.tbl_keys(require("catppuccin.utils.data").set_of(flavours)) diff --git a/lua/catppuccin/utils/util.lua b/lua/catppuccin/utils/util.lua index 073a60f..c65324a 100644 --- a/lua/catppuccin/utils/util.lua +++ b/lua/catppuccin/utils/util.lua @@ -21,7 +21,7 @@ local hex_to_rgb = function(hex_str) return { tonumber(red, 16), tonumber(green, 16), tonumber(blue, 16) } end ----@param fg string foreground color +---@param fg string forecrust color ---@param bg string background color ---@param alpha number number between 0 and 1. 0 results in bg, 1 results in fg function util.blend(fg, bg, alpha) diff --git a/lua/lightline/colorscheme/catppuccin.lua b/lua/lightline/colorscheme/catppuccin.lua index 0c35a64..ec03573 100644 --- a/lua/lightline/colorscheme/catppuccin.lua +++ b/lua/lightline/colorscheme/catppuccin.lua @@ -2,36 +2,36 @@ local cp = require("catppuccin.core.color_palette") local catppuccin = {} catppuccin.normal = { - left = { { cp.base1, cp.blue }, { cp.blue, cp.base2 } }, + left = { { cp.mantle, cp.blue }, { cp.blue, cp.base } }, middle = { { cp.blue, cp.surface1 } }, - right = { { cp.overlay0, cp.base2 }, { cp.blue, cp.surface0 } }, - error = { { cp.base1, cp.red } }, - warning = { { cp.base1, cp.yellow } }, + right = { { cp.overlay0, cp.base }, { cp.blue, cp.surface0 } }, + error = { { cp.mantle, cp.red } }, + warning = { { cp.mantle, cp.yellow } }, } catppuccin.insert = { - left = { { cp.base1, cp.teal }, { cp.blue, cp.base2 } }, + left = { { cp.mantle, cp.teal }, { cp.blue, cp.base } }, } catppuccin.visual = { - left = { { cp.base1, cp.mauve }, { cp.blue, cp.base2 } }, + left = { { cp.mantle, cp.mauve }, { cp.blue, cp.base } }, } catppuccin.replace = { - left = { { cp.base1, cp.red }, { cp.blue, cp.base2 } }, + left = { { cp.mantle, cp.red }, { cp.blue, cp.base } }, } catppuccin.inactive = { - left = { { cp.blue, cp.base2 }, { cp.overlay0, cp.base2 } }, - middle = { { cp.surface1, cp.base2 } }, - right = { { cp.surface1, cp.base2 }, { cp.overlay0, cp.base2 } }, + left = { { cp.blue, cp.base }, { cp.overlay0, cp.base } }, + middle = { { cp.surface1, cp.base } }, + right = { { cp.surface1, cp.base }, { cp.overlay0, cp.base } }, } catppuccin.tabline = { - left = { { cp.overlay0, cp.base2 }, { cp.overlay0, cp.base2 } }, - middle = { { cp.surface1, cp.base2 } }, - right = { { cp.surface1, cp.base2 }, { cp.overlay0, cp.base2 } }, - tabsel = { { cp.blue, cp.surface1 }, { cp.overlay0, cp.base2 } }, + left = { { cp.overlay0, cp.base }, { cp.overlay0, cp.base } }, + middle = { { cp.surface1, cp.base } }, + right = { { cp.surface1, cp.base }, { cp.overlay0, cp.base } }, + tabsel = { { cp.blue, cp.surface1 }, { cp.overlay0, cp.base } }, } return catppuccin diff --git a/lua/lualine/themes/catppuccin.lua b/lua/lualine/themes/catppuccin.lua index a7a2d26..94627a3 100644 --- a/lua/lualine/themes/catppuccin.lua +++ b/lua/lualine/themes/catppuccin.lua @@ -2,35 +2,35 @@ local cp = require("catppuccin.core.color_palette") local catppuccin = {} catppuccin.normal = { - a = { bg = cp.blue, fg = cp.base1, gui = "bold" }, + a = { bg = cp.blue, fg = cp.mantle, gui = "bold" }, b = { bg = cp.surface1, fg = cp.blue }, - c = { bg = cp.base1, fg = cp.text }, + c = { bg = cp.mantle, fg = cp.text }, } catppuccin.insert = { - a = { bg = cp.green, fg = cp.base2, gui = "bold" }, + a = { bg = cp.green, fg = cp.base, gui = "bold" }, b = { bg = cp.surface1, fg = cp.teal }, } catppuccin.command = { - a = { bg = cp.peach, fg = cp.base2, gui = "bold" }, + a = { bg = cp.peach, fg = cp.base, gui = "bold" }, b = { bg = cp.surface1, fg = cp.peach }, } catppuccin.visual = { - a = { bg = cp.mauve, fg = cp.base2, gui = "bold" }, + a = { bg = cp.mauve, fg = cp.base, gui = "bold" }, b = { bg = cp.surface1, fg = cp.mauve }, } catppuccin.replace = { - a = { bg = cp.red, fg = cp.base2, gui = "bold" }, + a = { bg = cp.red, fg = cp.base, gui = "bold" }, b = { bg = cp.surface1, fg = cp.red }, } catppuccin.inactive = { - a = { bg = cp.base1, fg = cp.blue }, - b = { bg = cp.base1, fg = cp.surface1, gui = "bold" }, - c = { bg = cp.base1, fg = cp.overlay0 }, + a = { bg = cp.mantle, fg = cp.blue }, + b = { bg = cp.mantle, fg = cp.surface1, gui = "bold" }, + c = { bg = cp.mantle, fg = cp.overlay0 }, } return catppuccin