| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- return {
- {
- "nvim-treesitter/nvim-treesitter",
- build = ":TSUpdate",
- config = function()
- local configs = require("nvim-treesitter.configs")
- configs.setup({
- ensure_installed = {
- "c",
- "lua",
- "vim",
- "vimdoc",
- "javascript",
- "html",
- "rust",
- "regex",
- "typescript",
- "tsx",
- "typst",
- "markdown",
- "markdown_inline",
- "r"
- },
- sync_install = false,
- highlight = { enable = true },
- indent = { enable = true },
- })
- end,
- },
- {
- "nvim-treesitter/nvim-treesitter-textobjects",
- build = ":TSUpdate",
- config = function()
- require("nvim-treesitter.configs").setup({
- textobjects = {
- select = {
- enable = true,
- -- Automatically jump forward to textobj, similar to targets.vim
- lookahead = true,
- keymaps = {
- -- You can use the capture groups defined in textobjects.scm
- ["af"] = "@function.outer",
- ["if"] = "@function.inner",
- ["ac"] = "@class.outer",
- -- You can optionally set descriptions to the mappings (used in the desc parameter of
- -- nvim_buf_set_keymap) which plugins like which-key display
- ["ic"] = { query = "@class.inner", desc = "Select inner part of a class region" },
- -- You can also use captures from other query groups like `locals.scm`
- ["as"] = { query = "@scope", query_group = "locals", desc = "Select language scope" },
- ["ap"] = "@parameter.outer",
- ["ip"] = "@parameter.inner",
- },
- -- You can choose the select mode (default is charwise 'v')
- --
- -- Can also be a function which gets passed a table with the keys
- -- * query_string: eg '@function.inner'
- -- * method: eg 'v' or 'o'
- -- and should return the mode ('v', 'V', or '<c-v>') or a table
- -- mapping query_strings to modes.
- selection_modes = {
- ["@parameter.outer"] = "v", -- charwise
- ["@function.outer"] = "V", -- linewise
- ["@class.outer"] = "<c-v>", -- blockwise
- },
- -- If you set this to `true` (default is `false`) then any textobject is
- -- extended to include preceding or succeeding whitespace. Succeeding
- -- whitespace has priority in order to act similarly to eg the built-in
- -- `ap`.
- --
- -- Can also be a function which gets passed a table with the keys
- -- * query_string: eg '@function.inner'
- -- * selection_mode: eg 'v'
- -- and should return true or false
- include_surrounding_whitespace = true,
- },
- },
- })
- end,
- },
- }
|