tajmone / ST4-Asciidoctor

AsciiDoc Package for SublimeText 4
https://tajmone.github.io/ST4-Asciidoctor
MIT License
11 stars 6 forks source link

Syntax highlighting now observes 11 additional syntax constructs. #42

Closed polyglot-jones closed 6 months ago

polyglot-jones commented 6 months ago

Syntax highlighting now observes these syntax constructs:

Changed all passthru to passthrough to be consistent.

Moved the unordered list test to the new lists subfolder (where new tests were created).

tajmone commented 6 months ago

Thank you!

tajmone commented 6 months ago

@polyglot-jones, I really appreciate your contribution to this project!

Reviving this old AsciiDoc syntax from ST2 to ST4 has proven a challenging task, and there's still so much work to do to improve upon it — the nature of the AsciiDoc syntax is quite entangled, especially when it comes to pinning it down via mere RegExs.

I'm now trying to gradually integrate some changes I was working on in the dev branches, but which I've left unattended for long, and now I need to ensure that in doing so I don't interfere with any of your new changes.

So far, I've managed to integrate one of my dev commits, which enables ST4's new feature of syntax-branching in order to improve handling of complex constrained/unconstrained cases. Although it introduces a temporary fix to the problem, at least now the syntax is able to gracefully handle edge-cases of constrained/unconstrained delimiters, by bailing out of the scope and preventing whole documents to break down (breaking not only syntax highlighting but also editor functionality over the source document).

Since enabling syntax branching introduces a big change in how the syntax works, I thought it wise to update you directly about it, so that you can keep into account how this might change some syntax features (e.g. old ST3 bugs that were previously exploitable will no longer work now). The ST official documentation provides detailed info on the syntax behavior differences that this change introduces, but since all the tests are passing without error I'm assuming that all is good for now!

Best regards.