Skip to content

Commit df2dc67

Browse files
author
jneen
committed
use the keywords api for c
1 parent abb71b1 commit df2dc67

File tree

1 file changed

+9
-15
lines changed
  • lib/rouge/lexers

1 file changed

+9
-15
lines changed

lib/rouge/lexers/c.rb

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,9 @@ def self.reserved
5656
)
5757
end
5858

59+
# for subclasses
5960
def self.builtins
60-
@builtins ||= []
61+
@builtins ||= Set.new
6162
end
6263

6364
start { push :bol }
@@ -109,20 +110,13 @@ def self.builtins
109110
rule %r/[()\[\],.;]/, Punctuation
110111
rule %r/\bcase\b/, Keyword, :case
111112
rule %r/(?:true|false|NULL)\b/, Name::Builtin
112-
rule id do |m|
113-
name = m[0]
114-
115-
if self.class.keywords.include? name
116-
token Keyword
117-
elsif self.class.keywords_type.include? name
118-
token Keyword::Type
119-
elsif self.class.reserved.include? name
120-
token Keyword::Reserved
121-
elsif self.class.builtins.include? name
122-
token Name::Builtin
123-
else
124-
token Name
125-
end
113+
114+
keywords id do
115+
rule :keywords, Keyword
116+
rule :keywords_type, Keyword::Type
117+
rule :reserved, Keyword::Reserved
118+
rule :builtins, Name::Builtin
119+
default Name
126120
end
127121
end
128122

0 commit comments

Comments
 (0)