I'm just wondering if this will fully meet the O.P.'s needs, because there will still be the angle brackets in the sentinals for the headlines. I'm not saying there should be a way to change them too, I'm only concerned that angle brackets will still be in the @file as written, in case that would cause problems for the original use case.
On Monday, October 25, 2021 at 8:58:10 AM UTC-4 Edward K. Ream wrote: > I have just edited the first comment of #2276 > <https://github.com/leo-editor/leo-editor/issues/2276>. This issue > suggests a potentially dangerous addition to Leo. I think it best to repost > the comment here, so more people will be likely to see it. > > ===== Start first comment of #2276 ===== > > Section delimiters ``<<`` and ``>>`` should be configurable. > > *EKR*: there *must not* be any setting associated with this issue. Such a > setting would be way too dangerous. > > *The design of the @section-delims directive* > > The `@section-delims` directive (*the directive*, for short) specifies > the delimiters to be used in section *references*. Section definition > nodes are *not *affected. That is, regardless of this directive, the > headlines of section definition nodes *always* have the form > > `<< section name >>`. > > *Only *`@file` nodes may contain this directive. This directive is not > valid in `@clean`, `@auto`, etc. > > For each external file, this directive must appear: > > - only in the body of the `@file` node itself, not in any descendant node. > - only once in the `@file` node. > - before the first section reference in the `@file` node (or other nodes > in the `@file` tree). > > The format of the `@section-delims` directive will be: > > @section-delims <opening delim><one or more spaces><closing delim> > > Blanks will not be allowed within delims. Only whitespace will be allowed > before the opening delim or after the closing delim. Correct: > > @section-delims <<<< >>>> > > Wrong. For safety, *nothing *is allowed after the closing delim: > > @section-delims <!< >!> # Change the delims > > *Code level details* > > The write logic will be changed as follows: > > - Leo's write logic will refuse to write any `@file` node containing an > erroneous or out-of-place `@section-delims` directive. > > - The write logic will use the delims specified by `@section-delims` when > *recognizing* section references. > > - The write logic will write the `@section-delims` itself as usual. > > The read logic will not change in any way! Indeed: > > - fast_at.scan_header sets **delims**, the comments delims used to > represent *all* sentinels. > > - fast_at.scan_lines doesn't know anything about the format of sections. > > *Summary* > > The `@section-delims` directive will specify the form of section > *references*. Section definitions nodes will remain unchanged. This > directive will be valid *only* in `@file` nodes, not in `@auto', `@clean`, > etc. > > Only Leo's write logic needs to change. The FastAtRead class will not > change in any way. > > Leo's write logic will refuse to write any `@file` node containing an > erroneous or out-of-place `@section-delims` directive. > > ===== End first comment of #2276 ===== > > That's it. All comments are welcome. > > Please comment *here*, not in the issue itself. > > Edward > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/9c8a4711-a2bc-465a-8283-28f790548fa7n%40googlegroups.com.
