local overrides = require("configs.overrides")

return {
    -- Format the file on save 
    {
        "stevearc/conform.nvim",
        event = 'BufWritePre',
        config = function()
          require "configs.conform"
        end,
    },
    -- Install the parser (overrides)
    {
        "nvim-treesitter/nvim-treesitter",
        opts = overrides.treesitter,
    },
    -- File explorer (overrides)
    {
        "nvim-tree/nvim-tree.lua",
        opts = overrides.nvimtree,
    },
    -- Install and manage LSP servers (overrides)
    {
        "williamboman/mason.nvim",
        opts = overrides.mason,
    },
    -- LSP configuration (overrides)
    {
        "neovim/nvim-lspconfig",
        config = function()
            require("nvchad.configs.lspconfig").defaults()
            require "configs.lspconfig"
        end,
        dependencies = {
			{
            "nvimdev/lspsaga.nvim",
			config = function()
				require('lspsaga').setup({
                    lightbulb = {
                        virtual_text = false,
                    },
                    code_action = {
                        extend_gitsigns = true,
                    },
                    rename = {
                        auto_save = true,
                    }
                })
			end,
			dependencies = {
					"nvim-treesitter/nvim-treesitter",
					"nvim-tree/nvim-web-devicons",
				}
			}
        },
    },
    {
    "mfussenegger/nvim-dap",
        dependencies = {
        "mfussenegger/nvim-dap-python",
        },
    }
}
