From c959b2112fb4c82b5bfd410df21706455225bd40 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jul 2024 17:03:56 +0100 Subject: minor additions --- lua/config/nvim_treesitter_config_setup.lua | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 lua/config/nvim_treesitter_config_setup.lua (limited to 'lua/config/nvim_treesitter_config_setup.lua') diff --git a/lua/config/nvim_treesitter_config_setup.lua b/lua/config/nvim_treesitter_config_setup.lua new file mode 100644 index 0000000..cf8f79a --- /dev/null +++ b/lua/config/nvim_treesitter_config_setup.lua @@ -0,0 +1,56 @@ + require("nvim-treesitter.configs").setup({ + ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "python", "cpp", "make", + "norg", "org", "latex", "tmux", "zathurarc", "yaml", "xml", "sxhkdrc", "ssh_config", + "sql", "regex", "r", "perl", "muttrc", "html", "fortran", "bibtex", "bash" }, + auto_install = true, + highlight = { + enable = true, + }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "ss", + node_incremental = "si", + scope_incremental = "sc", + node_decremental = "sd", + }, + }, + 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" }, + }, + -- 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 '') or a table + -- mapping query_strings to modes. + selection_modes = { + ['@parameter.outer'] = 'v', -- charwise + ['@function.outer'] = 'V', -- linewise + ['@class.outer'] = '', -- 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`. + include_surrounding_whitespace = true, + }, + }, + }) + -- cgit v1.2.3