-- Catppuccin Theme require("catppuccin").setup({ flavour = "auto", background = { light = "latte", dark = "mocha" }, transparent_background = false, show_end_of_buffer = false, integrations = { cmp = true, gitsigns = true, nvimtree = true, treesitter = true, mini = { enabled = true }, }, }) vim.cmd.colorscheme("catppuccin") -- Git Signs require("gitsigns").setup() -- Which-Key (Keybind discoverability) require("which-key").setup() -- Lualine (Statusline) local function active_lsp() local clients = vim.lsp.get_clients({ bufnr = 0 }) if next(clients) == nil then return "No LSP" end local client_names = {} for _, client in ipairs(clients) do table.insert(client_names, client.name) end return "{ " .. table.concat(client_names, " | ") .. " }" end require("lualine").setup({ options = { theme = require("catppuccin.utils.lualine")(), component_separators = { left = "|", right = "|" }, section_separators = { left = "", right = "" }, globalstatus = true, }, sections = { lualine_a = { "mode" }, lualine_b = { "branch", "diff" }, lualine_c = { { "filename", path = 1 }, "diagnostics" }, lualine_x = { active_lsp }, lualine_y = { "encoding", "fileformat", "filetype" }, lualine_z = { "location", "progress" }, }, }) -- Render Markdown require("render-markdown").setup({ enabled = true, anti_conceal = { enabled = true }, heading = { icons = { "1. ", "2. ", "3. ", "4. ", "5. ", "6. " }, backgrounds = { "RenderMarkdownH1Bg", "RenderMarkdownH2Bg", "RenderMarkdownH3Bg", "RenderMarkdownH4Bg", "RenderMarkdownH5Bg", "RenderMarkdownH6Bg", }, }, })