require("nvim-treesitter.configs").setup({
    ensured_installed = { "c", "cpp", "lua", "vim", "vimdoc" },
    auto_install = false,
    highlight = {
        enable = true,
    },
    incremental_selection = {
        enable = true,
        keymaps = {
            init_selection = "<c-s>",
            node_incremental = "<c-s>",
            node_decremental = "<m-s>",
        },
    },
    textobjects = {
        select = {
            enable = true,
            loookahead = true,
            keymaps = {
                ["aa"] = "@parameter.outer",
                ["ia"] = "@parameter.inner",
                ["af"] = "@function.outer",
                ["if"] = "@function.inner",
            },
        },
        move = {
            enable = true,
            goto_next_start = {
                [")a"] = "@parameter.inner",
            },
            goto_previous_start = {
                ["(a"] = "@parameter.inner",
            },
        },
        swap = {
            enable = true,
            swap_next = {
                ["<leader>a"] = "@parameter.inner",
            },
            swap_previous = {
                ["<leader>A"] = "@parameter.inner",
            },
        },
    },
    indent = { enable = true, disable = { "python" } },
    additional_vim_regex_highlighting = false,
})