lib/rouge/guessers/modeline.rb in rouge-2.2.0 vs lib/rouge/guessers/modeline.rb in rouge-2.2.1
- old
+ new
@@ -31,12 +31,13 @@
lines = source_text.split(/\r?\n/)
search_space = (lines.first(@lines) + lines.last(@lines)).join("\n")
matches = MODELINES.map { |re| re.match(search_space) }.compact
+ return lexers unless matches.any?
+
match_set = Set.new(matches.map { |m| m[1] })
-
- lexers.select { |l| (Set.new([l.tag] + l.aliases) & match_set).any? }
+ lexers.select { |l| match_set.include?(l.tag) || l.aliases.any? { |a| match_set.include?(a) } }
end
end
end
end