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
@cor@codedirective or the end of the body text.
@@conventionforheadlinesWithin
@asistrees only, if a headline starts with@@, Leowrites everything in the headline following the @@ just before thecorresponding body text.
@<file>nodeA 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
@filenode is a node whose headline starts with@file.
@allCopies 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
@asistree.
@auto<filename>Imports an external file into the Leo outline, splitting the file intonodes if an importer exists for the give filetype.
@cand@codeEnds a doc part and starts a code part.
@chapterAn
@chaptertree represents a chapter.
@cleanCreates an external file without sentinels.
Section references and the@alland@othersdirectives are valid in@cleantrees.@colorEnables syntax coloring in a node and its descendants until the next
@nocolordirective.
@commentSets the comment delimiters in
@thin,@fileand@shadowfiles.
@delimsSets the comment delimiters in
@thin,@fileand@shadowfiles.
@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
@filetrees, Leo expands section references and@alland@othersdirectives.
@first<text>This directive inserts a line at thevery start of an external file,before the first sentinel.
The
@firstdirective must appear at thevery start of body text. For example:@first#! /usr/bin/env python
@killcolorCompletely 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/crlfSets the line endings for external files.
@nocolorDisables syntax coloring in a node and its descendants until the next
@colordirective.
@nocolor-nodeCompletely disables coloring for one node. Descendant nodes are not affected.
@nosentCreates external files without sentinels. Unlike
@clean,@nosenttreesare never updated from from external files.
@nowrapDisables line wrapping the Leo’s body pane.
@othersCopies the body text of all nodesexcept section definition nodes in an
@filetree to the corresponding external file.
@pagewidth<n>Sets the page width used by the reformat-paragraph command.This directive also controls how
@docparts 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.
@wrapEnables 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@codedirectives 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@cdirective 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
@filetree; 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
@filetree has no@othersor@alldirectives. Sections that are defined but not used also create orphannodes.Leo issues a warning when attempting to write an
@filetreecontaining orphan nodes, and does not save the external file. Noinformation is lost; Leo saves the information in the@filetree inthe .leo file. Leo will load the@filetree from the .leo file thenext time Leo opens the .leo file.
- Outline
A node and its descendants. A tree. All the nodes of a
.leofile.
- 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.leoThis file should change only when adding new external files to Leo.Developers should use a local copy of LeoPyRef.leo (usually called
leoPy.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
@settingstrees,outlines whose headline is@settings.When opening a .leo file, Leo looks for
@settingstrees in theoutline being opened and also in various leoSettings.leo files.@settingstrees 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.