Yet another label-based node selection plugin.
There are some cases that start or end of the node position overlaps with the other nodes. If labels are overlayed, there is a difficulty on selecting the intended one (e.g., nvim-treehopper or leap-ast.nvim). If labels are inserted inline, your eyes may fail to track the node (e.g., flash.nvim).
Instead, this plugin does...
- Label start of nodes with lower case letters and end of nodes with the corresponding upper case letters.
- Ask user to input a label.
- If there are any labels hidden by the chosen label, then ask again to choose the label from the subset of choises.
- Select the node of the choice.
It's like monkey hanging around the Abstract Syntax Tree. Isn't it?
vim.keymap.set({"x", "o"}, "m", function()
require("treemonkey").select({
ignore_injections = false,
highlight = { backdrop = "Comment" }
})
end)
With lazy.nvim, ...
{
"https://github.com/atusy/treemonkey.nvim",
init = function()
vim.keymap.set({"x", "o"}, "m", function()
require("treemonkey").select({ ignore_injections = false })
end)
end
}