aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/plugins/treesitter.lua
diff options
context:
space:
mode:
authorAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-01-17 23:53:34 +0100
committerAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-01-18 09:03:37 +0100
commita04f9cd914055244f29e9ff17aa7a723f5db2405 (patch)
tree703edf280638e30fe77dd46a60a2e5442e8fd33a /lua/alpha/plugins/treesitter.lua
parentec9655746b21d5ffb01caf502cf9047f83fc3753 (diff)
downloadnvim-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.lua71
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
+}