return {
  {
    "nvim-treesitter/nvim-treesitter",
    ---@type TSConfig
    ---@diagnostic disable-next-line: missing-fields
    opts = {
      autotag = { enable = true },
      endwise = { enable = true },
      ensure_installed = {
        "bash",
        "c",
        "diff",
        "html",
        "javascript",
        "jsdoc",
        "json",
        "jsonc",
        "lua",
        "luadoc",
        "luap",
        "markdown",
        "markdown_inline",
        "python",
        "query",
        "regex",
        "toml",
        "tsx",
        "typescript",
        "vim",
        "vimdoc",
        "yaml",
        "arduino",
        "diff",
        "dart",
        "css",
        "c_sharp",
        "comment",
        "fish",
        "git_config",
        "git_rebase",
        "gitattributes",
        "gitcommit",
        "gitignore",
        "groovy",
        "hjson",
        "http",
        "ini",
        "luadoc",
        "make",
        "kotlin",
        "julia",
        "meson",
        "perl",
        "php",
        "prisma",
        "r",
        "rasi",
        "ruby",
        "sql",
        "scss",
        "slint",
        "svelte",
        "todotxt",
        "vim",
        "vue",
        "hypr",
        "java",
      },
    },
  },
  {
    "RRethy/nvim-treesitter-endwise",
    event = "BufRead",
  },
  {
    "nvim-treesitter/nvim-treesitter-context",
    event = "LazyFile",
    enabled = true,
    opts = { mode = "cursor" },
  },
  {
    "chrisgrieser/nvim-puppeteer",
    dependencies = "nvim-treesitter/nvim-treesitter",
    lazy = false,
  },
}
