Technical introduction to Leo

Leo puts hierarchy (outline structure) at the center of everything. This structure helps you create, manage, and revise any kind of document, including computer programs, documentation, to-do lists, and novels. Leo can write external files automatically from select parts of the outline.

Leo outlines may contain programs in any programming or markup language, including Python, C++, JavaScript, Rust, Markdown, and restructuredText.

Multiple views of data

Writers and programmers often want to view or manipulate the same text in different ways, depending on context. Leo’s clones lets you create multiple different views of data within the same outline. You can organize code by functionality in one view and by file in another. You can see documentation from as many points of view as you like.

Integrated Python Scripting

Leo is fully scriptable in Python. Any outline node can contain a Python script that accesses the outline’s data directly. Such leonine scripts also have full access to all of Leo’s source code via a straightforward Python API. Leonine scripts and plugins can create new Leo commands. See Leo’s scripting basics chapter for more details.

Summary

Traditional editors simulate hierarchy through comments, naming conventions, and the hierarchy of external files. In contrast, Leo puts hierarchy (outline structure) at the center of everything. As a result, Leo excels in managing complex text, including computer programs.