That is very cool. I hope Kent sees it, he's talked about such things more than once.
Cheers -Terry On Mon, Jul 29, 2019 at 2:11 PM vitalije <vitali...@gmail.com> wrote: > It has been a very long time since I've got this idea of combining Leo > with fossil. For all these years I felt that there was a great potential in > this mixture, but I haven't got the time to do anything about it until > recently. > > Fossil uses an extremely good algorithm to calculate the difference > between two texts. And the deltas produced by this algorithm are very > compact and nice to work with. If the input texts are texts, than the delta > is also a plain text. I have ported this algorithm from C in which fossil > is originally written, to Rust programming language. The ported code is > published on crates.io as fossil-delta > <https://crates.io/crates/fossil-delta>. Using this library, I wrote a > small web server which accepts snapshots sent from Leo periodically at idle > time and calculates the delta between the previous one and the current one, > and stores those deltas in the sqlite database. The server also serves > small web application that allows user to browse history of any recorded > Leo outline. Using two scale widgets user can choose any recorded version > of the outline shape, and history of the selected node. > > Sending snapshots from Leo is done by the plugin which keeps track of the > time passed since the last Leo command has been executed. When 5s pass > since the last executed command, Leo calculates the snapshot and if it is > different than the previous one it sends it in separate thread to the > server. The whole process is almost unnoticeable by the user. The server > stores the deltas in the database file (one database per Leo outline) which > is located in the same folder as the Leo document, and has the '.history' > appended to its name. For example: outline test.leo will have it's history > stored in the database test.leo.history in the same folder. > > Below is the link to the video demonstration (if you have read everything > above you can skip to the 3:00). There are some issues with the sound which > I couldn't fix, but there are captions in English. > > The demo <https://youtu.be/apqc1iri1hA?t=174> > > Vitalije > > PS: the outline is about 210Kb, and database with about 625 recorded > versions is about 450Kb. Those 625 versions were recorded during the 30 > hours time span. > > -- > 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 leo-editor+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/leo-editor/897a3b7a-554b-4db6-8501-ebafc1746214%40googlegroups.com > <https://groups.google.com/d/msgid/leo-editor/897a3b7a-554b-4db6-8501-ebafc1746214%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 leo-editor+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/CAFPg46QO%2B_nGcyPs-OV1V8aUbr1JZAooF0CT98NK63XhGTUuCQ%40mail.gmail.com.