From e258ad83f4b1217ad505078e2483a35c1a287f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Wed, 20 Sep 2023 12:14:01 +0200 Subject: [PATCH] More new plugins for nvim, as well as changing some existing ones --- .config/nvim/lua/config/keymaps.lua | 84 +++++++++++++++++++ .config/nvim/lua/plugins/puppeteer.lua | 7 ++ ...{symbol-usage.lua => symbol-usage.lua.bak} | 0 .config/nvim/lua/plugins/template-string.lua | 9 -- .config/nvim/lua/plugins/wildfire.lua | 10 +++ 5 files changed, 101 insertions(+), 9 deletions(-) create mode 100644 .config/nvim/lua/plugins/puppeteer.lua rename .config/nvim/lua/plugins/{symbol-usage.lua => symbol-usage.lua.bak} (100%) delete mode 100644 .config/nvim/lua/plugins/template-string.lua create mode 100644 .config/nvim/lua/plugins/wildfire.lua diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 4a9d073c..19ec746d 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -156,3 +156,87 @@ vim.keymap.set("n", "", "zz") vim.keymap.set("n", "n", "nzzzv") vim.keymap.set("n", "N", "Nzzzv") + +local function goto_prev_node() + local ts_utils = require("nvim-treesitter.ts_utils") + local node = ts_utils.get_node_at_cursor() + if not node then + return + end + local dest_node = ts_utils.get_previous_node(node, true, true) + if not dest_node then + local cur_node = node:parent() + while cur_node do + dest_node = ts_utils.get_previous_node(cur_node, false, false) + if dest_node then + break + end + cur_node = cur_node:parent() + end + end + if not dest_node then + return + end + ts_utils.goto_node(dest_node) +end + +local function goto_next_node() + local ts_utils = require("nvim-treesitter.ts_utils") + local node = ts_utils.get_node_at_cursor() + if not node then + return + end + local dest_node = ts_utils.get_next_node(node, true, true) + if not dest_node then + local cur_node = node:parent() + while cur_node do + dest_node = ts_utils.get_next_node(cur_node, false, false) + if dest_node then + break + end + cur_node = cur_node:parent() + end + end + if not dest_node then + return + end + ts_utils.goto_node(dest_node) +end + +local function goto_parent_node() + local ts_utils = require("nvim-treesitter.ts_utils") + local node = ts_utils.get_node_at_cursor() + if not node then + return + end + local dest_node = node:parent() + if not dest_node then + return + end + ts_utils.goto_node(dest_node) +end + +local function goto_child_node() + local ts_utils = require("nvim-treesitter.ts_utils") + local node = ts_utils.get_node_at_cursor() + if not node then + return + end + local dest_node = ts_utils.get_named_children(node)[1] + if not dest_node then + return + end + ts_utils.goto_node(dest_node) +end + +local keyopts = { noremap = true, silent = true } + +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_parent_node, keyopts) +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_child_node, keyopts) +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_next_node, keyopts) +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_prev_node, keyopts) + +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_parent_node, keyopts) +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_child_node, keyopts) +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_next_node, keyopts) +vim.keymap.set({ "n", "v", "o", "i" }, "", goto_prev_node, keyopts) diff --git a/.config/nvim/lua/plugins/puppeteer.lua b/.config/nvim/lua/plugins/puppeteer.lua new file mode 100644 index 00000000..7c1f4126 --- /dev/null +++ b/.config/nvim/lua/plugins/puppeteer.lua @@ -0,0 +1,7 @@ +return { + { + "chrisgrieser/nvim-puppeteer", + dependencies = "nvim-treesitter/nvim-treesitter", + lazy = false, + }, +} diff --git a/.config/nvim/lua/plugins/symbol-usage.lua b/.config/nvim/lua/plugins/symbol-usage.lua.bak similarity index 100% rename from .config/nvim/lua/plugins/symbol-usage.lua rename to .config/nvim/lua/plugins/symbol-usage.lua.bak diff --git a/.config/nvim/lua/plugins/template-string.lua b/.config/nvim/lua/plugins/template-string.lua deleted file mode 100644 index 1041006d..00000000 --- a/.config/nvim/lua/plugins/template-string.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - { - "axelvc/template-string.nvim", - event = "BufRead", - config = function() - require("template-string").setup() - end, - }, -} diff --git a/.config/nvim/lua/plugins/wildfire.lua b/.config/nvim/lua/plugins/wildfire.lua new file mode 100644 index 00000000..40beeba1 --- /dev/null +++ b/.config/nvim/lua/plugins/wildfire.lua @@ -0,0 +1,10 @@ +return { + { + "sustech-data/wildfire.nvim", + event = "BufRead", + dependencies = { "nvim-treesitter/nvim-treesitter" }, + config = function() + require("wildfire").setup() + end, + }, +}