summaryrefslogtreecommitdiff
path: root/lua/treesitter.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/treesitter.lua')
-rw-r--r--lua/treesitter.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/lua/treesitter.lua b/lua/treesitter.lua
new file mode 100644
index 0000000..8113094
--- /dev/null
+++ b/lua/treesitter.lua
@@ -0,0 +1,48 @@
+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,
+})
+