return {
    -- syntax highlighting
    "nvim-treesitter/nvim-treesitter",
    event = { "BufRead", "BufNewFile" },
    build = ":TSUpdate",
    config = function()
        require("nvim-treesitter.configs").setup({
            ensure_installed = {
                "asm",
                "bash",
                "c",
                "cpp",
                "css",
                "html",
                "hyprlang",
                "java",
                "javadoc",
                "javascript",
                "jsdoc",
                "json",
                "jsonc",
                -- "latex",
                "lua",
                "markdown",
                "meson",
                "nginx",
                "php",
                "python",
                "rasi",
                "requirements",
                "robots",
                "ruby",
                "rust",
                "scss",
                "sql",
                "svelte",
                "swift",
                "toml",
                "typescript",
                "tsx",
                "verilog",
                "vue",
                "xml",
                "yaml",
                "zathurarc",
            },
            sync_install = false,

            highlight = {
                enable = true,
                disable = { "tex" },
            },
        })
    end,
}
