Glossary

This is a short glossary of important terms in Leo’s world. For more information about terms, look in the index for links to discussions in other places, especially inLeo’s Tutorial andLeo’s Reference.

@

@

Starts a doc part. Doc parts continue until an@c or@codedirective or the end of the body text.

@@conventionforheadlines

Within@asis trees only, if a headline starts with@@, Leowrites everything in the headline following the @@ just before thecorresponding body text.

@<file>node

A node whose headline starts with@asis,@auto,@clean,@edit,@file,@shadow,@thin.

We often refer to outline nodes by the directives they contain. Forexample, an@file node is a node whose headline starts with@file.

@all

Copies the body text of all nodes in an @file tree to the external file.

@asis<filename>

Creates an external file containing no Leo sentinels directly from the@asis tree.

@auto<filename>

Imports an external file into the Leo outline, splitting the file intonodes if an importer exists for the give filetype.

@cand@code

Ends a doc part and starts a code part.

@chapter

An@chapter tree represents a chapter.

@clean

Creates an external file without sentinels.
Section references and the@all and@others directives are valid in@clean trees.

@color

Enables syntax coloring in a node and its descendants until the next@nocolor directive.

@comment

Sets the comment delimiters in@thin,@file and@shadow files.

@delims

Sets the comment delimiters in@thin,@file and@shadow files.

@edit<filename>

Reads an entire external file into a single node.

@encoding<encoding>

Specifies the Unicode encoding for an external file.

@file<filename>

Creates an external file containing sentinels.

When writing@file trees, Leo expands section references and@all and@others directives.

@first<text>

This directive inserts a line at thevery start of an external file,before the first sentinel.

The@first directive must appear at thevery start of body text. For example:

@first#! /usr/bin/env python
@killcolor

Completely disables syntax coloring in a node, regardless of other directives.

@language<languagename>

Specifies the source language, which affects syntax coloring and thecomments delimiters used in external files and syntax coloring.

@last<text>

Allows you to place lines at the very end of external files, after the last sentinel.

This directive must appear at thevery end of body text. For example:

@first <?php...@last ?>
@lineendingcr/lf/nl/crlf

Sets the line endings for external files.

@nocolor

Disables syntax coloring in a node and its descendants until the next@colordirective.

@nocolor-node

Completely disables coloring for one node. Descendant nodes are not affected.

@nosent

Creates external files without sentinels. Unlike@clean,@nosent treesare never updated from from external files.

@nowrap

Disables line wrapping the Leo’s body pane.

@others

Copies the body text of all nodesexcept section definition nodes in an@file tree to the corresponding external file.

@pagewidth<n>

Sets the page width used by the reformat-paragraph command.This directive also controls how@doc parts are broken into lines.

@path<path>

Sets the path prefix for relative filenames for descendant@<file> directives.

@tabwidth<n>

Sets the width of tabs. Negative tab widths cause Leo to convert tabs tospaces.

@thin<filename>

A synonym for@file.

@wrap

Enables line wrapping in Leo’s body pane.

A - C

Body pane

The pane containing the body text of the currently selected headline in theoutline pane.

Body text

The text in the body pane. That is, the contents of a node.

Body text box

A small blue box in the icon box indicating that the node contains bodytext.

Child

The direct descendant of a node.

Clone

A copy of a tree that changes whenever the original changes.The original and all clones are treated equally:no special status is given to the “original” node.

Clone arrow

A small red arrow in the icon box indicating that the node is a clone.

Code part

A part of a section definition that contains code. Code parts start with@cor@code directives and continue until the next doc part.

Contract

To hide all descendants of a node.

D - G

Demote

To move all siblings that follow a node so that they become children of the node.

Descendant

An offspring of a node. That is, a child, grandchild, etc. of a node.

Directive

A keyword, preceded by an@ sign, in body text that controls Leo’soperation. The keyword is empty for the@ directive.

Dirty Node

A node whose headline or body text has changed.

Doc part

A part of a section definition that contains comments. Doc parts start with@ and continue until the@c directive or the end of the body text.

Escape convention

A convention for representing sequences of characters that would otherwisehave special meaning.

Important: Within any@<file> node, any line containing matched<< and>> characters is a section reference. To use<< and>> as ordinary characters, place them on separate lines.

Expand

To make the children of a node visible.

External file

A file outside of Leo that is connected to Leo by an@<file> node.

Gnx (Global Node Index)

A unique, immutable string permanently associated with each vnode.Seeformat of external files.

Grandchild

The child of a child of a node.

H - L

Headline

The headline text of a node. The part of the node visible in the outline pane.

Hoist & dehoist

Hoisting a node redraws the screen that node and its descendants becomes theonly visible part of the outline. Leo prevents the you from moving nodesoutside the hoisted outline. Dehoisting a node restores the outline.Multiple hoists may be in effect: each dehoist undoes the effect of theimmediately preceding hoist.

Icon box

An icon just to the left of headline text of a node indicating whether thenode is cloned, marked or dirty, and indicating whether the node containsbody text.

Log Pane

The part of Leo’s main window that shows informational messages from Leo. Italso contains the Find tab, the Spell tab, the autocompletion tab.

M - O

Mark

A red vertical line in the icon box of a node.

Node

The organizational unit of an outline. The combination of headline text andbody text. Sometimes used as a synonym for tree.

Offspring

A synonym for the descendants of a node.The children, grandchildren, etc. of a node.

Organizer node

A node containing no body text. Organizing nodes may appear anywhere in an@file tree; they do not affect the external file in any way. In particular,organizing nodes do not affect indentation in external files.

Orphan node

A node that would not be copied to a external file. Orphan nodes canarise because an@file tree has no@others or@alldirectives. Sections that are defined but not used also create orphannodes.

Leo issues a warning when attempting to write an@file treecontaining orphan nodes, and does not save the external file. Noinformation is lost; Leo saves the information in the@file tree inthe .leo file. Leo will load the@file tree from the .leo file thenext time Leo opens the .leo file.

Outline

A node and its descendants. A tree. All the nodes of a.leo file.

Outline order

The order that nodes appear on the screen when all nodes are expanded.

Outline pane

The pane containing a visual representation of the entire outline, or a partof the outline if the outline is hoisted.

P - R

Parent

The node that directly contains a node.

Plugin

A way to modify and extend Leo without changing Leo’s core code.SeeWriting plugins and hooks.

Promote

To move all children of a node in an outline so that they become siblings ofthe node.

Reference .leo file

leoeditor/leo/core/LeoPyRef.leo

This file should change only when adding new external files to Leo.Developers should use a local copy of LeoPyRef.leo (usually calledleoPy.leo) for their own work.

reStructuredText (rST)

A markup language for creating .html, or LaTeX output files. See therST primer.

Root

The first node of a .leo file, outline, suboutline or @<file> tree.

S - Z

Section

A fragment of text that can be incorporated into external files.

Section definition

The body text of a section definition node.

Section definition node

A node whose headline starts with a section name and whose body text definesa section.

Section name

A name between<< and>>. Section names may contain any characterexcept newlines and>>.

Section reference

A section name appearing in a code part. When writing to an external file,Leo replaces all references by their definitions.

Sentinel

Comment lines in external files used to represent Leo’s outline structure.Such lines start with an @ following the opening comment delimiter.Sentinels embed outline structure into external files.

Do not alter sentinel lines. Doing so can corrupt the outline structure.

Settings

Plugins and other parts of Leo can get options from@settings trees,outlines whose headline is@settings.

When opening a .leo file, Leo looks for@settings trees in theoutline being opened and also in various leoSettings.leo files.

@settings trees allow plugins to get options without any furthersupport from Leo’s core code. For a full discussion of@settingstrees, seeCustomizing Leo.

Sibling

Nodes with the same parent. Siblings of the root node have the hidden rootnode as their parent.

Target language

The language used to syntax color text. This determines the default commentdelimiters used when writing external files.

Tree

An outline. A node and its descendants.

Underindented line

A line of body text that is indented less then the starting line of theclass, method or function in which it appears. Leo outlines can notrepresent such lines exactly: every line in an external file will have atleast the indentation of any unindented line of the corresponding node inthe outline.

uA

uA’s (User Attributes) are persistent Python dicts that allows scriptsand plugins to associate additional data with each node. Seeextensible attributes.

View node

A node that represents a view of an outline. View nodes are typicallyordinary, non-cloned nodes that contain cloned descendant nodes. The cloneddescendant nodes comprise most of the data of the view. Other non-clonednodes may add additional information to the view.