aboutsummaryrefslogtreecommitdiffstats
path: root/lua/plugins/treesitter.lua
diff options
context:
space:
mode:
authorAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-01-22 10:18:07 +0100
committerAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-01-22 10:18:07 +0100
commit5455aacdedfb2829f000b2f120a6d5194d1227f8 (patch)
treeca73cfdf3b9106aab00c5acb3d239df61e9c43d9 /lua/plugins/treesitter.lua
parentbf157b642c2910abae1810c985817e42502000b5 (diff)
downloadnvim-conf-5455aacdedfb2829f000b2f120a6d5194d1227f8.tar.gz
nvim-conf-5455aacdedfb2829f000b2f120a6d5194d1227f8.zip
feat: big change on the structure of the plugins, move several things to config dir
Diffstat (limited to 'lua/plugins/treesitter.lua')
-rw-r--r--lua/plugins/treesitter.lua71
1 files changed, 71 insertions, 0 deletions
diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua
new file mode 100644
index 0000000..b41eb3c
--- /dev/null
+++ b/lua/plugins/treesitter.lua
@@ -0,0 +1,71 @@
+return {
+ "nvim-treesitter/nvim-treesitter",
+ build = ":TSUpdate",
+ dependencies = {
+ "nvim-treesitter/playground",
+ "nvim-treesitter/nvim-treesitter-refactor",
+ "nvim-treesitter/nvim-treesitter-textobjects",
+ },
+ config = function()
+ require "nvim-treesitter.configs".setup {
+ ensure_installed = { "php", "phpdoc", "vim", "go", "gomod", "css", "html", "javascript", "lua", "typescript", "yaml", "query" },
+ highlight = {
+ enable = true,
+ additional_vim_regex_highlighting = false,
+ },
+ indent = {
+ enable = true,
+ },
+ incremental_selection = {
+ enable = true,
+ keymaps = {
+ init_selection = "gnn",
+ node_incremental = "grn",
+ scope_incremental = "grc",
+ node_decremental = "grm",
+ },
+ },
+ refactor = {
+ highlight_definitions = { enable = true },
+ smart_rename = {
+ enable = true,
+ keymaps = {
+ smart_rename = "trr",
+ },
+ },
+ },
+ textobjects = {
+ select = {
+ enable = true,
+ lookahead = true,
+ keymaps = {
+ ["af"] = "@function.outer",
+ ["if"] = "@function.inner",
+ ["ac"] = "@conditional.outer",
+ ["ic"] = "@conditional.inner",
+ ["al"] = "@loop.outer",
+ ["il"] = "@loop.inner",
+ }
+ }
+ },
+ playground = {
+ enable = true,
+ disable = {},
+ updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
+ persist_queries = false, -- Whether the query persists across vim sessions
+ keybindings = {
+ toggle_query_editor = 'o',
+ toggle_hl_groups = 'i',
+ toggle_injected_languages = 't',
+ toggle_anonymous_nodes = 'a',
+ toggle_language_display = 'I',
+ focus_language = 'f',
+ unfocus_language = 'F',
+ update = 'R',
+ goto_node = '<cr>',
+ show_help = '?',
+ },
+ }
+ }
+ end
+}