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-tableAbbrev table for ‘hierarchy-tabulated-mode’.
hierarchy-tabulated-mode-hookHook run after entering ‘hierarchy-tabulated-mode’.
hierarchy-tabulated-mode-mapKeymap for ‘hierarchy-tabulated-mode’.
hierarchy-tabulated-mode-syntax-tableSyntax 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)

Defined faces (0)