lib/rouge/lexers/matlab.rb in rouge-3.3.0 vs lib/rouge/lexers/matlab.rb in rouge-3.4.0

- old
+ new

@@ -56,17 +56,24 @@ rule /(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?/i, Num::Float rule /\d+e[+-]?[0-9]+/i, Num::Float rule /\d+L/, Num::Integer::Long rule /\d+/, Num::Integer - rule /'(?=(.*'))/, Str::Single, :string + rule /'(?=(.*'))/, Str::Single, :chararray + rule /"(?=(.*"))/, Str::Double, :string rule /'/, Operator end - state :string do + state :chararray do rule /[^']+/, Str::Single rule /''/, Str::Escape rule /'/, Str::Single, :pop! + end + + state :string do + rule /[^"]+/, Str::Double + rule /""/, Str::Escape + rule /"/, Str::Double, :pop! end end end end