return {
  'nvim-treesitter/nvim-treesitter',
  dependencies = {
    -- TODO: Fork this and add CMake support
    'RRethy/nvim-treesitter-endwise',
  },
  build = ':TSUpdate',
  config = function()
    require('nvim-treesitter').setup()
    local config = {
      ensure_installed = {
        'asm',
        'bash',
        'c',
        'cmake',
        'cpp',
        'css',
        'csv',
        'cuda',
        'diff',
        'disassembly',
        'dockerfile',
        'dot',
        'doxygen',
        'git_config',
        'git_rebase',
        'gitattributes',
        'gitignore',
        'glsl',
        'gpg',
        'hlsl',
        'html',
        'ini',
        'javascript',
        'jq',
        'json',
        'llvm',
        'lua',
        'make',
        'meson',
        'ninja',
        'objc',
        'objdump',
        'printf',
        'proto',
        'python',
        'query',
        'regex',
        'requirements',
        'rst',
        'ssh_config',
        'strace',
        'tmux',
        'toml',
        'vim',
        'vimdoc',
        'xml',
        'yaml',
      },
      sync_install = false,
      highlight = {
        enable = true,
      },
      indent = {
        enable = true,
      },
      endwise = {
        enable = true,
      },
    }
    require('nvim-treesitter.configs').setup(config)
  end
}