diff options
| author | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-01-17 23:53:34 +0100 |
|---|---|---|
| committer | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-01-18 09:03:37 +0100 |
| commit | a04f9cd914055244f29e9ff17aa7a723f5db2405 (patch) | |
| tree | 703edf280638e30fe77dd46a60a2e5442e8fd33a /lua/alpha/plugins/treesitter.lua | |
| parent | ec9655746b21d5ffb01caf502cf9047f83fc3753 (diff) | |
| download | nvim-conf-a04f9cd914055244f29e9ff17aa7a723f5db2405.tar.gz nvim-conf-a04f9cd914055244f29e9ff17aa7a723f5db2405.zip | |
feat: migration to lazy
Diffstat (limited to 'lua/alpha/plugins/treesitter.lua')
| -rw-r--r-- | lua/alpha/plugins/treesitter.lua | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/lua/alpha/plugins/treesitter.lua b/lua/alpha/plugins/treesitter.lua new file mode 100644 index 0000000..8bb6026 --- /dev/null +++ b/lua/alpha/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" }, + 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 +} |