Leo (text editor)

Leo is an open-source text editor/outliner that features clones (virtual copies of outline nodes) as a central tool of organization, navigation, customization and scripting.

Leo's foremost functionality, in addition to text editing, is that of an outliner, with a "vast range of convenience features for structuring and managing outlines" both by drag-and-drop via GUI and by keyboard commands.

Leo trees are in fact directed acyclic graphs; nodes may have more than one parent.

Comments, called sentinel lines, in external files represent the outline structure.

The API includes Python iterators that allow scripts to traverse outlines easily.

A markup language similar to noweb tells Leo how to create scripts from (parts of) an outline.