File: hierarchy.el.html
Library to create, query, navigate and display hierarchical structures.
Creation: After having created a hierarchy with hierarchy-new,
populate it by calling hierarchy-add-tree or
hierarchy-add-trees. You can then optionally sort its element
with hierarchy-sort.
Querying: You can learn more about your hierarchy by using
functions such as hierarchy-roots, hierarchy-has-item,
hierarchy-length, hierarchy-parent, hierarchy-descendant-p.
Navigation: When your hierarchy is ready, you can use
hierarchy-map-item, hierarchy-map, and map-tree to apply
functions to elements of the hierarchy.
Display: You can display a hierarchy as a tabulated list using
hierarchy-tabulated-display and as an expandable/foldable tree
using hierarchy-convert-to-tree-widget. The
hierarchy-labelfn-* functions will help you display each item of
the hierarchy the way you want it.
Defined variables (4)
hierarchy-tabulated-mode-abbrev-table | Abbrev table for ‘hierarchy-tabulated-mode’. |
hierarchy-tabulated-mode-hook | Hook run after entering ‘hierarchy-tabulated-mode’. |
hierarchy-tabulated-mode-map | Keymap for ‘hierarchy-tabulated-mode’. |
hierarchy-tabulated-mode-syntax-table | Syntax table for ‘hierarchy-tabulated-mode’. |
Defined functions (56)
copy-hierarchy | (ARG) |
hierarchy--add-relation | (HIERARCHY ITEM PARENT ACCEPTFN) |
hierarchy--children | (hierarchy--children X) |
hierarchy--children--inliner | (INLINE--FORM X) |
hierarchy--compute-roots | (HIERARCHY) |
hierarchy--create-delayed-tree-widget | (ELEM LABELFN INDENT CHILDRENFN) |
hierarchy--delaying-parents | (hierarchy--delaying-parents X) |
hierarchy--delaying-parents--inliner | (INLINE--FORM X) |
hierarchy--make | |
hierarchy--make--cmacro | |
hierarchy--parents | (hierarchy--parents X) |
hierarchy--parents--inliner | (INLINE--FORM X) |
hierarchy--roots | (hierarchy--roots X) |
hierarchy--roots--inliner | (INLINE--FORM X) |
hierarchy--seen-items | (hierarchy--seen-items X) |
hierarchy--seen-items--inliner | (INLINE--FORM X) |
hierarchy--seen-items-add | (HIERARCHY ITEM) |
hierarchy--set-equal | (LIST1 LIST2 &rest CL-KEYS) |
hierarchy--sort-roots | (HIERARCHY SORTFN) |
hierarchy-add-list | (HIERARCHY LIST &optional WRAP CHILDRENFN) |
hierarchy-add-tree | (HIERARCHY ITEM PARENTFN &optional CHILDRENFN ACCEPTFN DELAY-CHILDREN-P) |
hierarchy-add-trees | (HIERARCHY ITEMS PARENTFN &optional CHILDRENFN ACCEPTFN DELAY-CHILDREN-P) |
hierarchy-child-p | (HIERARCHY ITEM1 ITEM2) |
hierarchy-children | (HIERARCHY PARENT) |
hierarchy-convert-to-tree-widget | (HIERARCHY LABELFN) |
hierarchy-copy | (HIERARCHY) |
hierarchy-descendant-p | (HIERARCHY ITEM1 ITEM2) |
hierarchy-empty-p | (HIERARCHY) |
hierarchy-equal | (HIERARCHY1 HIERARCHY2) |
hierarchy-extract-tree | (HIERARCHY ITEM) |
hierarchy-from-list | (LIST &optional WRAP CHILDRENFN) |
hierarchy-has-item | (HIERARCHY ITEM) |
hierarchy-has-root | (HIERARCHY ITEM) |
hierarchy-items | (HIERARCHY) |
hierarchy-labelfn-button | (LABELFN ACTIONFN) |
hierarchy-labelfn-button-if | (LABELFN BUTTONP ACTIONFN) |
hierarchy-labelfn-indent | (LABELFN &optional INDENT-STRING) |
hierarchy-labelfn-to-string | (LABELFN ITEM INDENT) |
hierarchy-leafs | (HIERARCHY &optional NODE) |
hierarchy-length | (HIERARCHY) |
hierarchy-map | (FUNC HIERARCHY &optional INDENT) |
hierarchy-map-hierarchy | (FUNCTION HIERARCHY) |
hierarchy-map-item | (FUNC ITEM HIERARCHY &optional INDENT) |
hierarchy-map-tree | (FUNCTION HIERARCHY &optional ITEM INDENT) |
hierarchy-new | () |
hierarchy-p | (X) |
hierarchy-p--inliner | (INLINE--FORM X) |
hierarchy-parent | (HIERARCHY ITEM) |
hierarchy-print | (HIERARCHY &optional TO-STRING) |
hierarchy-roots | (HIERARCHY) |
hierarchy-sort | (HIERARCHY &optional SORTFN) |
hierarchy-tabulated-display | (HIERARCHY LABELFN &optional BUFFER) |
hierarchy-tabulated-imenu-action | (ITEM-NAME POSITION) |
hierarchy-tabulated-mode | () |
hierarchy-to-string | (HIERARCHY &optional TO-STRING) |
hierarchy-tree-display | (HIERARCHY LABELFN &optional BUFFER) |