lib/rouge/lexers/diff.rb in rouge-0.0.6 vs lib/rouge/lexers/diff.rb in rouge-0.0.7
- old
+ new
@@ -1,10 +1,18 @@
module Rouge
module Lexers
class Diff < RegexLexer
tag 'diff'
- aliases 'patch'
- extensions 'diff', 'patch'
+ aliases 'patch', 'udiff'
+ filenames '*.diff', '*.patch'
+ mimetypes 'text/x-diff', 'text/x-patch'
+
+ def self.analyze_text(text)
+ return 1 if text.start_with?('Index: ')
+ return 1 if text.start_with?('diff ')
+
+ return 0.9 if text =~ /\A---.*?\n\+\+\+/m
+ end
state :header do
rule /^diff .*?\n(?=---|\+\+\+)/m, 'Generic.Heading'
rule /^--- .*?\n/, 'Generic.Deleted'
rule /^\+\+\+ .*?\n/, 'Generic.Inserted'