Skip to main content

LeoJS

Literate Editor with Outlines

‟Leo is a fundamentally different way of organizing data, programs and scripts.”
LeoJS is a JavaScript implementation designed as an extension for VSCode.

Directed Acyclic Graphs

Directed Acyclic Graphs

Break down your code into a structured outline that generates or parses back your source files.

Use LeoJS in VSCode on the Web!

Web-Based Development

LeoJS can also run as a web extension on VSCode for the web. It works directly inside GitHub and Azure Repos.

Use JavasScript or TypeScript

Scriptable in JavaScript

Scriptable in Javascript and Typescript, all commands and scripts have access to outline structure.

Leo is:

  • An outliner. Everything in Leo is an outline.
  • A data manager, and personal information manager.
  • A powerful scripting environment.
  • A tool for organizing and studying computer code.
  • Extensible via a simple plugin architecture.
Loading...

VSCode UI Integration

  • Outline in the explorer view, and in its own sidebar
  • body pane and Detached Body Panes
  • Keybindings that match the original Leo editor
  • Find panel, with integrated Nav and Tag panel
  • '@button' panel
  • Undo History panel
Loading...

Leo’s unique features

  • Scripts have full access to Leo’s sources and VSCode’s API.
  • Clones create multiple views of an outline.
  • Leo’s clone-find commands enable the Leonine way to refactor.
  • Scripts and programs can be composed from outlines.
  • Importers convert flat text into outlines.
  • @button scripts apply scripts to outline data.
Full set of Original Commands

Leo Commands

Extensive set of integrated commands with toolbar buttons, menus, and keybindings. They are also discoverable in VSCode's Command Palette.

Context-Aware Keybindings

The keybindings are context-aware. When your focus is within the Body or Outline pane, Leo-specific keybindings take precedence.

Access Commands Easily!

The Minibuffer

The 'minibuffer' is the command execution hub. Access it through Alt+X and use the complete set of Leo commands!

What People are Saying about Leo

  • Leo is a powerful tool for organizing text into tree structures, and for just generally attacking a number of problems from a tree-based perspective.Joe Orr
  • The range of activities that Leo can support is amazingly wide. That’s why it’s hard to tell someone what Leo “is”. It’s like the elephant and the blind men - none of them can see the whole of the elephant.Thomas Passin
  • I am a huge fan of Leo. I think it’s quite possibly the most revolutionary programming tool I have ever used and it (along with the Python language) has utterly changed my view of programming (indeed of writing) forever.Shakeeb Alireza
  • Thank you very much for Leo. The main concept that impress me is that the source listing isn’t the main focus any more. You focus on the non-linear, hierarchical, collapsible outline of the source code.Korakot Chaovavanich
  • Leo is a quantum leap for me in terms of how many projects I can manage and how much information I can find and organize and store in a useful way.Dan Winkler
  • When first I opened Leo, it was out of curiosity. But having used it…I’ll never go back. They’ll have to pry Leo out of my cold, dead fingers!Travers A. Hough
  • Leo is a marriage of outlining and programming. Pure genius.Austin King
  • I have been using it now for about 2–3 months. It has totally changed not only the way that I program, but also the way that I store and organize all of the information that I need for the job that I do.Ian Mulvany
  • I’m absolutely astounded by the power of such a simple idea! It works great and I can immediately see the benefits of using Leo in place of the standard flat file editor.Tom Lee
  • Leo is an interactive editor for organizing text fragments hierarchically and sequentially into one or more files and hierarchical folders, without arbitrary limits on the number and size of text fragments and the depth of the hierarchy…Alex Abacus
  • Leo creates living documents. Ideas can be organized and reorganized gradually and then inserted into the appropriate place in a project. Outlines become fluid, allowing infinite depth and by using clones of nodes, arbitrary levels of complexity… Instead of imposing structure, it allows you to impose your own, and then be as creative as you want.Chris George
  • Cloning is pure genius!… Leo’s cloning facility, allows me to create several views on the CFA course material. My main view follows the prescribed study guide. Another view is organized like the textbooks. Yet another gives me a glossary of terms. And when I’m done, I’ll have some nice libraries…I can re-use later in other projects.Michael Manti
  • Just as structured programming reveals and disciplines the flow control of a program, [Leo] allows the designer to reveal and discipline structure at many layers simultaneously: data structures, object structure, entity-relationship structure, client-server structure, design pattern structure, temporal structure, project management structure, and any other structure relevant to the system.Steven P. Schaefer