diff options
| author | amitkummer <49096391+amitkummer@users.noreply.github.com> | 2021-02-27 18:32:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-27 17:32:41 +0100 |
| commit | c1a0d82acbe6fa026a1f6843fee00cc1df626549 (patch) | |
| tree | 2f62310c9f3e6b674c2d8a39f700dbfa921181fb /tests/examplefiles/cpp/functions.cpp.output | |
| parent | ad55974ce83b85dbb333ab57764415ab84169461 (diff) | |
| download | pygments-git-c1a0d82acbe6fa026a1f6843fee00cc1df626549.tar.gz | |
Fixes for C and C++ functions and namespaces (#1722)
* Fix lexing of function names
This fixes #1561.
Add a keywords state that matches inside and outside functions for
keywords.
Before this, when a keyword would appear the lexer would go to the
statements state, in which functions were not matched.
* Add tests for lexing of function names
* Unbreak previous tests
* Allow namespaced names in function statements
Add a second identifiers regex that matces all the previous identifiers
and also '::'.
I took the decision to create a second identifiers regex with '::'
inside, simply because using the old identifiers regex would hurt
performance massively on every solution I tried to craft.
* Add tests for namespaced names in functions
* Unbreak previous tests
* Add support for namespaces in namespace declarations
Add a namespace state that is entered each time the namespace keyword
is matched and lexes all name matches as namespaces.
Cases this approach doesn't cover:
* Namespaces in using declarations.
* Namespaces that prefix names in random code.
Unfortunately, in both of these cases the names before and after '::'
are not always namespaces.
* Add tests for namespace declartions
* Unbreak previous tests
* Tidy functions regex
Remove group nesting that became unneeded after fc56ab8 (the last big
refactor).
* Remove f string usage I introduced by mistake
Diffstat (limited to 'tests/examplefiles/cpp/functions.cpp.output')
| -rw-r--r-- | tests/examplefiles/cpp/functions.cpp.output | 1405 |
1 files changed, 1405 insertions, 0 deletions
diff --git a/tests/examplefiles/cpp/functions.cpp.output b/tests/examplefiles/cpp/functions.cpp.output new file mode 100644 index 00000000..cec14f10 --- /dev/null +++ b/tests/examplefiles/cpp/functions.cpp.output @@ -0,0 +1,1405 @@ +'using' Keyword +' ' Text +'std' Name +':' Operator +':' Operator +'numerical' Name +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +'*' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +'*' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +'*' Operator +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +'*' Operator +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'*' Operator +'*' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +'&' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +'&' Operator +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'string' Name +'&' Operator +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'string' Name +'&' Operator +'&' Operator +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'noexcept' Keyword +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'noexcept' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'noexcept' Keyword +' ' Text +'const' Keyword +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'noexcept' Keyword +' ' Text +'const' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +'&' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +'&' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +'&' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'&' Operator +'&' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'&' Operator +'&' Operator +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'&' Operator +'&' Operator +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'*' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'*' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'*' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'*' Operator +'*' Operator +'*' Operator +'*' Operator +'*' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'*' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +'*' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'explicit' Keyword +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'char' Keyword.Type +' ' Text +'*' Operator +' ' Text +'str' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'\n' Text + +'// Names with namespaces\n' Comment.Single + +'\n' Text + +'string' Name +' ' Text +'Type::contains' Name.Function +'(' Punctuation +'char' Keyword.Type +' ' Text +'c' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'noexcept' Keyword +';' Punctuation +'\n' Text + +'string' Name +' ' Text +'Type::contains' Name.Function +'(' Punctuation +'char' Keyword.Type +' ' Text +'c' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'noexcept' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'char' Keyword.Type +' ' Text +'c' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'noexcept' Keyword +';' Punctuation +'\n' Text + +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'char' Keyword.Type +' ' Text +'c' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'noexcept' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'std' Name +':' Operator +':' Operator +'vector' Name +'<' Operator +'char' Keyword.Type +'>' Operator +' ' Text +'chars' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'noexcept' Keyword +';' Punctuation +'\n' Text + +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'std' Name +':' Operator +':' Operator +'vector' Name +'<' Operator +'char' Keyword.Type +'>' Operator +' ' Text +'chars' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'noexcept' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'std::vector::contains' Name.Function +'(' Punctuation +'std' Name +':' Operator +':' Operator +'vector' Name +'<' Operator +'char' Keyword.Type +'>' Operator +' ' Text +'chars' Name +')' Punctuation +' ' Text +'const' Keyword +';' Punctuation +'\n' Text + +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'std::vector::contains' Name.Function +'(' Punctuation +'std' Name +':' Operator +':' Operator +'vector' Name +'<' Operator +'char' Keyword.Type +'>' Operator +' ' Text +'chars' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'const' Keyword +' ' Text +'inline' Keyword.Reserved +' ' Text +'explicit' Keyword +' ' Text +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'std::vector::contains' Name.Function +'(' Punctuation +'std' Name +':' Operator +':' Operator +'vector' Name +'<' Operator +'char' Keyword.Type +'>' Operator +' ' Text +'chars' Name +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'const' Keyword +' ' Text +'inline' Keyword.Reserved +' ' Text +'explicit' Keyword +' ' Text +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'std::vector::contains' Name.Function +'(' Punctuation +'std' Name +':' Operator +':' Operator +'vector' Name +'<' Operator +'char' Keyword.Type +'>' Operator +' ' Text +'chars' Name +')' Punctuation +' ' Text +'const' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'// inside classes\n' Comment.Single + +'\n' Text + +'class' Keyword +' ' Text +'raz' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'virtual' Keyword +' ' Text +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'contains' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'std' Name +':' Operator +':' Operator +'string' Name +' ' Text +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'// Make sure these are not functions:\n' Comment.Single + +'else' Keyword +' ' Text +'if' Keyword +'(' Punctuation +'flag' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'func_call' Name +'(' Punctuation +')' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'new' Keyword +' ' Text +'T' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'const' Keyword +' ' Text +'operator' Keyword +' ' Text +'int' Keyword.Type +'(' Punctuation +')' Punctuation +' ' Text +'const' Keyword +' ' Text +'{' Punctuation +'}' Punctuation +' ' Text +'// so int is lexed as type and not function.name\n' Comment.Single |
