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 ///