I agree with your reasoning. I think @thin-like sentinels for shadow
files are the way to go on this one.
Best regards,
---Kayvan
Cool!
Another step in Leo's journey towards an information management platform.
Another level of configurability which allows Leo to be what the user
wants, not requiring the user to adapt Leo conventions.
> This would be useful for translating Leo into a foreign
> language, and it would provide a completely customizable way of
> abbreviating directives as desired. So if names like @shadow-file or
> @shadow-thin bother you, you can make up your own names...
>
> The big question is, should private (shadow) files use @thin-like
> sentinels or @file-like sentinels?
>
> At present, the @shadow code uses file-like sentinels, which implies
> that the .leo file contains a copy of all the file's data.
So the data is in 3 places right? .leo, primary, shadow
Hmmm.
The
> advantages of this approach:
>
> - The .leo file contains an archive of all the @shadow data.
>
> - It is possible to associate uA's with the vnodes in the outline.
>
> - The sentinels in the private file are simpler than @thin-like
> sentinels. However, this is irrelevant because private files aren't
> committed to bzr.
>
> However, I definitely want the option of using @thin-like sentinels.
> The advantages:
>
> - The .leo file would be much smaller. For example, I could represent
> the entire pypy project using @shadow files in a small .leo file.
Wow. That small Leo file, when opened on my machine, and informed
of the location of the pypy tree on my machine, would offer me structured access
to all the pypy code, interwoven with your comments, explanations, test nodes,
buttons and commands you wrote to exercise and understand pypy.
Truly amazing, a groundbreaking teaching tool.
I find the "Big @shadow questions" thread a bit surreal. Shadow solved
the uAs in @thin nodes problem - I understand the desire to use @thin
instead of @file for overhead, but it seems tragic to lose the so
recently gained solution to the uA problem.
But then this is followed by the solution to the previously intractable
uA in @thin node problem - argh! :-)
So yes, saving a @thin node's uAs in the @thin node itself sounds like
a great idea. Would you do the save for other non-uA attributes, like
expansion state, markedness, etc.?
And if you do that... then plain @thin nodes will have many of the
advantages of @shadow nodes, but not the
auto-import-public-files-changes part, I guess.
If it can all be done and made solid, seems like win-win-win.
Cheers -Terry
But then this is followed by the solution to the previously intractable
uA in @thin node problem - argh! :-)
So yes, saving a @thin node's uAs in the @thin node itself sounds like
a great idea. Would you do the save for other non-uA attributes, like
expansion state, markedness, etc.?
And if you do that... then plain @thin nodes will have many of the
advantages of @shadow nodes, but not the auto-import-public-files-changes part, I guess.
If it can all be done and made solid, seems like win-win-win.
> > And if you do that... then plain @thin nodes will have many of the
> > advantages of @shadow nodes, but not the
> > auto-import-public-files-changes part, I guess.
>
> I'm not sure I understand this remark. @thin files already can be
> updated based on changes made outside of Leo.
But only by editing a file with not for human consumption sentinels?
Actually I'm not sure what my point was - I was a bit dazed to first
have @shadow files combine the advantages of @thin (organizer nodes,
user controlled structure) and @auto nodes (external viewing /
modification, VCS friendly) *plus* a cure for uAs in @thin nodes, and
then all of a sudden uAs in @thin nodes aren't a problem any more...
Leo's improving too fast :-b :-)
Cheers -Terry