Open
Description
Hi, I wanted to explore what parts of the buffer the different navigation functions span in an interactive and dynamic way so I wrote this script. Wasn't sure where to post it so posting it here in case someone finds it interesting:
try %{
decl range-specs tree_first
decl range-specs tree_next
decl range-specs tree_prev
decl range-specs tree_parent
decl range-specs tree_children
}
def dyntree %{
rmhooks window tree
try %{
addhl window/ ranges tree_children
addhl window/ ranges tree_first
addhl window/ ranges tree_prev
addhl window/ ranges tree_next
addhl window/ ranges tree_parent
}
hook -group tree window NormalIdle .* %{
set window tree_children %val{timestamp}
set window tree_first %val{timestamp}
set window tree_prev %val{timestamp}
set window tree_next %val{timestamp}
set window tree_parent %val{timestamp}
eval -draft -itersel %{ try %{
tree-select-next-node
set -add window tree_next "%val{selection_desc}|default+b"
}}
eval -draft -itersel %{ try %{
tree-select-previous-node
set -add window tree_prev "%val{selection_desc}|default+i"
}}
eval -draft -itersel %{ try %{
tree-select-parent-node
set -add window tree_parent "%val{selection_desc}|default,rgb:333333"
}}
eval -draft -itersel %{ try %{
tree-select-children
eval -draft -itersel %{
set -add window tree_children "%val{selection_desc}|default+u"
}
}}
eval -draft -itersel %{ try %{
tree-select-first
set -add window tree_first "%val{selection_desc}|default,red"
}}
}
}
Metadata
Metadata
Assignees
Labels
No labels