Track upstream

experiments
Lokesh Krishna 3 years ago
commit d4ee7e3f00

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -2,7 +2,7 @@ local M = {}
function M.get(cp)
return {
FernBranchText = { fg = cp.catppuccin9 },
FernBranchText = { fg = cp.blue },
}
end

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

Loading…
Cancel
Save