From 4c5afbe2b27f60de787bf5d6e08a063770453810 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Mon, 23 Sep 2024 22:48:43 +0200 Subject: [PATCH] Add catpuccin theme with huge config --- lua/plugins/catppuccin.lua | 244 +++++++++++++++++++++++++++++++++++++ lua/plugins/init.lua | 3 + 2 files changed, 247 insertions(+) create mode 100644 lua/plugins/catppuccin.lua diff --git a/lua/plugins/catppuccin.lua b/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..fa7c73f --- /dev/null +++ b/lua/plugins/catppuccin.lua @@ -0,0 +1,244 @@ +require("catppuccin").setup({ + -- transparent_background = vim + flavour = "latte", + highlight_overrides = { + all = function(colors) + return { + FloatBorder = { link = "SagaBorder", fg="#4f4f4f" }, + LineNr = { fg = colors.subtext0 }, + Folded = { fg = colors.green }, + MatchWord = { bold = true }, + Visual = { sp = colors.text, underline = true }, + IndentBlankLineContextChar = { fg = colors.sapphire }, + WinSeparator = { fg = colors.text }, + TelescopeSelection = { fg = colors.subtext1, bg = colors.surface0 }, + TelescopeBorder = { fg = colors.surface1, bg = colors.surface1 }, + TelescopeNormal = { bg = "#fafafa" }, + TelescopePromptNormal = { bg = colors.surface1 }, + TelescopePromptBorder = { bg = colors.surface1, fg = colors.surface1 }, + CursorLine = { bg = colors.text }, + NvimTreeWinSeparator = { fg = colors.text }, + NvimTreeGitNew = { fg = colors.green }, + NvimTreeGitDirty = { fg = colors.yellow }, + NvimTreeGitDeleted = { fg = colors.red }, + -- ColorColumn = { bg = colors. }, + SpecialKey = { fg = colors.yellow }, + SagaBorder = { fg = colors.blue }, + HoverNormal = { fg = colors.text }, + + -- Gitsigns + GitSignsAddInline = { link = "DiffAdd" }, + GitSignsDeleteInline = { link = "DiffDelete" }, + GitSignsChangedInline = { link = "DiffChange" } , + Diffview = { link = "DiffChange" } , + + StNormalMode = { fg = colors.surface0, bg = colors.blue, bold = true }, + StVisualMode = { fg = colors.surface0, bg = colors.sky, bold = true }, + StInsertMode = { fg = colors.surface0, bg = colors.lavender, bold = true }, + StTerminalMode = { fg = colors.surface0, bg = colors.green, bold = true }, + StNTerminalMode = { fg = colors.surface0, bg = colors.yellow, bold = true }, + StReplaceMode = { fg = colors.surface0, bg = colors.peach, bold = true }, + StConfirmMode = { fg = colors.surface0, bg = colors.sapphire, bold = true }, + StCommandMode = { fg = colors.surface0, bg = colors.green, bold = true }, + StSelectMode = { fg = colors.surface0, bg = colors.blue, bold = true }, + + StInviSep = { bg = colors.surface1, fg = colors.surface1 }, + StNormalModeSep = { bg = colors.surface1, fg = colors.blue }, + StVisualModeSep = { bg = colors.surface1, fg = colors.sky }, + StInsertModeSep = { bg = colors.surface1, fg = colors.lavender }, + StTerminalModeSep = { bg = colors.surface1, fg = colors.green }, + StNTerminalModeSep = { bg = colors.surface1, fg = colors.yellow }, + StReplaceModeSep = { bg = colors.surface1, fg = colors.peach }, + StConfirmModeSep = { bg = colors.surface1, fg = colors.sapphire }, + StCommandModeSep = { bg = colors.surface1, fg = colors.green }, + StSelectModeSep = { bg = colors.surface1, fg = colors.blue }, + + --CurFile + StCwd = { bg = colors.yellow, fg = colors.text }, + StFile = { bg = colors.peach, fg = colors.text, bold = true }, + StCwdSep = { fg = colors.yellow, bg = colors.surface1 }, + StFileSep = { fg = colors.peach, bg = colors.surface1 }, + StDirFileSep = { fg = colors.yellow, bg = colors.peach }, + -- Git stuffs + StGitBranch = { bg = colors.overlay0, fg = colors.mauve }, + StGitAdded = { bg = colors.overlay0, fg = colors.green }, + StGitChanged = { bg = colors.overlay0, fg = colors.yellow }, + StGitRemoved = { bg = colors.overlay0, fg = colors.red }, + StGitSep = { bg = colors.surface1, fg = colors.overlay0 }, + + -- LSP + StLSPClient = { bg = colors.surface1, fg = colors.blue, bold = true }, + StLSPDiagSep = { bg = colors.surface1, fg = colors.overlay0 }, + StLSPErrors = { bg = colors.overlay0, fg = colors.red }, + StLSPWarnings = { bg = colors.overlay0, fg = colors.yellow }, + StLSPHints = { bg = colors.overlay0, fg = colors.mauve }, + StLspInfo = { bg = colors.overlay0, fg = colors.sky }, + -- + -- Lsp Diagnostics + DiagnosticHint = { fg = colors.mauve }, + DiagnosticError = { fg = colors.red }, + DiagnosticWarn = { fg = colors.yellow }, + DiagnosticInformation = { fg = colors.green }, + + -- File Info + StPosition = { bg = colors.sapphire, fg = colors.surface1 }, + StPositionSep = { bg = colors.surface1, fg = colors.sapphire }, + + TabLineFill = { fg = colors.text, bg = colors.crust, sp = colors.text }, + TabLineBufHidden = { fg = colors.mantle, bg = colors.subtext1, sp = colors.text }, + TabLineBufActive = { fg = colors.text, bg = colors.sapphire, bold = true, sp = colors.text }, + TabLineCurrentBuf = { fg = colors.mantle, bg = colors.red, bold = true, sp = colors.text }, + TabLineBufHiddenModified = { fg = colors.green, bg = colors.subtext1, sp = colors.text }, + TabLineBufActiveModified = { fg = colors.green, bg = colors.sapphire, bold = true, sp = colors.text }, + TabLineCurrentBufModified = { fg = colors.green, bg = colors.red, bold = true, sp = colors.text }, + TabLineModified = { fg = colors.green }, + TabLineCurrentTab = { fg = colors.mantle, bg = colors.red, bold = true, sp = colors.text }, + TabLineOtherTab = { fg = colors.mantle, bg = colors.subtext1, sp = colors.text }, + TabLineBufActiveSep = { fg = colors.sapphire, bg = colors.crust, sp = colors.text }, + TabLineCurrentBufSep = { fg = colors.red, bg = colors.crust, sp = colors.text }, + TabLineBufHiddenSep = { fg = colors.subtext1, bg = colors.crust, sp = colors.text }, + + DiagnosticUnnecessary = { link = "" }, + + ["@conceal.checked"] = { fg = colors.teal }, + ["@none"] = { link = "Normal" }, + ["@field"] = { fg = colors.blue }, + ["@comment.todo"] = { fg = colors.lavender }, + ["@property"] = { fg = colors.blue }, + ["@variable.member"] = { fg = colors.blue }, + ["@variable.parameter"] = { fg = colors.sky }, + ["@parameter"] = { fg = colors.sky }, + ["@comment.note"] = { link = "@comment.hint" }, + ["@lsp.type.annotation"] = { fg = colors.yellow }, + ["@lsp.type.modifier.java"] = { link = "@type.qualifier" }, + ["@lsp.mod.builtin"] = { fg = colors.maroon }, + ["@lsp.mod.readonly.python"] = { link = "Constant" }, + ["@lsp.mod.documentation"] = { bold = true, fg = colors.mauve }, + ["@lsp.type.keyword"] = { fg = colors.mauve }, + } + end, + latte = function(colors) + return { + ["@lsp.type.keyword"] = { fg = colors.lavender }, + + Comment = { fg = colors.blue }, + Conditional = { fg = colors.darkyellow }, + Error = { fg = colors.base, bg = colors.red }, + Exception = { fg = colors.peach }, + Function = { fg = colors.cyan }, + Identifier = { fg = colors.green }, + Include = { fg = colors.pink }, + Keyword = { fg = colors.cyan }, + Operator = { fg = colors.darkyellow }, + Parameter = { fg = colors.sky }, + Special = { fg = colors.flamingo }, + Statement = { fg = colors.darkyellow }, + String = { fg = colors.red }, + Structure = { fg = colors.green }, + WhitespaceError = { fg = colors.base, bg = colors.red }, + } + end, + }, + color_overrides = { + latte = { + base = "#ffffff", + flamingo = "#bb5d60", + pink = "#d54597", + mauve = "#a65fd5", + red = "#D90E18", + maroon = "#db3e68", + peach = "#e46f2a", + yellow = "#bc8705", + darkyellow = "#B2640B", + green = "#1a8e32", + teal = "#00a390", + sky = "#089ec0", + sapphire = "#0ea0a0", + blue = "#017bca", + lavender = "#8584f7", + text = "#222222", + subtext1 = "#444444", + subtext0 = "#666666", + overlay2 = "#777777", + overlay1 = "#888888", + overlay0 = "#999999", + surface2 = "#aaaaaa", + surface1 = "#cccccc", + surface0 = "#e5e5e5", + mantle = "#eeeeee", + crust = "#dddddd", + cyan = "#0EB1A2", + }, + }, + background = { + light = "latte", + dark = "mocha", + }, + term_colors = true, + -- dim_inactive = { + -- enabled = true, + -- shade = "light", + -- percentage = 0.20, + -- }, + styles = { + comments = {}, + }, + integrations = { + alpha = false, + cmp = true, + dap = true, + dap_ui = true, + dashboard = false, + flash = false, + gitsigns = true, + leap = true, + mini = { + enabled = false, + }, + mason = true, + markdown = true, + neogit = true, + nvimtree = true, + ufo = false, + rainbow_delimiters = false, + semantic_tokens = true, + telescope = { enabled = true, style = "nvchad" }, + treesitter = false, + barbecue = false, + illuminate = false, + indent_blankline = { + enabled = true, + colored_indent_levels = false, + }, + native_lsp = { + enabled = true, + virtual_text = { + errors = { "italic" }, + hints = { "italic" }, + warnings = { "italic" }, + information = { "italic" }, + }, + underlines = { + errors = { "underline" }, + hints = { "underline" }, + warnings = { "underline" }, + information = { "underline" }, + }, + inlay_hints = { + background = true, + }, + }, + lsp_saga = true, + lsp_trouble = true, + navic = { + enabled = false, + custom_bg = "NONE", + }, + dropbar = { + enabled = false, + color_mode = false, + }, + }, +}) + +vim.cmd.colorscheme("catppuccin") diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 54d8b43..26fcb12 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -80,8 +80,11 @@ require('packer').startup(function() use { 'hedyhli/outline.nvim' } + use { "catppuccin/nvim", as = "catppuccin" } + end) +require('plugins.catppuccin') require('plugins.cmp') require('plugins.gitsigns') require('plugins.neogit')