This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/snippets/c/test_string_resembling_decl_end.txt
Jean Abou-Samra d6968f804a
CFamilyLexer: refuse quotes between parentheses for function definitions and declarations (#2208)
Something like

id id2("){ ... }");

is no longer wrongly recognized as a "function"

id id2(") {
  ...
}
");

As the difference in the tests shows, this has the unfortunate side
effect that we no longer highlight something like

int f(param="default");

as a function declaration, but it is hard to imagine another way to
fix this (cf. “most vexing parse” problem).

Fixes #2207
2022-08-15 11:45:13 +02:00

41 lines
999 B
Text

---input---
// This should not be recognized as a function declaration followed by
// garbage.
string xyz(");");
// This should not be recognized as a function definition.
string xyz("){ }");
---tokens---
'// This should not be recognized as a function declaration followed by\n' Comment.Single
'// garbage.\n' Comment.Single
'string' Name
' ' Text.Whitespace
'xyz' Name
'(' Punctuation
'"' Literal.String
');' Literal.String
'"' Literal.String
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'// This should not be recognized as a function definition.\n' Comment.Single
'\n' Text.Whitespace
'string' Name
' ' Text.Whitespace
'xyz' Name
'(' Punctuation
'"' Literal.String
'){ }' Literal.String
'"' Literal.String
')' Punctuation
';' Punctuation
'\n' Text.Whitespace