This page is an attempt to provide a simple, web-accessible, list of Leo's rich set of features and capabilities.

Feature Type Description Notes
Node Actions plugin   [1]
c.db core commands access a persistent database [2]
.deb files feature create .deb files from the Leo repository [3]
@edit file type file directive entire external file in node body [4]
incremental search feature Alt-S forward, Alt-R reverse [5]
Active Path plugin extends filesystem awareness [6]
clone-find-all command create clones of nodes containing search term [7]
iPython integration plugin exposes iPython features to Leo [8]
search file core commands find_h(), find_c() - select_h() select_c() [9]
@folder     [10]
quicksearch     [11]



Revision 1608 contains a new nodeActions plugin, modeled after the old FileActions? plugin, designed to invoke a script when a node is double clicked based on a pattern match to the node's headline.



c.db is a dictionary. The keys can be anything pickleable.

.deb files


You should now be able to create a debian package for leo :-)

I created a package in ubuntu 8.10, it may work with other systems. Try it here:

You can try creating your own debian package by going to leo-editor dir and doing "dpkg-buildpackage -rfakeroot". The packages appear in parent dir. No bump up the version number, edit debian/changelog (syntax is important, it's machine-parsed).

@edit file type


File:Open creates an @edit node containing the entire file. From then on, opening the .leo file containing the @edit node will automatically read the file.

Incremental search


Also, the latest Leo trunk now contains a fully functional incremental search. By default, Alt-S starts the incremental search, Alt-R starts a backward incremental search. To repeat the search, do Alt-S or Alt- R again. isearch now works with both tk and qt gui plugins.

Active path


In response to dclark's recent query about syncing leo and directory hierarchies, and the recent fixing of the @path infrastructure, I've done some more work on my "active_path" plugin.

An overview of what it does (i.e. the plugin menu about output) is here: about ActivePath



<alt-x> clone-find-all prompts for a term, enter the term and <enter>

If the term exists in the Leo file, a new node 'Found' is created, with children consisting of clones of the nodes containing the search term.



integration of iPython with Leo

You should see in the log pane upon startup:

@command: start-ipython = <Alt+Shift+I>
@command: push-to-ipython = <Alt+I>
@command: dt