New file format for Leo documents

Leo now supports new .leo.db file format. It is actually SQLite database
file. In current version all data are stored in two tables:

   1. vnodes which contains all vnodes from outline stored one node per row.
   2. extra_infos which contains (key, value) pairs for additional 
   like currently selected position, screen position and dimension of Leo
   application window, and such.

Plugins can create and use additional tables.

There is also new setting @string default_leo_extension = .leo. When saving 
to new file if user doesn't provide extension, this default file extension 
will be appended to filename. Leo will honor the extension explicitly set 
by user.

When editing .leo.db files c.sqlite_connection is sqlite3.Connection instance 
connected to .leo.db file.

In current implementation, Leo operates data base just when opening and 
saving Leo document. On every open/save command it retrieves/stores all 
nodes. This can be changed to update nodes on every change and to retrieve 
nodes on demand. But for now this all-in/all-out strategy is satisfying.

I have no more ideas what to say about this feature. Please ask me if there 
is something that needs more explanation.

I have been using this branch for more than a month and it served me very 
well. However, whenever merge is involved there is possibility something 
won't work as advertised. 

Please report any problem and I will try to fix it ASAP.

You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
Visit this group at
For more options, visit

Reply via email to