From 49e474caeb1c4fb370a6c5ddaf2d644d1d749307 Mon Sep 17 00:00:00 2001 From: Henrik Bakken Date: Thu, 19 Mar 2026 23:57:59 +0100 Subject: [PATCH] nvim treewalker (OMG!) --- CONFIG/nvim/init.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CONFIG/nvim/init.lua b/CONFIG/nvim/init.lua index 8adc899..004233b 100644 --- a/CONFIG/nvim/init.lua +++ b/CONFIG/nvim/init.lua @@ -1396,6 +1396,29 @@ local function makespec_treesitter() } end +local function makespec_treewalker() + return { + "aaronik/treewalker.nvim", + -- Load when you open a file that Treesitter supports + event = { "BufReadPost", "BufNewFile" }, + opts = { + -- Briefly highlights the block of code you just jumped to + highlight = true, + }, + keys = { + -- Normal and Visual mode mappings + { "]]", "Treewalker Down", mode = { "n", "v" }, desc = "Next Sibling (Current Level)" }, + { "[[", "Treewalker Up", mode = { "n", "v" }, desc = "Prev Sibling (Current Level)" }, + { "((", "Treewalker Left", mode = { "n", "v" }, desc = "Go Out (Parent Level)" }, + { "))", "Treewalker Right", mode = { "n", "v" }, desc = "Go In (Child Level)" }, + + -- Optional: Swap nodes! (Move current block down/up past its sibling) + { "Sj", "Treewalker SwapDown", desc = "Swap Block Down" }, + { "Sk", "Treewalker SwapUp", desc = "Swap Block Up" }, + }, + } +end + local function makespec_hlslens() return { -- search count > 99 @@ -1636,6 +1659,7 @@ for _, spec in ipairs({ makespec_conform(), -- autoformat makespec_lspconfig(), makespec_treesitter(), + makespec_treewalker(), makespec_todocomments(), makespec_autotag(), makespec_lint(),