Syntax highlighting is the reason that I switched from emacs to vi.
(I got tired of having to set all kinds of things just to get decent
syntax highlighting by default on a new machine.)
In general, the vim syntax highlighting is fantastic, and well worth
the switch.
But there is a use case that is not covered and I don't know how to
change it:
Keywords that extend beyond the column limit in fortran.
:help :syn-priority says this:
> When several syntax items may match, these rules are used:
>
> 1. When multiple Match or Region items start in the same position, the item
> defined last has priority.
> 2. A Keyword has priority over Match and Region items.
> 3. An item that starts in an earlier position has priority over items that
> start in later positions.
It's numbers 2 and 3 which cause me trouble. The problem is, to the
compiler, the 72-character limit is absolute (in fixed-form fortran);
but to vim syntax rules, the keyword highlight has priority (rule 2)
and a word of any sort (keyword or match) that starts before position
72, but extends after 72 has priority (rule 3).
Is there a way to have syntax highlighting region-like rule that takes
precedence over everything else? Because it does to the compiler.
The relevant lines of the fortran.vim file are these:
syn region fortranStringEx start=+'+ end=+'+
contains=fortranContinueMark,fortranLeftMargin,fortranSerialNumber
syn region fortranString start=+"+ end=+"+
contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber
"Flag items beyond column 72
syn match fortranSerialNumber excludenl "^.\{73,}$"lc=72
HiLink fortranSerialNumber Todo
HiLink fortranStringEx fortranString
HiLink fortranString String
--
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