local M = {}

local hascatppuccin, catppuccin = pcall(require, "catppuccin")

if not hascatppuccin then
    return M
end

catppuccin.setup({
    flavour = "mocha",
    integrations = {
        mason = true,
        lsp_trouble = true,
        vimwiki = true
    },
    custom_highlights = function(colors)
        return {
            TelescopeNormal = { bg = "#191926"},
            TelescopeBorder = { bg = "#191926", fg = "#191926" },
            TelescopePromptBorder = { bg = "#191926", fg = "#191926" },
            TelescopeTitle = { fg = colors.blue },
            WinSeparator = { fg = "#191926" }
        }
    end,
    color_overrides = {
        mocha = {
            -- this 16 colors are changed to onedark
            base = "#11121D",
            text = "#abb2bf",
            rosewater = "#b6bdca",
            lavender = "#ed8897",
            red = "#e06c75",
            peach = "#d19a66",
            yellow = "#e5c07b",
            green = "#98c379",
            teal = "#56b6c2",
            blue = "#61afef",
            mauve = "#c678dd",
            flamingo = "#be5046",
            pink="#ef9f76"
        }
    }
})

vim.cmd("colorscheme catppuccin")

return M