Files
nvim-config/lua/plugins/ui.lua
2026-03-22 13:00:29 +01:00

69 lines
1.6 KiB
Lua

-- 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",
},
},
})