Leo (text editor)
From Wikipedia, the free encyclopedia
Leo: Literate Editor with Outlines | |
Screenshots |
|
Developer: | Edward K. Ream |
---|---|
Latest release: | 4.4.2.1 final / 2006-29-21 |
OS: | Cross-platform |
Use: | Text editor, Outliner |
License: | Python License |
Website: | Leo's home |
Leo (Literate Editor with Outlines) is a text editor that features outlines with clones as its central tool of organization and navigation.
Contents |
[edit] Language
Leo is written in Python and uses Tk GUI toolkit. It is fully scriptable using Python and can be extended with plugins.
[edit] Leo outlines and clones
In Leo, outlines are hierarchical tree structures that are used to work with and manage text files -- including code.
Clones are outline nodes that are automatically kept identical throughout a Leo outline. They can be thought of as pointers to the same content: By editing one, all the other clones of that outline element update as well.
This feature turns the outline tree structure into a directed acyclic graph structure.
The elements of Leo outlines can be bracketed or unbracketed. Text files being maintained by a Leo outline are generated by traversing all unbracketed elements of the tree in a process called "tangling." Bracketed elements can be "called" from parent nodes and are inserted at the position of the call during tangling.
[edit] Literate programming and Leo
Leo supports formats used in literate programming, and uses some ideas of the concept. The main idea is the concurrent development of code and documentation by keeping the two close together, while maintaining independence from the code sequence by using named outline elements called chunks.