diff --git a/README.md b/README.md index 20a2e02..104e16e 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ This port of Catppuccin is special because it was the first one and the one that - [Treesitter](https://github.com/tree-sitter/tree-sitter) - [Native LSP](https://github.com/neovim/nvim-lspconfig) - [Telescope](https://github.com/nvim-telescope/telescope.nvim) + - [Feline](https://github.com/feline-nvim/feline.nvim) - [LSP Saga](https://github.com/glepnir/lspsaga.nvim) - [Trouble](https://github.com/folke/trouble.nvim) - [WhichKey](https://github.com/folke/which-key.nvim) @@ -312,8 +313,15 @@ 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: + +```lua +require("feline").setup({ + components = require('catppuccin.core.integrations.feline'), +}) +``` + - **Indent-blankline.nvim**: setting `enabled` to `true` enables this integration. `colored_indent_levels` enables char highlights per indent level. Follow the instructions [here](https://github.com/lukas-reineke/indent-blankline.nvim#with-custom-gindent_blankline_char_highlight_list) to set the latter up. -- **Kitty:** [Instructions](https://github.com/catppuccin/kitty) - **Lightline:** use this to set it up (Note: `catppuccin` is the only valid colorscheme name. It will pick the one set in your config): ```lua diff --git a/lua/catppuccin/core/color_palette.lua b/lua/catppuccin/core/color_palette.lua index 263b792..7272100 100644 --- a/lua/catppuccin/core/color_palette.lua +++ b/lua/catppuccin/core/color_palette.lua @@ -1,26 +1,26 @@ local color_palette = { - catppuccin21 = "#F5E0DC", -- Rosewater - catppuccin2 = "#F2CDCD", -- Flamingo - catppuccin3 = "#C6AAE8", -- Magenta - catppuccin4 = "#E5B4E2", -- Pink - catppuccin5 = "#E38C8F", -- Red - catppuccin19 = "#E49CB3", -- Maroon - catppuccin6 = "#F7BE95", -- Peach - catppuccin8 = "#ECDDAA", -- Yellow - catppuccin0 = "#B1E1A6", -- Green - catppuccin7 = "#B7E5E6", -- Teal - catppuccin20 = "#92D2E8", -- Sky - catppuccin9 = "#A3B9EF", -- Blue - catppuccin18 = "#C9CBFF", -- Lavender - catppuccin10 = "#DFDEF1", -- White - catppuccin15 = "#C3BAC6", -- Gray2 - catppuccin17 = "#988BA2", -- Gray1 - catppuccin11 = "#6E6C7E", -- Gray0 - catppuccin12 = "#575268", -- Black4 - catppuccin16 = "#332E41", -- Black3 - catppuccin1 = "#1E1E28", -- Black2 - catppuccin14 = "#1B1923", -- Black1 - catppuccin13 = "#15121C", -- Black0 + rosewater = "#F5E0DC", -- Rosewater + flamingo = "#F2CDCD", -- Flamingo + magenta = "#C6AAE8", -- Magenta + pink = "#E5B4E2", -- Pink + red = "#E38C8F", -- Red + maroon = "#E49CB3", -- Maroon + peach = "#F7BE95", -- Peach + yellow = "#ECDDAA", -- Yellow + green = "#B1E1A6", -- Green + teal = "#B7E5E6", -- Teal + sky = "#92D2E8", -- Sky + blue = "#A3B9EF", -- Blue + lavender = "#C9CBFF", -- Lavender + white = "#DFDEF1", -- White + gray2 = "#C3BAC6", -- Gray2 + gray1 = "#988BA2", -- Gray1 + gray0 = "#6E6C7E", -- Gray0 + black4 = "#575268", -- Black4 + black3 = "#332E41", -- Black3 + black2 = "#1E1E28", -- Black2 + black1 = "#1B1923", -- Black1 + black0 = "#15121C", -- Black0 } return color_palette diff --git a/lua/catppuccin/core/integrations/barbar.lua b/lua/catppuccin/core/integrations/barbar.lua index 7d0549b..3304ad1 100644 --- a/lua/catppuccin/core/integrations/barbar.lua +++ b/lua/catppuccin/core/integrations/barbar.lua @@ -2,23 +2,23 @@ local M = {} function M.get(cp) return { - BufferCurrent = { bg = cp.catppuccin12, fg = cp.catppuccin10 }, - BufferCurrentIndex = { bg = cp.catppuccin12, fg = cp.catppuccin9 }, - BufferCurrentMod = { bg = cp.catppuccin12, fg = cp.catppuccin8 }, - BufferCurrentSign = { bg = cp.catppuccin12, fg = cp.catppuccin9 }, - BufferCurrentTarget = { bg = cp.catppuccin12, fg = cp.catppuccin5 }, - BufferVisible = { bg = cp.catppuccin14, fg = cp.catppuccin10 }, - BufferVisibleIndex = { bg = cp.catppuccin14, fg = cp.catppuccin9 }, - BufferVisibleMod = { bg = cp.catppuccin14, fg = cp.catppuccin8 }, - BufferVisibleSign = { bg = cp.catppuccin14, fg = cp.catppuccin9 }, - BufferVisibleTarget = { bg = cp.catppuccin14, fg = cp.catppuccin5 }, - BufferInactive = { bg = cp.catppuccin14, fg = cp.catppuccin11 }, - BufferInactiveIndex = { bg = cp.catppuccin14, fg = cp.catppuccin11 }, - BufferInactiveMod = { bg = cp.catppuccin14, fg = cp.catppuccin8 }, - BufferInactiveSign = { bg = cp.catppuccin14, fg = cp.catppuccin9 }, - BufferInactiveTarget = { bg = cp.catppuccin14, fg = cp.catppuccin5 }, - BufferTabpages = { bg = cp.catppuccin14, fg = cp.none }, - BufferTabpage = { bg = cp.catppuccin14, fg = cp.catppuccin9 }, + BufferCurrent = { bg = cp.black4, fg = cp.white }, + BufferCurrentIndex = { bg = cp.black4, fg = cp.blue }, + BufferCurrentMod = { bg = cp.black4, fg = cp.yellow }, + BufferCurrentSign = { bg = cp.black4, fg = cp.blue }, + BufferCurrentTarget = { bg = cp.black4, fg = cp.red }, + BufferVisible = { bg = cp.black1, fg = cp.white }, + BufferVisibleIndex = { bg = cp.black1, fg = cp.blue }, + BufferVisibleMod = { bg = cp.black1, fg = cp.yellow }, + BufferVisibleSign = { bg = cp.black1, fg = cp.blue }, + BufferVisibleTarget = { bg = cp.black1, fg = cp.red }, + BufferInactive = { bg = cp.black1, fg = cp.gray0 }, + BufferInactiveIndex = { bg = cp.black1, fg = cp.gray0 }, + BufferInactiveMod = { bg = cp.black1, fg = cp.yellow }, + BufferInactiveSign = { bg = cp.black1, fg = cp.blue }, + BufferInactiveTarget = { bg = cp.black1, fg = cp.red }, + BufferTabpages = { bg = cp.black1, fg = cp.none }, + BufferTabpage = { bg = cp.black1, fg = cp.blue }, } end diff --git a/lua/catppuccin/core/integrations/bufferline.lua b/lua/catppuccin/core/integrations/bufferline.lua index 96ba6b2..ce86eb2 100644 --- a/lua/catppuccin/core/integrations/bufferline.lua +++ b/lua/catppuccin/core/integrations/bufferline.lua @@ -2,25 +2,25 @@ local M = {} function M.get(cp) - local inactive_bg = cp.catppuccin14 + local inactive_bg = cp.black1 return { - BufferLineFill = { bg = cp.catppuccin13 }, - BufferLineBackground = { fg = cp.catppuccin10, bg = inactive_bg }, -- others - BufferLineBufferVisible = { fg = cp.catppuccin12, bg = inactive_bg }, - BufferLineBufferSelected = { fg = cp.catppuccin10, bg = cp.catppuccin1, style = "bold,italic" }, -- current - BufferLineTab = { fg = cp.catppuccin12, bg = cp.catppuccin1 }, - BufferLineTabSelected = { fg = cp.catppuccin5, bg = cp.catppuccin9 }, - BufferLineTabClose = { fg = cp.catppuccin5, bg = inactive_bg }, - BufferLineIndicatorSelected = { fg = cp.catppuccin6, bg = cp.catppuccin1 }, + BufferLineFill = { bg = cp.black0 }, + BufferLineBackground = { fg = cp.white, bg = inactive_bg }, -- others + BufferLineBufferVisible = { fg = cp.black4, bg = inactive_bg }, + BufferLineBufferSelected = { fg = cp.white, bg = cp.black2, style = "bold,italic" }, -- current + BufferLineTab = { fg = cp.black4, bg = cp.black2 }, + BufferLineTabSelected = { fg = cp.red, bg = cp.blue }, + BufferLineTabClose = { fg = cp.red, bg = inactive_bg }, + BufferLineIndicatorSelected = { fg = cp.peach, bg = cp.black2 }, -- separators BufferLineSeparator = { fg = inactive_bg, bg = inactive_bg }, BufferLineSeparatorVisible = { fg = inactive_bg, bg = inactive_bg }, BufferLineSeparatorSelected = { fg = inactive_bg, bg = inactive_bg }, -- close buttons - BufferLineCloseButton = { fg = cp.catppuccin12, bg = inactive_bg }, - BufferLineCloseButtonVisible = { fg = cp.catppuccin12, bg = inactive_bg }, - BufferLineCloseButtonSelected = { fg = cp.catppuccin5, bg = cp.catppuccin1 }, + BufferLineCloseButton = { fg = cp.black4, bg = inactive_bg }, + BufferLineCloseButtonVisible = { fg = cp.black4, bg = inactive_bg }, + BufferLineCloseButtonSelected = { fg = cp.red, bg = cp.black2 }, } end diff --git a/lua/catppuccin/core/integrations/cmp.lua b/lua/catppuccin/core/integrations/cmp.lua index 2a6f4ee..f734f88 100644 --- a/lua/catppuccin/core/integrations/cmp.lua +++ b/lua/catppuccin/core/integrations/cmp.lua @@ -2,39 +2,39 @@ local M = {} function M.get(cp) return { - CmpItemAbbr = { fg = cp.catppuccin15 }, - CmpItemAbbrDeprecated = { fg = cp.catppuccin11, stlye = "strikethrough" }, - CmpItemKind = { fg = cp.catppuccin9 }, - CmpItemMenu = { fg = cp.catppuccin10 }, - CmpItemAbbrMatch = { fg = cp.catppuccin10, style = "bold" }, - CmpItemAbbrMatchFuzzy = { fg = cp.catppuccin10, style = "bold" }, + CmpItemAbbr = { fg = cp.gray2 }, + CmpItemAbbrDeprecated = { fg = cp.gray0, stlye = "strikethrough" }, + CmpItemKind = { fg = cp.blue }, + CmpItemMenu = { fg = cp.white }, + CmpItemAbbrMatch = { fg = cp.white, style = "bold" }, + CmpItemAbbrMatchFuzzy = { fg = cp.white, style = "bold" }, -- kind support - CmpItemKindSnippet = { fg = cp.catppuccin3 }, - CmpItemKindKeyword = { fg = cp.catppuccin5 }, - CmpItemKindText = { fg = cp.catppuccin7 }, - CmpItemKindMethod = { fg = cp.catppuccin9 }, - CmpItemKindConstructor = { fg = cp.catppuccin9 }, - CmpItemKindFunction = { fg = cp.catppuccin9 }, - CmpItemKindFolder = { fg = cp.catppuccin9 }, - CmpItemKindModule = { fg = cp.catppuccin9 }, - CmpItemKindConstant = { fg = cp.catppuccin6 }, - CmpItemKindField = { fg = cp.catppuccin0 }, - CmpItemKindProperty = { fg = cp.catppuccin0 }, - CmpItemKindEnum = { fg = cp.catppuccin0 }, - CmpItemKindUnit = { fg = cp.catppuccin0 }, - CmpItemKindClass = { fg = cp.catppuccin8 }, - CmpItemKindVariable = { fg = cp.catppuccin2 }, - CmpItemKindFile = { fg = cp.catppuccin9 }, - CmpItemKindInterface = { fg = cp.catppuccin8 }, - CmpItemKindColor = { fg = cp.catppuccin5 }, - CmpItemKindReference = { fg = cp.catppuccin5 }, - CmpItemKindEnumMember = { fg = cp.catppuccin5 }, - CmpItemKindStruct = { fg = cp.catppuccin9 }, - CmpItemKindValue = { fg = cp.catppuccin6 }, - CmpItemKindEvent = { fg = cp.catppuccin9 }, - CmpItemKindOperator = { fg = cp.catppuccin9 }, - CmpItemKindTypeParameter = { fg = cp.catppuccin9 }, + CmpItemKindSnippet = { fg = cp.magenta }, + CmpItemKindKeyword = { fg = cp.red }, + CmpItemKindText = { fg = cp.teal }, + CmpItemKindMethod = { fg = cp.blue }, + CmpItemKindConstructor = { fg = cp.blue }, + CmpItemKindFunction = { fg = cp.blue }, + CmpItemKindFolder = { fg = cp.blue }, + CmpItemKindModule = { fg = cp.blue }, + CmpItemKindConstant = { fg = cp.peach }, + CmpItemKindField = { fg = cp.green }, + CmpItemKindProperty = { fg = cp.green }, + CmpItemKindEnum = { fg = cp.green }, + CmpItemKindUnit = { fg = cp.green }, + CmpItemKindClass = { fg = cp.yellow }, + CmpItemKindVariable = { fg = cp.flamingo }, + CmpItemKindFile = { fg = cp.blue }, + CmpItemKindInterface = { fg = cp.yellow }, + CmpItemKindColor = { fg = cp.red }, + CmpItemKindReference = { fg = cp.red }, + CmpItemKindEnumMember = { fg = cp.red }, + CmpItemKindStruct = { fg = cp.blue }, + CmpItemKindValue = { fg = cp.peach }, + CmpItemKindEvent = { fg = cp.blue }, + CmpItemKindOperator = { fg = cp.blue }, + CmpItemKindTypeParameter = { fg = cp.blue }, } end diff --git a/lua/catppuccin/core/integrations/dashboard.lua b/lua/catppuccin/core/integrations/dashboard.lua index 829edc0..4620800 100644 --- a/lua/catppuccin/core/integrations/dashboard.lua +++ b/lua/catppuccin/core/integrations/dashboard.lua @@ -2,10 +2,10 @@ local M = {} function M.get(cp) return { - DashboardShortCut = { fg = cp.catppuccin4 }, - DashboardHeader = { fg = cp.catppuccin9 }, - DashboardCenter = { fg = cp.catppuccin0 }, - DashboardFooter = { fg = cp.catppuccin8, style = "italic" }, + DashboardShortCut = { fg = cp.pink }, + DashboardHeader = { fg = cp.blue }, + DashboardCenter = { fg = cp.green }, + DashboardFooter = { fg = cp.yellow, style = "italic" }, } end diff --git a/lua/catppuccin/core/integrations/feline.lua b/lua/catppuccin/core/integrations/feline.lua new file mode 100644 index 0000000..46e69e6 --- /dev/null +++ b/lua/catppuccin/core/integrations/feline.lua @@ -0,0 +1,432 @@ +local lsp = require("feline.providers.lsp") +local lsp_severity = vim.diagnostic.severity +local b = vim.b + +local assets = { + left_semicircle = "", + right_semicircle = "", + right_semicircle_cut = "", + left_semicircle_cut = "", + vertical_bar_chubby = "█", + vertical_bar_medium = "┃", + vertical_bar_thin = "│", + left_arrow_thin = "", + right_arrow_thin = "", + left_arrow_filled = "", + right_arrow_filled = "", + slant_left = "", + slant_left_thin = "", + slant_right = "", + slant_right_thin = "", + slant_left_2 = "", + slant_left_2_thin = "", + slant_right_2 = "", + slant_right_2_thin = "", + chubby_dot = "●", + slim_dot = '•', +} + +local clrs = require("catppuccin.core.color_palette") + +-- settings +local sett = { + bkg = clrs.black3, + diffs = clrs.magenta, + extras = clrs.gray1, + curr_file = clrs.maroon, + curr_dir = clrs.flamingo, +} + +local mode_colors = { + ["n"] = { "NORMAL", clrs.lavender }, + ["no"] = { "N-PENDING", clrs.lavender }, + ["i"] = { "INSERT", clrs.green }, + ["ic"] = { "INSERT", clrs.green }, + ["t"] = { "TERMINAL", clrs.green }, + ["v"] = { "VISUAL", clrs.flamingo }, + ["V"] = { "V-LINE", clrs.flamingo }, + [""] = { "V-BLOCK", clrs.flamingo }, + ["R"] = { "REPLACE", clrs.maroon }, + ["Rv"] = { "V-REPLACE", clrs.maroon }, + ["s"] = { "SELECT", clrs.maroon }, + ["S"] = { "S-LINE", clrs.maroon }, + [""] = { "S-BLOCK", clrs.maroon }, + ["c"] = { "COMMAND", clrs.peach }, + ["cv"] = { "COMMAND", clrs.peach }, + ["ce"] = { "COMMAND", clrs.peach }, + ["r"] = { "PROMPT", clrs.teal }, + ["rm"] = { "MORE", clrs.teal }, + ["r?"] = { "CONFIRM", clrs.magenta }, + ["!"] = { "SHELL", clrs.green }, +} + +local shortline = false + +-- Initialize the components table +local components = { + active = {}, + inactive = {}, +} + +table.insert(components.active, {}) -- (1) left +table.insert(components.active, {}) -- (2) center +table.insert(components.active, {}) -- (3) right + +-- global components +local invi_sep = { + str = " ", + hl = { + fg = sett.bkg, + bg = sett.bkg + }, +} + +-- helpers +local function any_git_changes() + local gst = b.gitsigns_status_dict -- git stats + if gst then + if gst["added"] and gst["added"] > 0 or gst["removed"] and gst["removed"] > 0 or gst["changed"] and gst["changed"] > 0 then + return true + end + end + return false +end + + +-- #################### STATUSLINE -> + + +-- ######## Left + +-- Current vi mode ------> +local vi_mode_hl = function() + return { + fg = sett.bkg, + bg = mode_colors[vim.fn.mode()][2], + style = "bold" + } +end + +components.active[1][1] = { + provider = assets.vertical_bar_chubby, + hl = function() + return { + fg = mode_colors[vim.fn.mode()][2], + bg = sett.bkg, + } + end, +} + +components.active[1][2] = { + provider = "", + hl = function() + return { + fg = sett.bkg, + bg = mode_colors[vim.fn.mode()][2], + } + end, +} + +components.active[1][3] = { + provider = function() + return " " .. mode_colors[vim.fn.mode()][1] .. " " + end, + hl = vi_mode_hl, +} + +-- there is a dilema: we need to hide Diffs if ther is no git info. We can do that, but this will +-- leave the right_semicircle colored with purple, and since we can't change the color conditonally +-- then the solution is to create two right_semicircles: one with a magenta sett.bkg and the other one normal +-- sett.bkg; both have the same fg (vi mode). The magenta one appears if there is git info, else the one with +-- the normal sett.bkg appears. Fixed :) + +-- enable if git diffs are not available +components.active[1][4] = { + provider = assets.right_semicircle, + hl = function() + return { + fg = mode_colors[vim.fn.mode()][2], + bg = sett.bkg + } + end, + enabled = function() + return not any_git_changes() + end +} + +-- enable if git diffs are available +components.active[1][5] = { + provider = assets.right_semicircle, + hl = function() + return { + fg = mode_colors[vim.fn.mode()][2], + bg = sett.diffs + } + end, + enabled = function() + return any_git_changes() + end +} +-- Current vi mode ------> + +-- Diffs ------> +components.active[1][6] = { + provider = "git_diff_added", + hl = { + fg = sett.bkg, + bg = sett.diffs, + }, + icon = "  ", +} + +components.active[1][7] = { + provider = "git_diff_changed", + hl = { + fg = sett.bkg, + bg = sett.diffs, + }, + icon = "  ", +} + +components.active[1][8] = { + provider = "git_diff_removed", + hl = { + fg = sett.bkg, + bg = sett.diffs, + }, + icon = "  ", +} + +components.active[1][9] = { + provider = assets.right_semicircle, + hl = { + fg = sett.diffs, + bg = sett.bkg, + }, + enabled = function() + return any_git_changes() + end +} +-- Diffs ------> + +-- Extras ------> + +-- file progess +components.active[1][10] = { + provider = function() + local current_line = vim.fn.line(".") + local total_line = vim.fn.line("$") + + if current_line == 1 then + return " Top " + elseif current_line == vim.fn.line("$") then + return " Bot " + end + local result, _ = math.modf((current_line / total_line) * 100) + return " " .. result .. "%% " + end, + -- enabled = shortline or function(winid) + -- return vim.api.nvim_win_get_width(winid) > 90 + -- end, + hl = { + fg = sett.extras, + bg = sett.bkg + }, + left_sep = invi_sep, +} + +-- position +components.active[1][11] = { + provider = "position", + -- enabled = shortline or function(winid) + -- return vim.api.nvim_win_get_width(winid) > 90 + -- end, + hl = { + fg = sett.extras, + bg = sett.bkg + }, + left_sep = invi_sep, +} +-- Extras ------> + +-- ######## Left + +-- ######## Center + +-- Diagnostics ------> +-- workspace loader +components.active[2][1] = { + provider = function() + local Lsp = vim.lsp.util.get_progress_messages()[1] + + if Lsp then + local msg = Lsp.message or "" + local percentage = Lsp.percentage or 0 + local title = Lsp.title or "" + local spinners = { + "", + "", + "", + } + local success_icon = { + "", + "", + "", + } + local ms = vim.loop.hrtime() / 1000000 + local frame = math.floor(ms / 120) % #spinners + + if percentage >= 70 then + return string.format(" %%<%s %s %s (%s%%%%) ", success_icon[frame + 1], title, msg, percentage) + end + + return string.format(" %%<%s %s %s (%s%%%%) ", spinners[frame + 1], title, msg, percentage) + end + + return "" + end, + enabled = shortline or function(winid) + return vim.api.nvim_win_get_width(winid) > 80 + end, + hl = { + fg = clrs.rosewater, + bg = sett.bkg + }, +} + +-- genral diagnostics (errors, warnings. info and hints) +components.active[2][2] = { + provider = "diagnostic_errors", + enabled = function() + return lsp.diagnostics_exist(lsp_severity.ERROR) + end, + + hl = { + fg = clrs.red, + bg = sett.bkg, + }, + icon = "  ", +} + +components.active[2][3] = { + provider = "diagnostic_warnings", + enabled = function() + return lsp.diagnostics_exist(lsp_severity.WARN) + end, + hl = { + fg = clrs.yellow, + bg = sett.bkg, + }, + icon = "  ", +} + +components.active[2][4] = { + provider = "diagnostic_info", + enabled = function() + return lsp.diagnostics_exist(lsp_severity.INFO) + end, + hl = { + fg = clrs.sky, + bg = sett.bkg, + }, + icon = "  ", +} + +components.active[2][5] = { + provider = "diagnostic_hints", + enabled = function() + return lsp.diagnostics_exist(lsp_severity.HINT) + end, + hl = { + fg = clrs.rosewater, + bg = sett.bkg, + }, + icon = "  ", +} +-- Diagnostics ------> + +-- ######## Center + +-- ######## Right + +components.active[3][1] = { + provider = "git_branch", + enabled = shortline or function(winid) + return vim.api.nvim_win_get_width(winid) > 70 + end, + hl = { + fg = sett.extras, + bg = sett.bkg + }, + icon = "  ", + left_sep = invi_sep, + right_sep = invi_sep, +} + +components.active[3][2] = { + provider = function() + if next(vim.lsp.buf_get_clients()) ~= nil then + return " " + else + return "" + end + end, + hl = { + fg = sett.extras, + bg = sett.bkg + }, + right_sep = invi_sep, +} + +components.active[3][3] = { + provider = function() + local filename = vim.fn.expand("%:t") + local extension = vim.fn.expand("%:e") + local icon = require("nvim-web-devicons").get_icon(filename, extension) + if icon == nil then + icon = "  " + return icon + end + return " " .. icon .. " " .. filename .. " " + end, + enabled = shortline or function(winid) + return vim.api.nvim_win_get_width(winid) > 70 + end, + hl = { + fg = sett.bkg, + bg = sett.curr_file, + }, + left_sep = { + str = assets.left_semicircle, + hl = { + fg = sett.curr_file, + bg = sett.bkg, + }, + }, +} + +components.active[3][4] = { + provider = function() + local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t") + return "  " .. dir_name .. " " + end, + + enabled = shortline or function(winid) + return vim.api.nvim_win_get_width(winid) > 80 + end, + + hl = { + fg = sett.bkg, + bg = sett.curr_dir, + }, + left_sep = { + str = assets.left_semicircle, + hl = { + fg = sett.curr_dir, + bg = sett.curr_file, + }, + }, +} +-- ######## Right + +return components diff --git a/lua/catppuccin/core/integrations/fern.lua b/lua/catppuccin/core/integrations/fern.lua index ebda1dd..1f8b741 100644 --- a/lua/catppuccin/core/integrations/fern.lua +++ b/lua/catppuccin/core/integrations/fern.lua @@ -2,7 +2,7 @@ local M = {} function M.get(cp) return { - FernBranchText = { fg = cp.catppuccin9 }, + FernBranchText = { fg = cp.blue }, } end diff --git a/lua/catppuccin/core/integrations/gitgutter.lua b/lua/catppuccin/core/integrations/gitgutter.lua index 3293e3a..6c9f041 100644 --- a/lua/catppuccin/core/integrations/gitgutter.lua +++ b/lua/catppuccin/core/integrations/gitgutter.lua @@ -2,9 +2,9 @@ local M = {} function M.get(cp) return { - GitGutterAdd = { fg = cp.catppuccin9 }, - GitGutterChange = { fg = cp.catppuccin8 }, - GitGutterDelete = { fg = cp.catppuccin5 }, + GitGutterAdd = { fg = cp.blue }, + GitGutterChange = { fg = cp.yellow }, + GitGutterDelete = { fg = cp.red }, } end return M diff --git a/lua/catppuccin/core/integrations/gitsigns.lua b/lua/catppuccin/core/integrations/gitsigns.lua index 0c70560..96fd5ff 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.catppuccin0, bg = cnf.transparency and cp.none or cp.catppuccin1 }, -- diff mode: Added line |diff.txt| - GitSignsChange = { fg = cp.catppuccin8, bg = cnf.transparency and cp.none or cp.catppuccin1 }, -- diff mode: Changed line |diff.txt| - GitSignsDelete = { fg = cp.catppuccin5, bg = cnf.transparency and cp.none or cp.catppuccin1 }, -- diff mode: Deleted line |diff.txt| + GitSignsAdd = { fg = cp.green, bg = cnf.transparency and cp.none or cp.black2 }, -- diff mode: Added line |diff.txt| + GitSignsChange = { fg = cp.yellow, bg = cnf.transparency and cp.none or cp.black2 }, -- diff mode: Changed line |diff.txt| + GitSignsDelete = { fg = cp.red, bg = cnf.transparency and cp.none or cp.black2 }, -- diff mode: Deleted line |diff.txt| } end diff --git a/lua/catppuccin/core/integrations/hop.lua b/lua/catppuccin/core/integrations/hop.lua index 06824ea..102050c 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.catppuccin1, fg = cp.catppuccin6, style = "bold,underline" }, - HopNextKey1 = { bg = cp.catppuccin1, fg = cp.catppuccin9, style = "bold" }, - HopNextKey2 = { bg = cp.catppuccin1, fg = cp.catppuccin7, style = "bold,italic" }, - HopUnmatched = { bg = cp.catppuccin1, fg = cp.catppuccin11 }, + HopNextKey = { bg = cp.black2, fg = cp.peach, style = "bold,underline" }, + HopNextKey1 = { bg = cp.black2, fg = cp.blue, style = "bold" }, + HopNextKey2 = { bg = cp.black2, fg = cp.teal, style = "bold,italic" }, + HopUnmatched = { bg = cp.black2, fg = cp.gray0 }, } end diff --git a/lua/catppuccin/core/integrations/indent_blankline.lua b/lua/catppuccin/core/integrations/indent_blankline.lua index ab276bc..df43707 100644 --- a/lua/catppuccin/core/integrations/indent_blankline.lua +++ b/lua/catppuccin/core/integrations/indent_blankline.lua @@ -3,17 +3,17 @@ local M = {} function M.get(cp) local hi = { - IndentBlanklineChar = { fg = cp.catppuccin16 }, - IndentBlanklineContextChar = { fg = cp.catppuccin10 }, + IndentBlanklineChar = { fg = cp.black3 }, + IndentBlanklineContextChar = { fg = cp.white }, } if cnf.integrations.indent_blankline.colored_indent_levels then - hi["IndentBlanklineIndent6"] = {blend = "nocombine", fg = cp.catppuccin8} - hi["IndentBlanklineIndent5"] = {blend = "nocombine", fg = cp.catppuccin5} - hi["IndentBlanklineIndent4"] = {blend = "nocombine", fg = cp.catppuccin7} - hi["IndentBlanklineIndent3"] = {blend = "nocombine", fg = cp.catppuccin6} - hi["IndentBlanklineIndent2"] = {blend = "nocombine", fg = cp.catppuccin9} - hi["IndentBlanklineIndent1"] = {blend = "nocombine", fg = cp.catppuccin4} + hi["IndentBlanklineIndent6"] = {blend = "nocombine", fg = cp.yellow} + hi["IndentBlanklineIndent5"] = {blend = "nocombine", fg = cp.red} + hi["IndentBlanklineIndent4"] = {blend = "nocombine", fg = cp.teal} + hi["IndentBlanklineIndent3"] = {blend = "nocombine", fg = cp.peach} + hi["IndentBlanklineIndent2"] = {blend = "nocombine", fg = cp.blue} + hi["IndentBlanklineIndent1"] = {blend = "nocombine", fg = cp.pink} end return hi diff --git a/lua/catppuccin/core/integrations/lightspeed.lua b/lua/catppuccin/core/integrations/lightspeed.lua index ebe0ac4..108c2e7 100644 --- a/lua/catppuccin/core/integrations/lightspeed.lua +++ b/lua/catppuccin/core/integrations/lightspeed.lua @@ -1,18 +1,18 @@ local M = {} -local is_prepacatppuccin5 +local is_prepared -local function set_prepacatppuccin5(val) - is_prepacatppuccin5 = val +local function set_prepared(val) + is_prepared = val end -local function get_prepacatppuccin5() - return is_prepacatppuccin5 +local function get_prepared() + return is_prepared end function M.get(cp) - if not get_prepacatppuccin5() then + if not get_prepared() then local catppuccin = require("catppuccin") if catppuccin.after_loading ~= nil then catppuccin.after_loading = function () @@ -24,24 +24,24 @@ function M.get(cp) require'lightspeed'.init_highlight() end end - set_prepacatppuccin5(true) + set_prepared(true) end return { - LightspeedLabel = {bg = cp.catppuccin12, fg = cp.catppuccin10}, - LightspeedOverlapped = {bg = cp.catppuccin12, fg = cp.catppuccin10}, - LightspeedLabelDistant = {bg = cp.catppuccin3, fg = cp.catppuccin10}, - LightspeedLabelDistantOverlapped = {bg = cp.catppuccin3, fg = cp.catppuccin10}, - LightspeedShortcut = {bg = cp.catppuccin1, fg = cp.catppuccin6, style = "italic"}, - LightspeedShortcutOverlapped = {bg = cp.catppuccin1, fg = cp.catppuccin6, style = "bold"}, - LightspeedMaskedChar = {bg = cp.catppuccin1, fg = cp.catppuccin5, style = "undercurl"}, - LightspeedGreyWash = {bg = cp.catppuccin1, fg = cp.catppuccin11}, - LightspeedUnlabeledMatch = {bg = cp.catppuccin1, fg = cp.catppuccin5, style = "underline"}, - LightspeedOneCharMatch = {bg = cp.catppuccin1, fg = cp.catppuccin5, style = "underline"}, - LightspeedUniqueChar = {bg = cp.catppuccin1, fg = cp.catppuccin0, style = "strikethrough"}, - LightspeedPendingOpArea = {bg = cp.catppuccin1, fg = cp.catppuccin0, style = "strikethrough"}, - LightspeedPendingChangeOpArea = {bg = cp.catppuccin1, fg = cp.catppuccin0, style = "strikethrough"}, - LightspeedCursor = {fg = cp.catppuccin1, bg = cp.catppuccin10}, + LightspeedLabel = {bg = cp.black4, fg = cp.white}, + LightspeedOverlapped = {bg = cp.black4, fg = cp.white}, + LightspeedLabelDistant = {bg = cp.magenta, fg = cp.white}, + LightspeedLabelDistantOverlapped = {bg = cp.magenta, fg = cp.white}, + LightspeedShortcut = {bg = cp.black2, fg = cp.peach, style = "italic"}, + LightspeedShortcutOverlapped = {bg = cp.black2, fg = cp.peach, style = "bold"}, + LightspeedMaskedChar = {bg = cp.black2, fg = cp.red, style = "undercurl"}, + LightspeedGreyWash = {bg = cp.black2, fg = cp.gray0}, + LightspeedUnlabeledMatch = {bg = cp.black2, fg = cp.red, style = "underline"}, + LightspeedOneCharMatch = {bg = cp.black2, fg = cp.red, style = "underline"}, + LightspeedUniqueChar = {bg = cp.black2, fg = cp.green, style = "strikethrough"}, + LightspeedPendingOpArea = {bg = cp.black2, fg = cp.green, style = "strikethrough"}, + LightspeedPendingChangeOpArea = {bg = cp.black2, fg = cp.green, style = "strikethrough"}, + LightspeedCursor = {fg = cp.black2, bg = cp.white}, } end diff --git a/lua/catppuccin/core/integrations/lsp_saga.lua b/lua/catppuccin/core/integrations/lsp_saga.lua index e3f2dd8..b32cf43 100644 --- a/lua/catppuccin/core/integrations/lsp_saga.lua +++ b/lua/catppuccin/core/integrations/lsp_saga.lua @@ -2,26 +2,26 @@ local M = {} function M.get(cp) return { - DiagnosticError = { fg = cp.catppuccin5 }, - DiagnosticWarning = { fg = cp.catppuccin8 }, - DiagnosticInformation = { fg = cp.catppuccin9 }, + DiagnosticError = { fg = cp.red }, + DiagnosticWarning = { fg = cp.yellow }, + DiagnosticInformation = { fg = cp.blue }, DiagnosticHint = { fg = cp.hint }, - LspFloatWinNormal = { bg = cp.catppuccin13 }, - LspFloatWinBorder = { fg = cp.catppuccin9 }, - LspSagaBorderTitle = { fg = cp.catppuccin2 }, - LspSagaHoverBorder = { fg = cp.catppuccin9 }, - LspSagaRenameBorder = { fg = cp.catppuccin7 }, - LspSagaDefPreviewBorder = { fg = cp.catppuccin7 }, - LspSagaCodeActionBorder = { fg = cp.catppuccin9 }, - LspSagaFinderSelection = { fg = cp.catppuccin12 }, - LspSagaCodeActionTitle = { fg = cp.catppuccin91 }, + LspFloatWinNormal = { bg = cp.black0 }, + LspFloatWinBorder = { fg = cp.blue }, + LspSagaBorderTitle = { fg = cp.flamingo }, + LspSagaHoverBorder = { fg = cp.blue }, + LspSagaRenameBorder = { fg = cp.teal }, + LspSagaDefPreviewBorder = { fg = cp.teal }, + LspSagaCodeActionBorder = { fg = cp.blue }, + LspSagaFinderSelection = { fg = cp.black4 }, + LspSagaCodeActionTitle = { fg = cp.blue1 }, LspSagaCodeActionContent = { fg = cp.purple }, - LspSagaSignatureHelpBorder = { fg = cp.catppuccin5 }, + LspSagaSignatureHelpBorder = { fg = cp.red }, ReferencesCount = { fg = cp.purple }, DefinitionCount = { fg = cp.purple }, - DefinitionIcon = { fg = cp.catppuccin9 }, - ReferencesIcon = { fg = cp.catppuccin9 }, - TargetWord = { fg = cp.catppuccin2 }, + DefinitionIcon = { fg = cp.blue }, + ReferencesIcon = { fg = cp.blue }, + TargetWord = { fg = cp.flamingo }, } end return M diff --git a/lua/catppuccin/core/integrations/lsp_trouble.lua b/lua/catppuccin/core/integrations/lsp_trouble.lua index 41f49ef..3f3e4c5 100644 --- a/lua/catppuccin/core/integrations/lsp_trouble.lua +++ b/lua/catppuccin/core/integrations/lsp_trouble.lua @@ -2,9 +2,9 @@ local M = {} function M.get(cp) return { - LspTroubleText = { fg = cp.catppuccin0 }, - LspTroubleCount = { fg = cp.catppuccin4, bg = cp.catppuccin12 }, - LspTroubleNormal = { fg = cp.catppuccin10, bg = cp.catppuccin13 }, + LspTroubleText = { fg = cp.green }, + LspTroubleCount = { fg = cp.pink, bg = cp.black4 }, + LspTroubleNormal = { fg = cp.white, bg = cp.black0 }, } end diff --git a/lua/catppuccin/core/integrations/markdown.lua b/lua/catppuccin/core/integrations/markdown.lua index 827170e..592c8d8 100644 --- a/lua/catppuccin/core/integrations/markdown.lua +++ b/lua/catppuccin/core/integrations/markdown.lua @@ -2,12 +2,12 @@ local M = {} function M.get(cp) return { - markdownHeadingDelimiter = { fg = cp.catppuccin6, style = "bold" }, - markdownCode = { fg = cp.catppuccin2 }, - markdownCodeBlock = { fg = cp.catppuccin2 }, - markdownH1 = { fg = cp.catppuccin4, style = "bold" }, - markdownH2 = { fg = cp.catppuccin9, style = "bold" }, - markdownLinkText = { fg = cp.catppuccin9, style = "underline" }, + markdownHeadingDelimiter = { fg = cp.peach, style = "bold" }, + markdownCode = { fg = cp.flamingo }, + markdownCodeBlock = { fg = cp.flamingo }, + markdownH1 = { fg = cp.pink, style = "bold" }, + markdownH2 = { fg = cp.blue, style = "bold" }, + markdownLinkText = { fg = cp.blue, style = "underline" }, } end diff --git a/lua/catppuccin/core/integrations/native_lsp.lua b/lua/catppuccin/core/integrations/native_lsp.lua index 40f0dca..983756d 100644 --- a/lua/catppuccin/core/integrations/native_lsp.lua +++ b/lua/catppuccin/core/integrations/native_lsp.lua @@ -5,48 +5,53 @@ function M.get(cp) local virtual_text = cnf.integrations.native_lsp.virtual_text local underlines = cnf.integrations.native_lsp.underlines + local error = cp.red + local warning = cp.yellow + local info = cp.sky + local hint = cp.rosewater + return { -- 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.catppuccin12 }, -- used for highlighting "text" references - LspReferenceRead = { bg = cp.catppuccin12 }, -- used for highlighting "read" references - LspReferenceWrite = { bg = cp.catppuccin12 }, -- used for highlighting "write" references + 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 -- hightlight diagnostics in numberline - DiagnosticError = { fg = cp.catppuccin5, style = virtual_text.errors }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default - DiagnosticWarn = { fg = cp.catppuccin8, style = virtual_text.warnings }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default - DiagnosticInfo = { fg = cp.catppuccin9, style = virtual_text.information }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default - DiagnosticHint = { fg = cp.catppuccin0, style = virtual_text.hints }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default + 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 -- for nvim nightly - DiagnosticUnderlineError = { style = underlines.errors, sp = cp.catppuccin5 }, - DiagnosticUnderlineWarn = { style = underlines.warnings, sp = cp.catppuccin8 }, - DiagnosticUnderlineInfo = { style = underlines.information, sp = cp.catppuccin9 }, - DiagnosticUnderlineHint = { style = underlines.hints, sp = cp.catppuccin0 }, - - LspDiagnosticsDefaultError = { fg = cp.catppuccin5 }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline) - LspDiagnosticsDefaultWarning = { fg = cp.catppuccin8 }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline) - LspDiagnosticsDefaultInformation = { fg = cp.catppuccin9 }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline) - LspDiagnosticsDefaultHint = { fg = cp.catppuccin0 }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline) - LspSignatureActiveParameter = { fg = cp.catppuccin6 }, + DiagnosticUnderlineError = { style = underlines.errors, sp = error }, + DiagnosticUnderlineWarn = { style = underlines.warnings, sp = warning }, + 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) + LspSignatureActiveParameter = { fg = cp.peach }, -- LspDiagnosticsFloatingError = { }, -- Used to color "Error" diagnostic messages in diagnostics float -- LspDiagnosticsFloatingWarning = { }, -- Used to color "Warning" diagnostic messages in diagnostics float -- LspDiagnosticsFloatingInformation = { }, -- Used to color "Information" diagnostic messages in diagnostics float -- LspDiagnosticsFloatingHint = { }, -- Used to color "Hint" diagnostic messages in diagnostics float - LspDiagnosticsError = { fg = cp.catppuccin5 }, - LspDiagnosticsWarning = { fg = cp.catppuccin8 }, - LspDiagnosticsInformation = { fg = cp.catppuccin9 }, - LspDiagnosticsHint = { fg = cp.catppuccin0 }, - LspDiagnosticsVirtualTextError = { fg = cp.catppuccin5, style = virtual_text.errors }, -- Used for "Error" diagnostic virtual text - LspDiagnosticsVirtualTextWarning = { fg = cp.catppuccin8, style = virtual_text.warnings }, -- Used for "Warning" diagnostic virtual text - LspDiagnosticsVirtualTextInformation = { fg = cp.catppuccin9, style = virtual_text.warnings }, -- Used for "Information" diagnostic virtual text - LspDiagnosticsVirtualTextHint = { fg = cp.catppuccin0, style = virtual_text.hints }, -- Used for "Hint" diagnostic virtual text - LspDiagnosticsUnderlineError = { style = underlines.errors, sp = cp.catppuccin5 }, -- Used to underline "Error" diagnostics - LspDiagnosticsUnderlineWarning = { style = underlines.warnings, sp = cp.catppuccin8 }, -- Used to underline "Warning" diagnostics - LspDiagnosticsUnderlineInformation = { style = underlines.information, sp = cp.catppuccin9 }, -- Used to underline "Information" diagnostics - LspDiagnosticsUnderlineHint = { style = underlines.hints, sp = cp.catppuccin0 }, -- Used to underline "Hint" diagnostics - LspCodeLens = { fg = cp.catppuccin11 }, -- virtual text of the codelens + LspDiagnosticsError = { fg = error }, + LspDiagnosticsWarning = { fg = warning }, + LspDiagnosticsInformation = { fg = info }, + LspDiagnosticsHint = { fg = hint }, + LspDiagnosticsVirtualTextError = { fg = error, style = virtual_text.errors }, -- Used for "Error" diagnostic virtual text + LspDiagnosticsVirtualTextWarning = { fg = warning, style = virtual_text.warnings }, -- Used for "Warning" diagnostic virtual text + LspDiagnosticsVirtualTextInformation = { fg = info, style = virtual_text.warnings }, -- Used for "Information" diagnostic virtual text + LspDiagnosticsVirtualTextHint = { fg = hint, style = virtual_text.hints }, -- Used for "Hint" diagnostic virtual text + LspDiagnosticsUnderlineError = { style = underlines.errors, sp = error }, -- Used to underline "Error" diagnostics + 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 } end diff --git a/lua/catppuccin/core/integrations/neogit.lua b/lua/catppuccin/core/integrations/neogit.lua index d278bd0..92cd7fe 100644 --- a/lua/catppuccin/core/integrations/neogit.lua +++ b/lua/catppuccin/core/integrations/neogit.lua @@ -2,13 +2,13 @@ local M = {} function M.get(cp) return { - NeogitBranch = { fg = cp.catppuccin4 }, - NeogitRemote = { fg = cp.catppuccin4 }, - NeogitHunkHeader = { bg = cp.catppuccin9, fg = cp.catppuccin10 }, - NeogitHunkHeaderHighlight = { bg = cp.catppuccin12, fg = cp.catppuccin9 }, - NeogitDiffContextHighlight = { bg = cp.catppuccin15, fg = cp.catppuccin0 }, - NeogitDiffDeleteHighlight = { fg = cp.catppuccin5, bg = cp.catppuccin1 }, - NeogitDiffAddHighlight = { fg = cp.catppuccin9, bg = cp.catppuccin1 }, + NeogitBranch = { fg = cp.pink }, + NeogitRemote = { fg = cp.pink }, + NeogitHunkHeader = { bg = cp.blue, fg = cp.white }, + NeogitHunkHeaderHighlight = { bg = cp.black4, fg = cp.blue }, + NeogitDiffContextHighlight = { bg = cp.gray2, fg = cp.green }, + NeogitDiffDeleteHighlight = { fg = cp.red, bg = cp.black2 }, + NeogitDiffAddHighlight = { fg = cp.blue, bg = cp.black2 }, } end diff --git a/lua/catppuccin/core/integrations/nvimtree.lua b/lua/catppuccin/core/integrations/nvimtree.lua index 562d8f9..59d6c8f 100644 --- a/lua/catppuccin/core/integrations/nvimtree.lua +++ b/lua/catppuccin/core/integrations/nvimtree.lua @@ -3,29 +3,29 @@ local M = {} function M.get(cp) local config = require("catppuccin.config").options - local root_dir_color = cp.catppuccin4 + local root_dir_color = cp.pink if config.integrations.nvimtree.show_root then - root_dir_color = cp.catppuccin9 + root_dir_color = cp.blue end return { - NvimTreeFolderName = { fg = cp.catppuccin9 }, - NvimTreeFolderIcon = { fg = cp.catppuccin9 }, - NvimTreeNormal = { fg = cp.catppuccin10, bg = cp.catppuccin14 }, - NvimTreeOpenedFolderName = { fg = cp.catppuccin9 }, - NvimTreeEmptyFolderName = { fg = cp.catppuccin9 }, - NvimTreeIndentMarker = { fg = cp.catppuccin11 }, - NvimTreeVertSplit = { fg = cp.catppuccin1, bg = cp.catppuccin1 }, + NvimTreeFolderName = { fg = cp.blue }, + NvimTreeFolderIcon = { fg = cp.blue }, + NvimTreeNormal = { fg = cp.white, bg = cp.black1 }, + NvimTreeOpenedFolderName = { fg = cp.blue }, + NvimTreeEmptyFolderName = { fg = cp.blue }, + NvimTreeIndentMarker = { fg = cp.gray0 }, + NvimTreeVertSplit = { fg = cp.black2, bg = cp.black2 }, NvimTreeRootFolder = { fg = root_dir_color, style = "bold" }, - NvimTreeSymlink = { fg = cp.catppuccin4 }, - NvimTreeStatuslineNc = { fg = cp.catppuccin14, bg = cp.catppuccin14 }, - NvimTreeGitDirty = { fg = cp.catppuccin8 }, - NvimTreeGitNew = { fg = cp.catppuccin9 }, - NvimTreeGitDeleted = { fg = cp.catppuccin5 }, - NvimTreeSpecialFile = { fg = cp.catppuccin2 }, - NvimTreeImageFile = { fg = cp.catppuccin10 }, - NvimTreeOpenedFile = { fg = cp.catppuccin4 }, + NvimTreeSymlink = { fg = cp.pink }, + NvimTreeStatuslineNc = { fg = cp.black1, bg = cp.black1 }, + NvimTreeGitDirty = { fg = cp.yellow }, + NvimTreeGitNew = { fg = cp.blue }, + NvimTreeGitDeleted = { fg = cp.red }, + NvimTreeSpecialFile = { fg = cp.flamingo }, + NvimTreeImageFile = { fg = cp.white }, + NvimTreeOpenedFile = { fg = cp.pink }, } end diff --git a/lua/catppuccin/core/integrations/telescope.lua b/lua/catppuccin/core/integrations/telescope.lua index cd15d7d..1072dde 100644 --- a/lua/catppuccin/core/integrations/telescope.lua +++ b/lua/catppuccin/core/integrations/telescope.lua @@ -2,10 +2,10 @@ local M = {} function M.get(cp) return { - TelescopeBorder = { fg = cp.catppuccin9 }, - TelescopeSelectionCaret = { fg = cp.catppuccin2 }, - TelescopeSelection = { fg = cp.catppuccin10, bg = cp.catppuccin16, style = "bold" }, - TelescopeMatching = { fg = cp.catppuccin9 }, + TelescopeBorder = { fg = cp.blue }, + TelescopeSelectionCaret = { fg = cp.flamingo }, + TelescopeSelection = { fg = cp.white, bg = cp.black3, style = "bold" }, + TelescopeMatching = { fg = cp.blue }, } end diff --git a/lua/catppuccin/core/integrations/treesitter.lua b/lua/catppuccin/core/integrations/treesitter.lua index bdc447b..864e508 100644 --- a/lua/catppuccin/core/integrations/treesitter.lua +++ b/lua/catppuccin/core/integrations/treesitter.lua @@ -1,71 +1,71 @@ local M = {} function M.get(cp) - local keywords = cp.catppuccin4 - local operators = cp.catppuccin19 - local math_logic = cp.catppuccin18 + local keywords = cp.pink + local operators = cp.maroon + local math_logic = cp.lavender return { -- These groups are for the neovim tree-sitter highlights. -- As of writing, tree-sitter support is a WIP, group names may change. -- By default, most of these groups link to an appropriate Vim group, -- TSError -> Error for example, so you do not have to define these unless -- you explicitly want to support Treesitter's improved syntax awareness. - TSField = { fg = cp.catppuccin2 }, -- For fields. - TSProperty = { fg = cp.catppuccin8, style = "italic" }, -- Same as TSField. - TSInclude = { fg = cp.catppuccin19, style = "italic" }, -- For includes: #include in C, use or extern crate in Rust, or require in Lua. + TSField = { fg = cp.flamingo }, -- For fields. + TSProperty = { fg = cp.yellow, style = "italic" }, -- Same as TSField. + TSInclude = { fg = cp.maroon, style = "italic" }, -- For includes: #include in C, use or extern crate in Rust, or require in Lua. TSOperator = { fg = operators, style = "bold" }, -- For any operator: +, but also -> and * in cp. TSKeywordOperator = { fg = operators, style = "bold" }, -- For new keyword operator - TSPunctSpecial = { fg = cp.catppuccin19, style = "bold" }, -- For special punctutation that does not fall in the catagories before. + TSPunctSpecial = { fg = cp.maroon, style = "bold" }, -- For special punctutation that does not fall in the catagories before. TSFloat = { fg = math_logic, style = "bold,italic" }, -- For floats. TSNumber = { fg = math_logic, style = "bold,italic" }, -- For all numbers TSBoolean = { fg = math_logic, style = "bold,italic" }, -- For booleans. - TSConstructor = { fg = cp.catppuccin20 }, -- For constructor calls and definitions: = { } in Lua, and Java constructors. - TSConstant = { fg = cp.catppuccin6 }, -- For constants + TSConstructor = { fg = cp.sky }, -- For constructor calls and definitions: = { } in Lua, and Java constructors. + TSConstant = { fg = cp.peach }, -- For constants TSConditional = { fg = keywords, style = "bold" }, -- For keywords related to conditionnals. TSRepeat = { fg = keywords, style = "bold" }, -- For keywords related to loops. - TSException = { fg = cp.catppuccin6, style = cnf.styles.keywords }, -- For exception related keywords. + TSException = { fg = cp.peach, style = cnf.styles.keywords }, -- For exception related keywords. -- builtin - TSConstBuiltin = { fg = cp.catppuccin20, style = cnf.styles.keywords }, -- For constant that are built in the language: nil in Lua. - TSFuncBuiltin = { fg = cp.catppuccin6, style = "italic" }, -- For builtin functions: table.insert in Lua. - TSTypeBuiltin = { fg = cp.catppuccin20, style = "italic" }, -- For builtin types. - TSVariableBuiltin = { fg = cp.catppuccin5, style = "italic" }, -- Variable names that are defined by the languages, like this or self. + TSConstBuiltin = { fg = cp.sky, style = cnf.styles.keywords }, -- For constant that are built in the language: nil in Lua. + TSFuncBuiltin = { fg = cp.peach, style = "italic" }, -- For builtin functions: table.insert in Lua. + TSTypeBuiltin = { fg = cp.sky, style = "italic" }, -- For builtin types. + TSVariableBuiltin = { fg = cp.red, style = "italic" }, -- Variable names that are defined by the languages, like this or self. - TSFunction = { fg = cp.catppuccin9, style = cnf.styles.functions }, -- For function (calls and definitions). - TSFuncMacro = { fg = cp.catppuccin5 }, -- For macro defined functions (calls and definitions): each macro_rules in Ruscp. - TSParameter = { fg = cp.catppuccin21, style = "italic" }, -- For parameters of a function. - TSKeywordFunction = { fg = cp.catppuccin4, style = cnf.styles.keywords }, -- For keywords used to define a fuction. + TSFunction = { fg = cp.blue, style = cnf.styles.functions }, -- For function (calls and definitions). + TSFuncMacro = { fg = cp.red }, -- For macro defined functions (calls and definitions): each macro_rules in Ruscp. + TSParameter = { fg = cp.rosewater, style = "italic" }, -- For parameters of a function. + TSKeywordFunction = { fg = cp.pink, style = cnf.styles.keywords }, -- For keywords used to define a fuction. TSKeyword = { fg = keywords, style = cnf.styles.keywords }, -- For keywords that don't fall in previous categories. - TSKeywordReturn = { fg = cp.catppuccin5 }, + TSKeywordReturn = { fg = cp.red }, -- TSAnnotation = { }; -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information. -- TSAttribute = { }; -- (unstable) TODO: docs -- TSCharacter = { }; -- For characters. - -- TScatppuccin11 = { }; -- For catppuccin11 blocks. - TSNote = { fg = cp.catppuccin1, bg = cp.catppuccin9 }, - TSWarning = { fg = cp.catppuccin1, bg = cp.catppuccin8 }, - TSDanger = { fg = cp.catppuccin1, bg = cp.catppuccin5 }, + -- TSgray0 = { }; -- For gray0 blocks. + TSNote = { fg = cp.black2, bg = cp.blue }, + TSWarning = { fg = cp.black2, bg = cp.yellow }, + TSDanger = { fg = cp.black2, bg = cp.red }, -- TSConstMacro = { }; -- For constants that are defined by macros: NULL in cp. - -- TSError = { fg = cp.catppuccin5 }, -- For syntax/parser errors. - -- rustTSField = { fg = cp.catppuccin12 }, -- For fields. - TSLabel = { fg = cp.catppuccin9 }, -- For labels: label: in C and :label: in Lua. - TSMethod = { fg = cp.catppuccin9, style = "italic" }, -- For method calls and definitions. - TSNamespace = { fg = cp.catppuccin2, style = "italic" }, -- For identifiers referring to modules and namespaces. + -- TSError = { fg = cp.red }, -- For syntax/parser errors. + -- rustTSField = { fg = cp.black4 }, -- For fields. + TSLabel = { fg = cp.blue }, -- For labels: label: in C and :label: in Lua. + TSMethod = { fg = cp.blue, style = "italic" }, -- For method calls and definitions. + TSNamespace = { fg = cp.flamingo, style = "italic" }, -- For identifiers referring to modules and namespaces. -- TSNone = { }; -- TODO: docs -- TSParameterReference= { }; -- For references to parameters of a function. - tomlTSProperty = { fg = cp.catppuccin9 }, -- Differentiates between string and properties - TSPunctDelimiter = { fg = cp.catppuccin11 }, -- For delimiters ie: . - TSPunctBracket = { fg = cp.catppuccin11 }, -- For brackets and parenthesis. - TSString = { fg = cp.catppuccin0 }, -- For strings. - TSStringRegex = { fg = cp.catppuccin6, style = cnf.styles.strings }, -- For regexes. + tomlTSProperty = { fg = cp.blue }, -- Differentiates between string and properties + TSPunctDelimiter = { fg = cp.gray0 }, -- For delimiters ie: . + TSPunctBracket = { fg = cp.gray0 }, -- For brackets and parenthesis. + TSString = { fg = cp.green }, -- For strings. + TSStringRegex = { fg = cp.peach, style = cnf.styles.strings }, -- For regexes. -- TSSymbol = { }; -- For identifiers referring to symbols or atoms. - TSType = { fg = cp.catppuccin8 }, -- For types. - TSVariable = { fg = cp.catppuccin10, style = cnf.styles.variables }, -- Any variable name that does not have another highlighcp. - TSTagAttribute = { fg = cp.catppuccin3, style = "italic" }, -- Tags like html tag names. - TSTag = { fg = cp.catppuccin6 }, -- Tags like html tag names. - TSTagDelimiter = { fg = cp.catppuccin19 }, -- Tag delimiter like < > / - TSText = { fg = cp.catppuccin10 }, -- For strings considerated text in a markup language. + TSType = { fg = cp.yellow }, -- For types. + TSVariable = { fg = cp.white, style = cnf.styles.variables }, -- Any variable name that does not have another highlighcp. + TSTagAttribute = { fg = cp.magenta, style = "italic" }, -- Tags like html tag names. + TSTag = { fg = cp.peach }, -- Tags like html tag names. + TSTagDelimiter = { fg = cp.maroon }, -- Tag delimiter like < > / + TSText = { fg = cp.white }, -- For strings considerated text in a markup language. -- TSEmphasis = { }; -- For text to be represented with emphasis. -- TSUnderline = { }; -- For text to be represented with an underline. -- TSStrike = { }; -- For strikethrough texcp. @@ -74,31 +74,31 @@ function M.get(cp) -- TSURI = { }; -- Any URI like a link or email. -- -- Markdown tresitter parser support - TSURI = { fg = cp.catppuccin2, style = "italic,underline" }, -- urls, links and emails - TSLiteral = { fg = cp.catppuccin0, style = "italic" }, -- used for inline code in markdown and for doc in python (""") - TSTextReference = { fg = cp.catppuccin7, style = "bold" }, -- references - TSTitle = { fg = cp.catppuccin9, style = "bold" }, -- titles like: # Example - TSEmphasis = { fg = cp.catppuccin19, style = "italic" }, -- bold - TSStrong = { fg = cp.catppuccin19, style = "bold" }, -- italic - TSStringEscape = { fg = cp.catppuccin4, style = cnf.styles.strings }, -- For escape characters within a string. + TSURI = { fg = cp.flamingo, style = "italic,underline" }, -- urls, links and emails + TSLiteral = { fg = cp.green, style = "italic" }, -- used for inline code in markdown and for doc in python (""") + TSTextReference = { fg = cp.teal, style = "bold" }, -- references + TSTitle = { fg = cp.blue, style = "bold" }, -- titles like: # Example + TSEmphasis = { fg = cp.maroon, style = "italic" }, -- bold + TSStrong = { fg = cp.maroon, style = "bold" }, -- italic + TSStringEscape = { fg = cp.pink, style = cnf.styles.strings }, -- For escape characters within a string. -- bash - bashTSFuncBuiltin = { fg = cp.catppuccin5, style = "italic" }, - bashTSParameter = { fg = cp.catppuccin8, style = "italic" }, + bashTSFuncBuiltin = { fg = cp.red, style = "italic" }, + bashTSParameter = { fg = cp.yellow, style = "italic" }, -- lua - luaTSField = { fg = cp.catppuccin7 }, - luaTSConstructor = { fg = cp.catppuccin18 }, -- For constructor calls and definitions: = { } in Lua, and Java constructors. + luaTSField = { fg = cp.teal }, + luaTSConstructor = { fg = cp.lavender }, -- For constructor calls and definitions: = { } in Lua, and Java constructors. -- java - javaTSConstant = { fg = cp.catppuccin7 }, + javaTSConstant = { fg = cp.teal }, -- typescript - typescriptTSProperty = { fg = cp.catppuccin3, style = "italic" }, -- Same as TSField. + typescriptTSProperty = { fg = cp.magenta, style = "italic" }, -- Same as TSField. -- css - cssTSType = { fg = cp.catppuccin18 }, - cssTSProperty = { fg = cp.catppuccin8, style = "italic" }, -- Same as TSField. + cssTSType = { fg = cp.lavender }, + cssTSProperty = { fg = cp.yellow, style = "italic" }, -- Same as TSField. } end diff --git a/lua/catppuccin/core/integrations/ts_rainbow.lua b/lua/catppuccin/core/integrations/ts_rainbow.lua index 4b23843..7881cfd 100644 --- a/lua/catppuccin/core/integrations/ts_rainbow.lua +++ b/lua/catppuccin/core/integrations/ts_rainbow.lua @@ -2,13 +2,13 @@ local M = {} function M.get(cp) return { - rainbowcol1 = {bg = cp.catppuccin1, fg = cp.catppuccin5}, - rainbowcol2 = {bg = cp.catppuccin1, fg = cp.catppuccin7}, - rainbowcol3 = {bg = cp.catppuccin1, fg = cp.catppuccin8}, - rainbowcol4 = {bg = cp.catppuccin1, fg = cp.catppuccin9}, - rainbowcol5 = {bg = cp.catppuccin1, fg = cp.catppuccin4}, - rainbowcol6 = {bg = cp.catppuccin1, fg = cp.catppuccin2}, - rainbowcol7 = {bg = cp.catppuccin1, fg = cp.catppuccin0}, + rainbowcol1 = {bg = cp.black2, fg = cp.red}, + rainbowcol2 = {bg = cp.black2, fg = cp.teal}, + rainbowcol3 = {bg = cp.black2, fg = cp.yellow}, + rainbowcol4 = {bg = cp.black2, fg = cp.blue}, + rainbowcol5 = {bg = cp.black2, fg = cp.pink}, + rainbowcol6 = {bg = cp.black2, fg = cp.flamingo}, + rainbowcol7 = {bg = cp.black2, fg = cp.green}, } end diff --git a/lua/catppuccin/core/integrations/vim_sneak.lua b/lua/catppuccin/core/integrations/vim_sneak.lua index 776df8b..9dd5ec4 100644 --- a/lua/catppuccin/core/integrations/vim_sneak.lua +++ b/lua/catppuccin/core/integrations/vim_sneak.lua @@ -2,8 +2,8 @@ local M = {} function M.get(cp) return { - Sneak = { fg = cp.catppuccin15, bg = cp.catppuccin4 }, - SneakScope = { bg = cp.catppuccin10 }, + Sneak = { fg = cp.gray2, bg = cp.pink }, + SneakScope = { bg = cp.white }, } end diff --git a/lua/catppuccin/core/integrations/which_key.lua b/lua/catppuccin/core/integrations/which_key.lua index 816c932..d14136c 100644 --- a/lua/catppuccin/core/integrations/which_key.lua +++ b/lua/catppuccin/core/integrations/which_key.lua @@ -2,13 +2,13 @@ local M = {} function M.get(cp) return { - WhichKey = { fg = cp.catppuccin2 }, - WhichKeyGroup = { fg = cp.catppuccin9 }, - WhichKeyDesc = { fg = cp.catppuccin4 }, - WhichKeySeperator = { fg = cp.catppuccin11 }, - WhichKeySeparator = { fg = cp.catppuccin11 }, - WhichKeyFloat = { bg = cp.catppuccin13 }, - WhichKeyValue = { fg = cp.catppuccin11 }, + WhichKey = { fg = cp.flamingo }, + WhichKeyGroup = { fg = cp.blue }, + WhichKeyDesc = { fg = cp.pink }, + WhichKeySeperator = { fg = cp.gray0 }, + WhichKeySeparator = { fg = cp.gray0 }, + WhichKeyFloat = { bg = cp.black0 }, + WhichKeyValue = { fg = cp.gray0 }, } end diff --git a/lua/catppuccin/core/mapper.lua b/lua/catppuccin/core/mapper.lua index f1933f4..38b80a5 100644 --- a/lua/catppuccin/core/mapper.lua +++ b/lua/catppuccin/core/mapper.lua @@ -9,7 +9,7 @@ local function get_properties() background = "dark", } - if colors_util.assert_brightness(color_palette.catppuccin1) then + if colors_util.assert_brightness(color_palette.black2) then props["background"] = "light" end @@ -21,153 +21,153 @@ local function get_base() cp.none = "NONE" return { - Comment = { fg = cp.catppuccin11, style = cnf.styles.comments }, -- just comments - ColorColumn = { bg = cp.catppuccin15 }, -- used for the columns set with 'colorcolumn' + Comment = { fg = cp.gray0, style = cnf.styles.comments }, -- just comments + ColorColumn = { bg = cp.gray2 }, -- used for the columns set with 'colorcolumn' Conceal = { fg = cp.black }, -- placeholder characters substituted for concealed text (see 'conceallevel') - Cursor = { fg = cp.catppuccin1, bg = cp.catppuccin10 }, -- character under the cursor - lCursor = { fg = cp.catppuccin1, bg = cp.catppuccin10 }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') - CursorIM = { fg = cp.catppuccin1, bg = cp.catppuccin10 }, -- like Cursor, but used when in IME mode |CursorIM| - CursorColumn = { bg = cp.catppuccin14 }, -- Screen-column at the cursor, when 'cursorcolumn' is secp. - CursorLine = { bg = cp.catppuccin16 }, -- Screen-line at the cursor, when 'cursorline' is secp. Low-priority if foreground (ctermfg OR guifg) is not secp. - Directory = { fg = cp.catppuccin9 }, -- directory names (and other special names in listings) - EndOfBuffer = { fg = cp.catppuccin1 }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|. - ErrorMsg = { fg = cp.catppuccin5, style = "bold,italic" }, -- error messages on the command line - VertSplit = { fg = cp.catppuccin13 }, -- the column separating vertically split windows - Folded = { fg = cp.catppuccin9, bg = cp.catppuccin12 }, -- line used for closed folds - FoldColumn = { bg = cp.catppuccin1, fg = cp.catppuccin11 }, -- 'foldcolumn' - SignColumn = { bg = cnf.transparent_background and cp.none or cp.catppuccin1, fg = cp.catppuccin12 }, -- column where |signs| are displayed - SignColumnSB = { bg = cp.catppuccin13, fg = cp.catppuccin12 }, -- column where |signs| are displayed - Substitute = { bg = cp.catppuccin12, fg = cp.catppuccin4 }, -- |:substitute| replacement text highlighting - LineNr = { fg = cp.catppuccin12 }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is secp. - CursorLineNr = { fg = cp.catppuccin0 }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. highlights the number in numberline. - MatchParen = { fg = cp.catppuccin6, style = "bold" }, -- The character under the cursor or just before it, if it is a paicatppuccin5 bracket, and its match. |pi_paren.txt| - ModeMsg = { fg = cp.catppuccin10, style = "bold" }, -- 'showmode' message (e.g., "-- INSERT -- ") - MsgArea = { fg = cp.catppuccin10 }, -- Area for messages and cmdline + 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. + 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|. + 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 + FoldColumn = { bg = cp.black2, fg = cp.gray0 }, -- 'foldcolumn' + SignColumn = { bg = cnf.transparent_background and cp.none or cp.black2, fg = cp.black4 }, -- column where |signs| are displayed + SignColumnSB = { bg = cp.black0, fg = cp.black4 }, -- column where |signs| are displayed + Substitute = { bg = cp.black4, fg = cp.pink }, -- |:substitute| replacement text highlighting + LineNr = { fg = cp.black4 }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is secp. + CursorLineNr = { fg = cp.green }, -- 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.white, style = "bold" }, -- 'showmode' message (e.g., "-- INSERT -- ") + MsgArea = { fg = cp.white }, -- Area for messages and cmdline MsgSeparator = {}, -- Separator for scrolled messages, `msgsep` flag of 'display' - MoreMsg = { fg = cp.catppuccin9 }, -- |more-prompt| - NonText = { fg = cp.catppuccin11 }, -- '@' 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.catppuccin10, bg = cnf.transparent_background and cp.none or cp.catppuccin1 }, -- normal text - NormalNC = { fg = cp.catppuccin10, bg = cnf.transparent_background and cp.none or cp.catppuccin1 }, -- normal text in non-current windows - NormalSB = { fg = cp.catppuccin10, bg = cp.catppuccin13 }, -- normal text in non-current windows - NormalFloat = { fg = cp.catppuccin10, bg = cp.catppuccin14 }, -- Normal text in floating windows. - FloatBorder = { fg = cp.catppuccin9 }, - Pmenu = { bg = cp.catppuccin16, fg = cp.catppuccin15 }, -- Popup menu: normal item. - PmenuSel = { fg = cp.catppuccin10, bg = cp.catppuccin12, style = "bold" }, -- Popup menu: selected item. - PmenuSbar = { bg = cp.catppuccin12 }, -- Popup menu: scrollbar. - PmenuThumb = { bg = cp.catppuccin11 }, -- Popup menu: Thumb of the scrollbar. - Question = { fg = cp.catppuccin9 }, -- |hit-enter| prompt and yes/no questions - QuickFixLine = { bg = cp.catppuccin12, style = "bold" }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there. - Search = { bg = cp.catppuccin12, fg = cp.catppuccin4, style = "bold" }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand oucp. - IncSearch = { bg = cp.catppuccin4, fg = cp.catppuccin12 }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c" - SpecialKey = { fg = cp.catppuccin10 }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace| - SpellBad = { sp = cp.catppuccin5, style = "undercurl" }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise. - SpellCap = { sp = cp.catppuccin8, style = "undercurl" }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise. - SpellLocal = { sp = cp.catppuccin9, 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.catppuccin0, 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.catppuccin10, bg = cp.catppuccin14 }, -- status line of current window - StatusLineNC = { fg = cp.catppuccin12, bg = cp.catppuccin14 }, -- 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.catppuccin14, fg = cp.catppuccin12 }, -- tab pages line, not active tab page label + 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_background and cp.none or cp.black2 }, -- normal text + NormalNC = { fg = cp.white, bg = cnf.transparent_background and cp.none or cp.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. + FloatBorder = { fg = cp.blue }, + Pmenu = { bg = cp.black3, fg = cp.gray2 }, -- Popup menu: normal item. + PmenuSel = { fg = cp.white, bg = cp.black4, style = "bold" }, -- Popup menu: selected item. + PmenuSbar = { bg = cp.black4 }, -- Popup menu: scrollbar. + PmenuThumb = { bg = cp.gray0 }, -- 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| + 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 TabLineFill = { bg = cp.black }, -- tab pages line, where there are no labels - TabLineSel = { fg = cp.catppuccin0, bg = cp.catppuccin12 }, -- tab pages line, active tab page label - Title = { fg = cp.catppuccin9, style = "bold" }, -- titles for output from ":set all", ":autocmd" etcp. - Visual = { bg = cp.catppuccin12, style = "bold" }, -- Visual mode selection - VisualNOS = { bg = cp.catppuccin12, style = "bold" }, -- Visual mode selection when vim is "Not Owning the Selection". - WarningMsg = { fg = cp.catppuccin8 }, -- warning messages - Whitespace = { fg = cp.catppuccin12 }, -- "nbsp", "space", "tab" and "trail" in 'listchars' - WildMenu = { bg = cp.catppuccin11 }, -- current match in 'wildmenu' completion + TabLineSel = { fg = cp.green, bg = cp.black4 }, -- tab pages line, active tab page label + Title = { fg = cp.blue, style = "bold" }, -- titles for output from ":set all", ":autocmd" etcp. + Visual = { bg = cp.black4, style = "bold" }, -- Visual mode selection + VisualNOS = { bg = cp.black4, style = "bold" }, -- Visual mode selection when vim is "Not Owning the Selection". + WarningMsg = { fg = cp.yellow }, -- warning messages + Whitespace = { fg = cp.black4 }, -- "nbsp", "space", "tab" and "trail" in 'listchars' + WildMenu = { bg = cp.gray0 }, -- current match in 'wildmenu' completion -- These groups are not listed as default vim groups, -- but they are defacto standard group names for syntax highlighting. - -- catppuccin11ed out groups should chain up to their "prefercatppuccin5" group by + -- gray0ed out groups should chain up to their "preferred" group by -- default, - -- Uncatppuccin11 and edit if you want more specific syntax highlighting. + -- Ungray0 and edit if you want more specific syntax highlighting. -- code itself - Constant = { fg = cp.catppuccin6 }, -- (prefercatppuccin5) any constant - String = { fg = cp.catppuccin0, style = cnf.styles.strings }, -- a string constant: "this is a string" - Character = { fg = cp.catppuccin7 }, -- a character constant: 'c', '\n' - Number = { fg = cp.catppuccin6 }, -- a number constant: 234, 0xff - Float = { fg = cp.catppuccin6 }, -- a floating point constant: 2.3e10 - Boolean = { fg = cp.catppuccin6 }, -- a boolean constant: TRUE, false - Identifier = { fg = cp.catppuccin2, style = cnf.styles.variables }, -- (prefercatppuccin5) any variable name - Function = { fg = cp.catppuccin9, style = cnf.styles.functions }, -- function name (also: methods for classes) - Statement = { fg = cp.catppuccin3 }, -- (prefercatppuccin5) any statement - Conditional = { fg = cp.catppuccin5 }, -- if, then, else, endif, switch, etcp. - Repeat = { fg = cp.catppuccin5 }, -- for, do, while, etcp. - Label = { fg = cp.catppuccin6 }, -- case, default, etcp. - Operator = { fg = cp.catppuccin2 }, -- "sizeof", "+", "*", etcp. - Keyword = { fg = cp.catppuccin4, style = cnf.styles.keywords }, -- any other keyword + Constant = { fg = cp.peach }, -- (preferred) any constant + String = { fg = cp.green, style = cnf.styles.strings }, -- a string constant: "this is a string" + Character = { fg = cp.teal }, -- a character constant: 'c', '\n' + Number = { fg = cp.peach }, -- a number constant: 234, 0xff + Float = { fg = cp.peach }, -- a floating point constant: 2.3e10 + Boolean = { fg = cp.peach }, -- a boolean constant: TRUE, false + Identifier = { fg = cp.flamingo, style = cnf.styles.variables }, -- (preferred) any variable name + Function = { fg = cp.blue, style = cnf.styles.functions }, -- function name (also: methods for classes) + Statement = { fg = cp.magenta }, -- (preferred) any statement + Conditional = { fg = cp.red }, -- if, then, else, endif, switch, etcp. + Repeat = { fg = cp.red }, -- for, do, while, etcp. + Label = { fg = cp.peach }, -- case, default, etcp. + Operator = { fg = cp.flamingo }, -- "sizeof", "+", "*", etcp. + Keyword = { fg = cp.pink, style = cnf.styles.keywords }, -- any other keyword -- Exception = { }, -- try, catch, throw - PreProc = { fg = cp.catppuccin4 }, -- (prefercatppuccin5) generic Preprocessor - Include = { fg = cp.catppuccin4 }, -- preprocessor #include + PreProc = { fg = cp.pink }, -- (preferred) generic Preprocessor + Include = { fg = cp.pink }, -- preprocessor #include -- Define = { }, -- preprocessor #define -- Macro = { }, -- same as Define -- PreCondit = { }, -- preprocessor #if, #else, #endif, etcp. - StorageClass = { fg = cp.catppuccin8 }, -- static, register, volatile, etcp. - Structure = { fg = cp.catppuccin8 }, -- struct, union, enum, etcp. - Typedef = { fg = cp.catppuccin8 }, -- A typedef - Special = { fg = cp.catppuccin4 }, -- (prefercatppuccin5) any special symbol - Type = { fg = cp.catppuccin9 }, -- (prefercatppuccin5) int, long, char, etcp. + StorageClass = { fg = cp.yellow }, -- static, register, volatile, etcp. + Structure = { fg = cp.yellow }, -- struct, union, enum, etcp. + Typedef = { fg = cp.yellow }, -- A typedef + Special = { fg = cp.pink }, -- (preferred) any special symbol + Type = { fg = cp.blue }, -- (preferred) int, long, char, etcp. -- SpecialChar = { }, -- special character in a constant -- Tag = { }, -- you can use CTRL-] on this -- Delimiter = { }, -- character that needs attention - -- Specialcatppuccin11= { }, -- special things inside a catppuccin11 + -- Specialgray0= { }, -- special things inside a gray0 -- Debug = { }, -- debugging statements - Underlined = { style = "underline" }, -- (prefercatppuccin5) text that stands out, HTML links + Underlined = { style = "underline" }, -- (preferred) text that stands out, HTML links Bold = { style = "bold" }, Italic = { style = "italic" }, -- ("Ignore", below, may be invisible...) - -- Ignore = { }, -- (prefercatppuccin5) left blank, hidden |hl-Ignore| - - Error = { fg = cp.catppuccin5 }, -- (prefercatppuccin5) any erroneous construct - Todo = { bg = cp.catppuccin8, fg = cp.catppuccin1, style = "bold" }, -- (prefercatppuccin5) anything that needs extra attention; mostly the keywords TODO FIXME and XXX - qfLineNr = { fg = cp.catppuccin8 }, - qfFileName = { fg = cp.catppuccin9 }, - htmlH1 = { fg = cp.catppuccin4, style = "bold" }, - htmlH2 = { fg = cp.catppuccin9, style = "bold" }, - -- mkdHeading = { fg = cp.catppuccin6, style = "bold" }, - -- mkdCode = { bg = cp.terminal_black, fg = cp.catppuccin10 }, - mkdCodeDelimiter = { bg = cp.catppuccin1, fg = cp.catppuccin10 }, - mkdCodeStart = { fg = cp.catppuccin2, style = "bold" }, - mkdCodeEnd = { fg = cp.catppuccin2, style = "bold" }, - -- mkdLink = { fg = cp.catppuccin9, style = "underline" }, + -- Ignore = { }, -- (preferred) left blank, hidden |hl-Ignore| + + Error = { fg = cp.red }, -- (preferred) any erroneous construct + Todo = { bg = cp.yellow, fg = cp.black2, 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.white }, + mkdCodeDelimiter = { bg = cp.black2, fg = cp.white }, + mkdCodeStart = { fg = cp.flamingo, style = "bold" }, + mkdCodeEnd = { fg = cp.flamingo, style = "bold" }, + -- mkdLink = { fg = cp.blue, style = "underline" }, -- debugging - debugPC = { bg = cp.catppuccin13 }, -- used for highlighting the current line in terminal-debug - debugBreakpoint = { bg = cp.catppuccin1, fg = cp.catppuccin11 }, -- used for breakpoint colors in terminal-debug + debugPC = { bg = cp.black0 }, -- used for highlighting the current line in terminal-debug + debugBreakpoint = { bg = cp.black2, fg = cp.gray0 }, -- used for breakpoint colors in terminal-debug -- illuminate - illuminatedWord = { bg = cp.catppuccin12 }, - illuminatedCurWord = { bg = cp.catppuccin12 }, + illuminatedWord = { bg = cp.black4 }, + illuminatedCurWord = { bg = cp.black4 }, -- diff - diffAdded = { fg = cp.catppuccin9 }, - diffRemoved = { fg = cp.catppuccin5 }, - diffChanged = { fg = cp.catppuccin8 }, - diffOldFile = { fg = cp.catppuccin8 }, - diffNewFile = { fg = cp.catppuccin6 }, - diffFile = { fg = cp.catppuccin9 }, - diffLine = { fg = cp.catppuccin11 }, - diffIndexLine = { fg = cp.catppuccin4 }, - DiffAdd = { fg = cp.catppuccin9, bg = cp.catppuccin1 }, -- diff mode: Added line |diff.txt| - DiffChange = { fg = cp.catppuccin8, bg = cp.catppuccin1 }, -- diff mode: Changed line |diff.txt| - DiffDelete = { fg = cp.catppuccin5, bg = cp.catppuccin1 }, -- diff mode: Deleted line |diff.txt| - DiffText = { fg = cp.catppuccin9, bg = cp.catppuccin1 }, -- diff mode: Changed text within a changed line |diff.txt| + diffAdded = { fg = cp.blue }, + diffRemoved = { fg = cp.red }, + diffChanged = { fg = cp.yellow }, + diffOldFile = { fg = cp.yellow }, + diffNewFile = { fg = cp.peach }, + diffFile = { fg = cp.blue }, + diffLine = { fg = cp.gray0 }, + diffIndexLine = { fg = cp.pink }, + DiffAdd = { fg = cp.blue, bg = cp.black2 }, -- diff mode: Added line |diff.txt| + DiffChange = { fg = cp.yellow, bg = cp.black2 }, -- diff mode: Changed line |diff.txt| + DiffDelete = { fg = cp.red, bg = cp.black2 }, -- diff mode: Deleted line |diff.txt| + DiffText = { fg = cp.blue, bg = cp.black2 }, -- diff mode: Changed text within a changed line |diff.txt| -- NeoVim - healthError = { fg = cp.catppuccin5 }, - healthSuccess = { fg = cp.catppuccin7 }, - healthWarning = { fg = cp.catppuccin8 }, + healthError = { fg = cp.red }, + healthSuccess = { fg = cp.teal }, + healthWarning = { fg = cp.yellow }, -- misc -- glyphs - GlyphPalette1 = { fg = cp.catppuccin5 }, - GlyphPalette2 = { fg = cp.catppuccin7 }, - GlyphPalette3 = { fg = cp.catppuccin8 }, - GlyphPalette4 = { fg = cp.catppuccin9 }, - GlyphPalette6 = { fg = cp.catppuccin7 }, - GlyphPalette7 = { fg = cp.catppuccin10 }, - GlyphPalette9 = { fg = cp.catppuccin5 }, + GlyphPalette1 = { fg = cp.red }, + GlyphPalette2 = { fg = cp.teal }, + GlyphPalette3 = { fg = cp.yellow }, + GlyphPalette4 = { fg = cp.blue }, + GlyphPalette6 = { fg = cp.teal }, + GlyphPalette7 = { fg = cp.white }, + GlyphPalette9 = { fg = cp.red }, } end diff --git a/lua/lightline/colorscheme/catppuccin.lua b/lua/lightline/colorscheme/catppuccin.lua index 7cffd0c..e94242d 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.catppuccin14, cp.catppuccin9 }, { cp.catppuccin9, cp.catppuccin1 } }, - middle = { { cp.catppuccin9, cp.catppuccin12 } }, - right = { { cp.catppuccin13, cp.catppuccin1 }, { cp.catppuccin9, cp.catppuccin1 } }, - error = { { cp.catppuccin14, cp.catppuccin5 } }, - warning = { { cp.catppuccin14, cp.catppuccin8 } }, + left = { { cp.black1, cp.blue }, { cp.blue, cp.black2 } }, + middle = { { cp.blue, cp.black4 } }, + right = { { cp.black0, cp.black2 }, { cp.blue, cp.black2 } }, + error = { { cp.black1, cp.red } }, + warning = { { cp.black1, cp.yellow } }, } catppuccin.insert = { - left = { { cp.catppuccin14, cp.catppuccin7 }, { cp.catppuccin9, cp.catppuccin1 } }, + left = { { cp.black1, cp.teal }, { cp.blue, cp.black2 } }, } catppuccin.visual = { - left = { { cp.catppuccin14, cp.catppuccin3 }, { cp.catppuccin9, cp.catppuccin1 } }, + left = { { cp.black1, cp.magenta }, { cp.blue, cp.black2 } }, } catppuccin.replace = { - left = { { cp.catppuccin14, cp.catppuccin5 }, { cp.catppuccin9, cp.catppuccin1 } }, + left = { { cp.black1, cp.red }, { cp.blue, cp.black2 } }, } catppuccin.inactive = { - left = { { cp.catppuccin9, cp.catppuccin1 }, { cp.catppuccin11, cp.catppuccin1 } }, - middle = { { cp.catppuccin12, cp.catppuccin1 } }, - right = { { cp.catppuccin12, cp.catppuccin1 }, { cp.catppuccin11, cp.catppuccin1 } }, + left = { { cp.blue, cp.black2 }, { cp.gray0, cp.black2 } }, + middle = { { cp.black4, cp.black2 } }, + right = { { cp.black4, cp.black2 }, { cp.gray0, cp.black2 } }, } catppuccin.tabline = { - left = { { cp.catppuccin11, cp.catppuccin1 }, { cp.catppuccin11, cp.catppuccin1 } }, - middle = { { cp.catppuccin12, cp.catppuccin1 } }, - right = { { cp.catppuccin12, cp.catppuccin1 }, { cp.catppuccin11, cp.catppuccin1 } }, - tabsel = { { cp.catppuccin9, cp.catppuccin12 }, { cp.catppuccin11, cp.catppuccin1 } }, + left = { { cp.gray0, cp.black2 }, { cp.gray0, cp.black2 } }, + middle = { { cp.black4, cp.black2 } }, + right = { { cp.black4, cp.black2 }, { cp.gray0, cp.black2 } }, + tabsel = { { cp.blue, cp.black4 }, { cp.gray0, cp.black2 } }, } return catppuccin diff --git a/lua/lualine/themes/catppuccin.lua b/lua/lualine/themes/catppuccin.lua index 61ee17c..9602a5f 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.catppuccin9, fg = cp.catppuccin14, gui = "bold" }, - b = { bg = cp.catppuccin12, fg = cp.catppuccin9 }, - c = { bg = cp.catppuccin1, fg = cp.catppuccin1 }, + a = { bg = cp.blue, fg = cp.black1, gui = "bold" }, + b = { bg = cp.black4, fg = cp.blue }, + c = { bg = cp.black1, fg = cp.white }, } catppuccin.insert = { - a = { bg = cp.catppuccin0, fg = cp.catppuccin1, gui = "bold" }, - b = { bg = cp.catppuccin12, fg = cp.catppuccin7 }, + a = { bg = cp.green, fg = cp.black2, gui = "bold" }, + b = { bg = cp.black4, fg = cp.teal }, } catppuccin.command = { - a = { bg = cp.catppuccin6, fg = cp.catppuccin1, gui = "bold" }, - b = { bg = cp.catppuccin12, fg = cp.catppuccin6 }, + a = { bg = cp.peach, fg = cp.black2, gui = "bold" }, + b = { bg = cp.black4, fg = cp.peach }, } catppuccin.visual = { - a = { bg = cp.catppuccin3, fg = cp.catppuccin1, gui = "bold" }, - b = { bg = cp.catppuccin12, fg = cp.catppuccin3 }, + a = { bg = cp.magenta, fg = cp.black2, gui = "bold" }, + b = { bg = cp.black4, fg = cp.magenta }, } catppuccin.replace = { - a = { bg = cp.catppuccin5, fg = cp.catppuccin1, gui = "bold" }, - b = { bg = cp.catppuccin12, fg = cp.catppuccin5 }, + a = { bg = cp.red, fg = cp.black2, gui = "bold" }, + b = { bg = cp.black4, fg = cp.red }, } catppuccin.inactive = { - a = { bg = cp.catppuccin1, fg = cp.catppuccin9 }, - b = { bg = cp.catppuccin1, fg = cp.catppuccin12, gui = "bold" }, - c = { bg = cp.catppuccin1, fg = cp.catppuccin11 }, + a = { bg = cp.black2, fg = cp.blue }, + b = { bg = cp.black2, fg = cp.black4, gui = "bold" }, + c = { bg = cp.black2, fg = cp.gray0 }, } return catppuccin