local custom_bg = "#242438" return { "catppuccin/nvim", name = "catppuccin", lazy = false, priority = 1000, opts = { flavour = "mocha", background = { light = "latte", dark = "mocha", }, transparent_background = true, float = { transparent = true, solid = false, }, show_end_of_buffer = false, term_colors = false, auto_integrations = true, dim_inactive = { enabled = false, shade = "dark", percentage = 0.15, }, no_italic = false, no_bold = false, no_underline = false, styles = { comments = {}, conditionals = {}, loops = {}, functions = {}, keywords = {}, strings = {}, variables = {}, numbers = {}, booleans = {}, properties = {}, types = {}, operators = {}, }, lsp_styles = { virtual_text = { errors = { "italic" }, hints = { "italic" }, warnings = { "italic" }, information = { "italic" }, ok = { "italic" }, }, underlines = { errors = { "underline" }, hints = { "underline" }, warnings = { "underline" }, information = { "underline" }, ok = { "underline" }, }, inlay_hints = { background = true, }, }, color_overrides = { mocha = { blue = "#87afff", green = "#afd7af", maroon = "#ffafaf", mauve = "#d7afff", overlay1 = "#5f5f87", overlay2 = "#9e9e9e", peach = "#ffaf87", pink = "#ffafd7", lavender = "#b4befe", red = "#ff87af", sky = "#87d7d7", text = "#d7d7ff", yellow = "#ffd7af", }, }, integrations = { blink_cmp = { style = "bordered" }, }, custom_highlights = function(colors) return { ["@module"] = { fg = colors.lavender }, Comment = { fg = colors.overlay1 }, Type = { fg = colors.yellow }, LspInlayHint = { fg = colors.overlay1, bg = colors.none }, CursorLine = { bg = custom_bg }, Label = { fg = colors.blue }, LineNr = { fg = colors.overlay1 }, Visual = { bg = "#353749" }, LspReferenceWrite = { bg = colors.none, bold = true }, LspReferenceRead = { bg = colors.none, bold = true }, LspReferenceText = { bg = colors.none, bold = true }, --  Making the float window same color as the bg NormalFloat = { bg = colors.none }, FloatTitle = { fg = colors.overlay0, bg = colors.none }, FloatBorder = { fg = colors.overlay1, bg = colors.none }, --  TODO TodoBgFIX = { fg = colors.red, bg = colors.none }, TodoBgHACK = { fg = colors.yellow, bg = colors.none }, TodoBgNOTE = { fg = colors.text, bg = colors.none }, TodoBgPERF = { fg = colors.yellow, bg = colors.none }, TodoBgTEST = { fg = colors.mauve, bg = colors.none }, TodoBgTODO = { fg = colors.blue, bg = colors.none }, TodoBgWARN = { fg = colors.yellow, bg = colors.none }, TodoBgCAUTION = { fg = colors.red, bg = colors.none }, -- 󱐀 Completion Pmenu = { bg = colors.none }, PmenuSel = { fg = colors.text, bg = colors.surface0 }, ColorColumn = { bg = colors.none }, -- 󱐀 BlinkCmp BlinkCmpKindStruct = { fg = colors.yellow }, BlinkCmpKindEnum = { fg = colors.yellow }, BlinkCmpKindEnumMember = { fg = colors.peach }, BlinkCmpMenuBorder = { fg = colors.overlay1, bg = colors.none }, BlinkCmpDoc = { fg = colors.text, bg = colors.none }, --  Yanky YankyYanked = { fg = colors.none, bg = colors.peach }, YankyPut = { fg = colors.none, bg = colors.peach }, -- 󱥰 Snacks SnacksPickerRule = { bg = colors.overlay1 }, SnacksDashboardHeader = { fg = colors.mauve }, SnacksDashboardIcon = { fg = colors.mauve }, SnacksDashboardKey = { fg = colors.mauve }, SnacksInputIcon = { fg = colors.text }, SnacksInputTitle = { fg = colors.text }, SnacksInputBorder = { fg = colors.text }, --  Noice NoiceScrollbar = { bg = colors.none }, NoiceScrollbarThumb = { bg = colors.overlay1 }, -- Render Markdown RenderMarkdownCode = { bg = colors.mantle }, RenderMarkdownCodeInline = { bg = colors.surface0 }, RenderMarkdownBullet = { fg = colors.text }, RenderMarkdownH1Bg = { bg = colors.surface0 }, RenderMarkdownH2Bg = { bg = colors.surface0 }, RenderMarkdownH3Bg = { bg = colors.surface0 }, RenderMarkdownH4Bg = { bg = colors.surface0 }, RenderMarkdownH5Bg = { bg = colors.surface0 }, RenderMarkdownH6Bg = { bg = colors.surface0 }, ["@markup.quote"] = { fg = colors.pink }, ["@markup.raw.markdown_inline"] = { fg = colors.lavender, bg = colors.surface0 }, ["@markup.raw.block.markdown"] = { fg = colors.lavender, bg = colors.none }, ["@markup.strong.markdown_inline"] = { fg = colors.lavender, bold = true }, ["@markup.heading.git_config"] = { fg = colors.maroon }, ["@markup.heading.1.markdown"] = { fg = colors.lavender, bold = true }, ["@markup.heading.2.markdown"] = { fg = colors.lavender, bold = true }, ["@markup.heading.3.markdown"] = { fg = colors.lavender, bold = true }, ["@markup.heading.4.markdown"] = { fg = colors.lavender, bold = true }, ["@markup.heading.5.markdown"] = { fg = colors.lavender, bold = true }, ["@markup.heading.6.markdown"] = { fg = colors.lavender, bold = true }, ["@markup.quote.markdown"] = { fg = colors.text }, ["@punctuation.special.markdown"] = { fg = colors.overlay1 }, ["@punctuation.delimiter"] = { fg = colors.overlay1 }, --  Zig Highlights -- ["@function.builtin.zig"] = { fg = colors.peach }, ["@lsp.type.enumMember.zig"] = { fg = colors.maroon }, ["@lsp.type.namespace.zig"] = { fg = colors.text, italic = false }, ["@lsp.type.parameter.zig"] = { fg = colors.lavender }, ["@lsp.type.property.zig"] = { fg = colors.text }, ["@lsp.type.struct.zig"] = { fg = colors.yellow }, ["@variable.parameter.zig"] = { fg = colors.yellow }, --  Python Highlights -- ["@string.documentation.python"] = { fg = colors.overlay1 }, ["@constructor.python"] = { fg = colors.yellow }, ["@function.just"] = { fg = colors.lavender }, } end, }, }