Pierre Habouzit wrote:
> ... misses some lengths modifiers
>
> that formats can have the following length modifiers :
>
> hh, h, l, ll, j, z, t => can apply to diouxX
> l => can apply to cs
> L => can apply to aAeEfFgG
>
> ... misses some formats :
>
> -> `aA' in C99 are a valid floating point number format for
> "hexadecimal notation for double"
> -> `F' also exists
>
> ... has some formats that does not exists (I've not even found any
> reference on them in any man page/documentation):
>
> bDOU
>
> ... has some deprecated (and non ANSI-C/C99) formats:
>
> CS => synonyms of lc/ls and are flagged "Don't use" in printf(3)
>
>
>
> I suppose, using the current implementation of cFlags syntax hilighting
> that would mean replace the length modifiers / formats char parts from
> the regex:
>
> \=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)
>
> with :
>
> \=\([hlLjzt]\|ll\|hh\)\=\([diouxXaAFeEgGcspn]\|\[\^\=.[^]]*\]\)
> ^^^^^^vvvvvvv
> ints floats
>
>
> All of this comes from printf(3) and C99 (7.19.6.1 par7)
I think for the purpose of highlighting it's best to accept all possible
formats. I can add the new C99 things, although I would discourage
everybody to use them for portabilitity reasons.
Your proposed line is missing a few things, e.g., "f".
For C99 (when c_no_c99 does not exist) we can probably use this:
\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\
--
hundred-and-one symptoms of being an internet addict:
40. You tell the cab driver you live at
http://123.elm.street/house/bluetrim.html
41. You actually try that 123.elm.street address.
/// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://www.ICCF.nl ///