return {
  -- Core nvim-treesitter plugin
  {
    "nvim-treesitter/nvim-treesitter",
    build = ":TSUpdate", -- Updates parsers on install
    priority = 1000,     -- ← HIGHEST priority
    config = true,       -- Let lazy.nvim auto-call .setup() with opts
    opts = {
      ensure_installed = {
        "lua",
        "vim",
        "vimdoc",
        "markdown",
        "java",
        "yaml",
        "latex",
        "r",
        "query",
        "python",
        "javascript",
        "typescript",
        "rust",
        "go",
        "bash",
        "c",
        "cpp",
        "html",
      },
      sync_install = false,
      auto_install = true,
      highlight = {
        enable = true,
        additional_vim_regex_highlighting = false,
      },
      indent = {
        enable = true,
      },
    },
  },

  -- Textobjects plugin that depends on the core plugin
  {
    "nvim-treesitter/nvim-treesitter-textobjects",
    dependencies = { "nvim-treesitter/nvim-treesitter" },
    config = function()
      -- Configuration is integrated into the main setup
      -- No need to call require() here
    end,
  },
}
