local M = {}

M.treesitter = {
    ensure_installed = {
        "vim",
        "lua",
        "html",
        "css",
        "javascript",
        "typescript",
        "tsx",
        "php",
        "c",
        "cpp",
        "java",
        "python",
        "ninja",
        "rst",
        "markdown",
        "markdown_inline",
        "bash",
        "fish",
        "regex",
        "git_config",
        "gitcommit",
        "git_rebase",
        "gitignore",
        "gitattributes",
        "dockerfile",
    },
    indent = {
        enable = true,
    },
}

M.mason = {
    cmd = true,
    pkgs = {
        -- lua stuff
        "lua-language-server",
        "stylua",

        -- web dev stuff
        "css-lsp",
        "html-lsp",
        "prettier",

        -- c/cpp stuff
        "clangd",
        "clang-format",

        -- java stuff
        "jdtls",
        "java-test",
        "java-debug-adapter",
        "spring-boot-tools",
        "lombok",

        -- python stuff
        "pylsp",
        "basedpyright",
        "ruff",
        "black",

        "hadolint",
    },
}

-- git support in nvimtree
M.nvimtree = {
    git = {
        enable = true,
    },
    renderer = {
        highlight_git = true,
        icons = {
            show = {
                git = true,
            },
        },
    },
}

return M
