local config = function(_, opts)
	require("nvim-dap-repl-highlights").setup()
	require("nvim-treesitter.configs").setup(opts)
end

return {
	"nvim-treesitter/nvim-treesitter",
	build = ":TSUpdate",
	config = config,
	version = false,
	dependencies = {
		"nvim-treesitter/nvim-treesitter-textobjects",
		"LiadOz/nvim-dap-repl-highlights",
	},
	event = { "BufReadPost", "BufNewFile" },
	opts = {
		ensure_installed = {
			"bash",
			"comment",
			"css",
			"csv",
			"diff",
			"dockerfile",
			"dap_repl",
			"fish",
			"git_config",
			"git_rebase",
			"gitattributes",
			"gitcommit",
			"gitignore",
			"go",
			"gomod",
			"gosum",
			"gpg",
			"html",
			"http",
			"java",
			"javascript",
			"json",
			"json5",
			"jq",
			"kdl",
			"lua",
			"markdown",
			"nginx",
			"python",
			"pug",
			"powershell",
			"promql",
			"regex",
			"ruby",
			"rust",
			"sql",
			"scss",
			"ssh_config",
			"tmux",
			"toml",
			"typescript",
			"vrl",
			"vim",
			"vimdoc",
			"xml",
			"yaml",
		},
		highlight = {
			enable = true,
		},
		indent = {
			enable = true,
		},
		matchup = {
			enable = true,
		},
	},
}
