summaryrefslogtreecommitdiff
path: root/tests/examplefiles/cpp/namespace.cpp.output
diff options
context:
space:
mode:
authoramitkummer <49096391+amitkummer@users.noreply.github.com>2021-02-27 18:32:41 +0200
committerGitHub <noreply@github.com>2021-02-27 17:32:41 +0100
commitc1a0d82acbe6fa026a1f6843fee00cc1df626549 (patch)
tree2f62310c9f3e6b674c2d8a39f700dbfa921181fb /tests/examplefiles/cpp/namespace.cpp.output
parentad55974ce83b85dbb333ab57764415ab84169461 (diff)
downloadpygments-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/namespace.cpp.output')
-rw-r--r--tests/examplefiles/cpp/namespace.cpp.output276
1 files changed, 276 insertions, 0 deletions
diff --git a/tests/examplefiles/cpp/namespace.cpp.output b/tests/examplefiles/cpp/namespace.cpp.output
new file mode 100644
index 00000000..c6d8f9d2
--- /dev/null
+++ b/tests/examplefiles/cpp/namespace.cpp.output
@@ -0,0 +1,276 @@
+'namespace' Keyword
+' ' Text
+'std' Name.Namespace
+' ' Text
+'{' Punctuation
+'}' Punctuation
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'std' Name.Namespace
+':' Operator
+':' Operator
+'exprimental' Name.Namespace
+':' Operator
+':' Operator
+'inner' Name.Namespace
+' ' Text
+'{' Punctuation
+'}' Punctuation
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'{' Punctuation
+'}' Punctuation
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'std' Name.Namespace
+':' Operator
+':' Operator
+'exprimental' Name.Namespace
+':' Operator
+':' Operator
+'inline' Keyword
+' ' Text
+'innner' Name.Namespace
+' ' Text
+'{' Punctuation
+'}' Punctuation
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'std' Name.Namespace
+':' Operator
+':' Operator
+'inline' Keyword
+' ' Text
+'exprimental' Name.Namespace
+':' Operator
+':' Operator
+'innner' Name.Namespace
+' ' Text
+'{' Punctuation
+'}' Punctuation
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'other' Name.Namespace
+' ' Text
+'=' Operator
+' ' Text
+'std' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'other' Name.Namespace
+' ' Text
+'=' Operator
+' ' Text
+'std' Name.Namespace
+':' Operator
+':' Operator
+'exprimental' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'std' Name.Namespace
+':' Operator
+':' Operator
+'exprimental' Name.Namespace
+':' Operator
+':' Operator
+'inner' Name.Namespace
+' ' Text
+'{' Punctuation
+'\n' Text
+
+'class' Keyword
+' ' Text
+'QualifiedName' Name.Class
+' ' Text
+'{' Punctuation
+'\n' Text
+
+'public' Keyword
+':' Operator
+'\n' Text
+
+' ' Text
+'QualifiedName' Name
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FlyString' Name
+'&' Operator
+' ' Text
+'local_name' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'const' Keyword
+' ' Text
+'FlyString' Name
+'&' Operator
+' ' Text
+'local_name' Name
+'(' Punctuation
+')' Punctuation
+' ' Text
+'const' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'m_local_name' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'private' Keyword
+':' Operator
+'\n' Text
+
+' ' Text
+'FlyString' Name
+' ' Text
+'m_local_name' Name
+';' Punctuation
+'\n' Text
+
+'}' Punctuation
+';' Punctuation
+' \n' Text
+
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'namespace' Keyword
+' ' Text
+'ns' Name.Namespace
+':' Operator
+':' Operator
+'inner' Name.Namespace
+':' Operator
+':' Operator
+'inline' Keyword
+' ' Text
+'pygments' Name.Namespace
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'using' Keyword
+' ' Text
+'namespace' Keyword
+' ' Text
+'outer' Name.Namespace
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'has_value' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'namespace' Keyword
+' ' Text
+'other' Name.Namespace
+' ' Text
+'=' Operator
+' ' Text
+'std' Name.Namespace
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'namespace' Keyword
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'namespace' Keyword
+' ' Text
+'user' Name.Namespace
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'has_value' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'using' Keyword
+' ' Text
+'namespace' Keyword
+' ' Text
+'inner' Name.Namespace
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'4' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text