Using iterators — Leo 6.7.2 documentation

# Using iterators

Iterators give access to all the data in a Leo outline. For example, the following script prints all headlines in an outline, indented to show outline level:

    for p in c.all_positions():
        g.es(' '*p.level(),p.h)

The output of this script, when run from LeoDocs.leo, will look something like this:

    Startup
     @file doc-startup.txt
      @chapters
      Buttons
       Disabled buttons
    ... and hundreds of other nodes.

Note: p.level() is a method of the position class that returns the outline level of the node at position p: 0 for top-level nodes, 1 for their children, and so on.