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.

[edit] External links