diff --git a/lib/rouge/lexers/cpp.rb b/lib/rouge/lexers/cpp.rb index e9694267a2..3fca7ec788 100644 --- a/lib/rouge/lexers/cpp.rb +++ b/lib/rouge/lexers/cpp.rb @@ -71,7 +71,11 @@ def self.reserved rule %r/\bnullptr\b/, Name::Builtin rule %r/(?:u8|u|U|L)?R"([a-zA-Z0-9_{}\[\]#<>%:;.?*\+\-\/\^&|~!=,"']{,16})\(.*?\)\1"/m, Str rule %r/(::|<=>)/, Operator - rule %r/[{}]/, Punctuation + rule %r/[{]/, Punctuation + rule %r/}/ do + token Punctuation + pop! if in_state?(:function) # pop :function + end end state :classname do