" Tree-sitter configuration
lua <<EOF

ts = require'nvim-treesitter.configs'

ts.setup {
  highlight = {
    enable = true,
    additional_vim_regex_highlighting = true,
  },
  ensure_installed = {
    "bash",
    "c",
    "cmake",
    "cpp",
    "fish",
    "lua",
    "rust",
  },
  -- disabled, since it mostly shifts to four characters
  --indent = {
  --  enable = true,
  --},
  incremental_selection = {
    enable = true,
    keymaps = {
      init_selection = "tis",
      node_incremental = "ti",
      scope_incremental = "ts",
      node_decremental = "td",
    },
  },
  rainbow = {
    enable = true,
    -- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for
    extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean
    max_file_lines = 10000, -- Do not enable for files with more than n lines, int
    -- colors = {}, -- table of hex strings
    -- termcolors = {} -- table of colour name strings
  },
  textobjects = {
    swap = {
      enable = true,
      swap_next = {
        ["tan"] = "@parameter.inner",
      },
      swap_previous = {
        ["tap"] = "@parameter.inner",
      },
    },
  },
  matchup = {
    enable = true,
    -- disable = { "c", "ruby" },
    include_match_words
  },
}
--vim.opt.foldmethod = "expr"
--vim.opt.foldexpr = "nvim_treesitter#foldexpr()"

EOF
