diff --git a/lib/rouge/lexers/ruby.rb b/lib/rouge/lexers/ruby.rb index c3a77ec32a..85a4e00ee0 100644 --- a/lib/rouge/lexers/ruby.rb +++ b/lib/rouge/lexers/ruby.rb @@ -297,7 +297,7 @@ def self.detect?(text) ( [\p{L}_]\p{Word}*[!?]? | \*\*? | [-+]@? | [/%&\|^`~] | \[\]=? | - <>? | <=>? | >= | ===? + <=>? | <>? | >= | ===? ) )x do |m| puts "matches: #{[m[0], m[1], m[2], m[3]].inspect}" if @debug diff --git a/spec/lexers/ruby_spec.rb b/spec/lexers/ruby_spec.rb index 1ade145b3c..9c35486d51 100644 --- a/spec/lexers/ruby_spec.rb +++ b/spec/lexers/ruby_spec.rb @@ -89,6 +89,20 @@ ['Literal.Number.Float', '20.4e+8'] end end + + describe 'method definition' do + it 'identifies comparable method' do + assert_tokens_equal "def <=>(o); end", + ["Keyword", "def"], + ["Text", " "], + ["Name.Function", "<=>"], + ["Punctuation", "("], + ["Name", "o"], + ["Punctuation", ");"], + ["Text", " "], + ["Keyword", "end"] + end + end end describe 'guessing' do