Skip to content

Commit 719abe9

Browse files
author
jneen
committed
use the keywords api for brightscript
1 parent 4102497 commit 719abe9

File tree

2 files changed

+14
-20
lines changed

2 files changed

+14
-20
lines changed

.rubocop_todo.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ Naming/MethodName:
4343
# SupportedStyles: snake_case, camelCase
4444
Naming/VariableName:
4545
Exclude:
46-
- 'lib/rouge/lexers/brightscript.rb'
4746
- 'lib/rouge/lexers/dafny.rb'
4847
- 'lib/rouge/lexers/freefem.rb'
4948
- 'lib/rouge/lexers/igorpro.rb'

lib/rouge/lexers/brightscript.rb

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -120,25 +120,20 @@ def self.builtins
120120

121121
rule %r/[()\[\],.;{}]/, Punctuation
122122

123-
rule id do |m|
124-
caseSensitiveChunk = m[0]
125-
caseInsensitiveChunk = m[0].upcase
126-
127-
if self.class.builtins.include?(caseSensitiveChunk)
128-
token Keyword::Reserved
129-
elsif self.class.keyword_reserved.include?(caseInsensitiveChunk)
130-
token Keyword::Reserved
131-
elsif self.class.keyword_reserved_unsupported.include?(caseInsensitiveChunk)
132-
token Keyword::Reserved
133-
elsif self.class.keyword_type.include?(caseInsensitiveChunk)
134-
token Keyword::Type
135-
elsif self.class.name_builtin.include?(caseInsensitiveChunk)
136-
token Name::Builtin
137-
elsif self.class.operator_word.include?(caseInsensitiveChunk)
138-
token Operator::Word
139-
else
140-
token Name
141-
end
123+
# separate block for case sensitivity
124+
keywords id do
125+
rule :builtins, Keyword::Reserved
126+
end
127+
128+
keywords id do
129+
transform(&:upcase)
130+
131+
rule :keyword_reserved, Keyword::Reserved
132+
rule :keyword_reserved_unsupported, Keyword::Reserved
133+
rule :keyword_type, Keyword::Type
134+
rule :name_builtin, Name::Builtin
135+
rule :operator_word, Operator::Word
136+
default Name
142137
end
143138
end
144139
end

0 commit comments

Comments
 (0)