pete340 wrote:That's because the code has undefined behavior. <g>
<key>begin</key>
<string>(?x)
^\s*\#\s*(define)\s+ # define
(([a-zA-Z_][a-zA-Z0-9_]*)) # macro name
(?: # and optionally:
(\() # an open parenthesis
(
\s* ([a-zA-Z_][a-zA-Z0-9_]*) \s* # first argument
((,) \s* ([a-zA-Z_][a-zA-Z0-9_]*) \s*)* # additional arguments
(?:,\s*\.\.\.\s*)? # varargs ellipsis?
)
(\)) # a close parenthesis
)?
</string>
Prazz wrote:pete340 wrote:That's because the code has undefined behavior. <g>
No, There is something wrong with the C.tmLanguage



facelessuser wrote:In short...
replace starting at line 162 with this: ...
jwegrzyn wrote:Hi, I also noticed some bugs in C++ syntax highlighting...
Prazz wrote:facelessuser wrote:In short...
replace starting at line 162 with this: ...
Yeah, but even if this is fixed, there is still a second problem - The commas separating the macro arguments would be highlighted along with the macro arguments!
And the this problem can't be solved just by editing the C.tmLanguage... It got me, a perfectionist, anxious.
jwegrzyn wrote:Hi, I also noticed some bugs in C++ syntax highlighting.
Keywords public/private/protected are not properly highlighted for base classes.
Method name highlighting breaks in classes with more than one base class.
Edit: There's also bug when calling template functions/methods.
Prazz wrote:jwegrzyn wrote:Hi, I also noticed some bugs in C++ syntax highlighting...
I can't see the pictures.
facelessuser wrote:Yes, the C tmLanguage file isn't that good. It needs a lot of work. I do a little here and there on my own personal copy of it. I mainly try to hit the things that annoy me most since I stare at C code all day.
Users browsing this forum: Google [Bot] and 10 guests