local has_configs, configs = pcall(require, "nvim-treesitter.configs") if not has_configs then return end local parser_install_dir = vim.fn.stdpath('data') .. "/site"; configs.setup { context_commenting = { enable = true, }, ensure_installed = { "bash", "comment", "css", "dockerfile", "go", "html", "javascript", "json", "lua", "make", "markdown", "php", "regex", "rst", "scss", "typescript", "vim", "vue", "yaml", }, highlight = { enable = true, }, indent = { disable = { "yaml" }, enable = true, }, matchup = { enable = true, }, textobjects = { select = { enable = true, lookahead = true, keymaps = { ["af"] = "@function.outer", ["if"] = "@function.inner", ["ac"] = "@class.outer", ["ic"] = "@class.inner", }, }, }, parser_install_dir = parser_install_dir, } vim.opt.runtimepath:append(parser_install_dir) local nmap = require("opdavies.keymap").nmap nmap { "th", "TSHighlightCapturesUnderCursor" } nmap { "tp", "TSPlaygroundToggle" } local has_context, context = pcall(require, "treesitter-context") if not has_context then return end context.setup { enable = true }