On Wednesday, October 4, 2023 at 8:02:42 PM UTC-5 M wrote:
> a consequence of having many poorly written syntax files. Main 
distribution included

Your idea of a different override for syntax-include is the practical 
solution. As you pointed out, syntax-include is dependent on the authors of 
all the syntax files in the distribution to beware of what happens when 
their syntax is syntax-included. It's the moral equivalent of cooperative 
multitasking or running a processor in real mode -- you have to trust every 
other syntax not to step on yours. A region needs some way to absolutely 
stop an included syntax from highlighting past the region.

My project is a free syntax file for Noweb source files.* A single Noweb 
source file can contain all the objects in multiple languages that make up 
a package. Those objects can be represented in the Noweb source file as 
fragments, to be pieced together by Noweb. For example, an inner syntax 
region can easily contain the open-brace for a block but not the 
close-brace.

An included syntax file will seize on that open-brace and highlight forward 
until it finds a matching close-brace. But it actually needs to stop at the 
end of the region that contains the code fragment. Because the close-brace 
it finds is likely to be in a different inner syntax region, maybe even one 
written in a different language!

As a plan "B", I hate to have to reinvent stock syntaxes, and I would 
probably do a poor job. This is my first major foray into Vim syntax 
highlighting. I might eventually take a stab at it, for languages I use 
where I have run into the problem. Plan "C" is to just document the 
problem, and give advice if I can for writing code fragments that sidestep 
the problem. Or plan "D", I could disable recognition of certain languages, 
which is what I do now, but I had been thinking of that as a stopgap 
measure during development, not a solution.

* https://metaed.com/papers/vim-noweb/

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_use+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/9f9dd00c-784b-4518-9560-152f0aff5c3cn%40googlegroups.com.

Reply via email to