aboutsummaryrefslogtreecommitdiffstats
path: root/after/plugin/treesitter.lua
diff options
context:
space:
mode:
Diffstat (limited to 'after/plugin/treesitter.lua')
-rw-r--r--after/plugin/treesitter.lua64
1 files changed, 64 insertions, 0 deletions
diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua
new file mode 100644
index 0000000..f2f5360
--- /dev/null
+++ b/after/plugin/treesitter.lua
@@ -0,0 +1,64 @@
+if not pcall(require, "nvim-treesitter") then
+ return
+end
+
+require "nvim-treesitter.configs".setup {
+ ensure_installed = {"php", "go", "comment", "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 = "grr",
+ },
+ },
+ },
+ 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 = '?',
+ },
+ }
+}