return { { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", event = { "BufReadPre", "BufNewFile" }, lazy = vim.fn.argc(-1) == 0, cmd = { "TSUpdateSync", "TSUpdate", "TSInstall" }, keys = { { "", desc = "Increment Selection" }, { "", desc = "Decrement Selection", mode = "x" }, }, opts_extend = { "ensure_installed" }, ---@type TSConfig ---@diagnostic disable-next-line: missing-fields opts = { highlight = { enable = true }, indent = { enable = true }, ensure_installed = { "bash", "c", "diff", "html", "lua", "markdown", "markdown_inline", "python", "query", "vim", "vimdoc", "yaml" }, incremental_selection = { enable = true, keymaps = { init_selection = "", node_incremental = "", scope_incremental = false, node_decremental = "", }, }, }, config = function(_, opts) require("nvim-treesitter.configs").setup(opts) end, } }