lib/rouge/lexers/gherkin.rb in rouge-0.4.0 vs lib/rouge/lexers/gherkin.rb in rouge-0.5.0
- old
+ new
@@ -34,96 +34,96 @@
end
rest_of_line = /.*?(?=[#\n])/
state :basic do
- rule %r(#.*$), 'Comment'
- rule /[ \r\t]+/, 'Text'
+ rule %r(#.*$), Comment
+ rule /[ \r\t]+/, Text
end
state :root do
mixin :basic
- rule %r(\n), 'Text'
- rule %r(""".*?""")m, 'Literal.String'
- rule %r(@[^\s@]+), 'Name.Tag'
+ rule %r(\n), Text
+ rule %r(""".*?""")m, Str
+ rule %r(@[^\s@]+), Name::Tag
mixin :has_table
mixin :has_examples
end
state :has_scenarios do
rule %r((.*?)(:)) do |m|
reset_stack
keyword = m[1]
if self.class.keywords[:element].include? keyword
- group 'Keyword.Namespace'; push :description
+ group Keyword::Namespace; push :description
elsif self.class.keywords[:feature].include? keyword
- group 'Keyword.Declaration'; push :feature_description
+ group Keyword::Declaration; push :feature_description
elsif self.class.keywords[:examples].include? keyword
- group 'Name.Namespace'; push :example_description
+ group Name::Namespace; push :example_description
else
- group 'Error'
+ group Error
end
- group 'Punctuation'
+ group Punctuation
end
end
state :has_examples do
mixin :has_scenarios
- rule Gherkin.step_regex, 'Name.Function' do
- token 'Name.Function'
+ rule Gherkin.step_regex, Name::Function do
+ token Name::Function
reset_stack; push :step
end
end
state :has_table do
rule(/(?=[|])/) { push :table_header }
end
state :table_header do
- rule /[^|\s]+/, 'Name.Variable'
+ rule /[^|\s]+/, Name::Variable
rule /\n/ do
- token 'Text'
- pop!; push :table
+ token Text
+ goto :table
end
mixin :table
end
state :table do
rule(/^(?=\s*[^\s|])/) { reset_stack }
mixin :basic
- rule /[|]/, 'Punctuation'
- rule /[^|\s]+/, 'Name'
+ rule /[|]/, Punctuation
+ rule /[^|\s]+/, Name
end
state :description do
mixin :basic
mixin :has_examples
- rule /\n/, 'Text'
- rule rest_of_line, 'Text'
+ rule /\n/, Text
+ rule rest_of_line, Text
end
state :feature_description do
mixin :basic
mixin :has_scenarios
- rule /\n/, 'Text'
- rule rest_of_line, 'Text'
+ rule /\n/, Text
+ rule rest_of_line, Text
end
state :example_description do
mixin :basic
mixin :has_table
- rule /\n/, 'Text'
- rule rest_of_line, 'Text'
+ rule /\n/, Text
+ rule rest_of_line, Text
end
state :step do
mixin :basic
- rule /<.*?>/, 'Name.Variable'
- rule /".*?"/, 'Literal.String'
- rule /\S+/, 'Text'
- rule rest_of_line, 'Text', :pop!
+ rule /<.*?>/, Name::Variable
+ rule /".*?"/, Str
+ rule /\S+/, Text
+ rule rest_of_line, Text, :pop!
end
end
end
end