I tried out the directive and it worked as desired for the sample erlang
file. I specified that the section delimiters would be "[[[...]]]":
@section-delims [[[ ]]]
Edward may think of this as a hack today (as opposed to 20 years ago) but
there are good precedents: SQL statements that declare functions need to
escape the delimiters if they are to emit a legal SQL statement. SQL has
syntax to temporarily change the delimiters so this can be done. One common
use is that a ";" by default terminates an SQL statement. So if you want
your function to create but not run this statement:
SELECT 1;
as soon as the processor came to the ";' it would execute the current
statement, which is wrong because you are just defining it to be used
later. So:
DELIMITER // -- Parser now looks for "//" to end the current statement
SELECT 1; -- The ";" is part of the statement that will be executed later.
DELIMITER ; -- Return parser behavior to process ";" as usual.
(I've left out other details needed to make this complete function
definition, just to make the point).
Here is what the saved erlang @file looks like with the changed section
delimiters:
%@+leo-ver=5-thin
%@+node:tom.20240916163919.1: * @file c:\temp\erlang_name_sections.er
%@@language erlang
%@@section-delims [[[ ]]]
%% ErlangTest
-module(erlang_test).
colourize_image(Alpha, {R,G,B}) ->
<< <<R:8,G:8,B:8,A:8>> || <<A:8,_:8,_:8>> <= Alpha >>.
%@+[[[ interleave_rgb ]]]
%@+node:tom.20240916164123.1: ** [[[ interleave_rgb ]]]
interleave_rgb_and_alpha(RGB, Alpha) ->
list_to_binary(
lists:zipwith(fun({R, G, B}, A) ->
<<R, G, B, A>>
end,
[{R,G,B} || <<R, G, B>> <= RGB],
[A || <<A>> <= Alpha])).
%@-[[[ interleave_rgb ]]]
%@-leo
So Leo can happily create @file erlang files even when the contain what
look like named sections, and you can use named sections within such a
file. Nice work, Edward!
On Monday, September 16, 2024 at 4:37:49 PM UTC-4 Thomas Passin wrote:
> I didn't phrase that right but it doesn't matter because I just tested and
> found that the section reference will be found anywhere in a line. This
> agrees with the initial posting. And the sample erlang file has some
> "<<...>>" structures that are the first non-whitespace characters in their
> lines anyway.
>
> On Monday, September 16, 2024 at 2:50:00 PM UTC-4 Thomas Passin wrote:
>
>> The section marker has to be at the very left of the current indentation
>> level, doesn't it?
>>
>> On Monday, September 16, 2024 at 2:33:31 PM UTC-4 [email protected]
>> wrote:
>>
>>> Doesn't that kind of defeat the whole purpose of having an outliner?
>>>
>>> Strings of the pattern `<<some_token>>` occur with some frequency in
>>> bash scripts as well, for example:
>>>
>>> ```
>>> log=/path/to/logfile.log
>>> sftp [email protected]<<EOF>>$log
>>> mget *.txt
>>> bye
>>> EOF
>>> ```
>>>
>>> I admit, I did test that above snippet earlier, and it worked without
>>> issue both as a @file and an @edit, so I'm not certain what exactly is
>>> triggering this issue. But I do think it's worthwhile to figure it out.
>>>
>>> Jake
>>>
>>> On Mon, Sep 16, 2024 at 2:11 PM Edward K. Ream <[email protected]>
>>> wrote:
>>>
>>>> On Mon, Sep 16, 2024 at 12:34 PM 'rengel' via leo-editor <
>>>> [email protected]> wrote:
>>>>
>>>>> So basically that means you can't reliably use Leo's @file nodes for
>>>>> Elixir adn Erlang source code?
>>>>>
>>>>
>>>> Yes, that's what I'm saying. @edit will usually be better than @asis.
>>>>
>>>> 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/CAMF8tS24H1Vei-AgxJXNj23qV_ODYtPGGvxw1T9es32-k7wNWA%40mail.gmail.com
>>>>
>>>> <https://groups.google.com/d/msgid/leo-editor/CAMF8tS24H1Vei-AgxJXNj23qV_ODYtPGGvxw1T9es32-k7wNWA%40mail.gmail.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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/leo-editor/e47fb00d-b70a-4e31-8e28-e3f788cec334n%40googlegroups.com.