Re: Syntax file for M4/Autoconf


> I can't hightlight quoted document-here parts in the sh like
> cat << 'EOF'
> $$$

The problem is quite deep.

It would be nice to understand any word, not just EOF.  But this would be
hard to implement.  I don't think we should do it.

I tried to add this rule:

context exclusive whole <<\[\s\]\[-\]\[\s\]'EOF' EOF green/6

It doesn't work unless I comment out this rule:

context ' ' green/6

It seems that non-exclusive contexts have priority over exclusive 
contexts.  This rule almost works, but it's ugly:

context whole <<\[\s\]\[-\]\[\s\]'EOF' EOF green/6
    keyword whole <<\[\s\]\[-\]\[\s\]'EOF' lightgray
    keyword whole EOF lightgray

The problem with this rule is that the context doesn't end on the EOF.  
Keywords have an additional function - they prevent end of context.  
Unfortunately, this function is unconditional, and sometimes unwanted.

> Also I want to add case insensitive keywords to the editor syntax 
> engine, but I have some ideas how to change syntax file syntax.
> Possibly solution are:
> 1) make contextes case insensitive by adding case-insensitive keyword at 
> the end of context line.
> 2) add new keyword like ikeyword for case-insensitive keywords
> 3) add case-insensitive clause at the end of each case insensitive keywords

4) Global setting that affects all lines below (both context and keyword
rules), something like wholechars.

If you have time, please investigate if the Colorer4ever library can be
easily used and if it's really better.  If your answers are positive, we
could approach the author to relicense it under LGPL (GPL would be
problematic, since it's used with closed-source Far Manager).

I can write a petition, and I'm sure we can get hundreds of supporters.  
We could even do some fundraising (like Blender Foundation did), but I'd
like to avoid this hassle if possible.

If you deside to stay with Cooledit syntax highlighting, I'll appreciate 
if you keep its author Paul Sheer informed about your design choices.

Pavel Roskin

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]