Sha256: d2e0614ffcab525443c291194896b6addc8421f8ebfa4869fab3dd0d849ec4d1
Contents?: true
Size: 991 Bytes
Versions: 1
Compression:
Stored size: 991 Bytes
Contents
# -*- coding: utf-8 -*- # module Rouge module Lexers class Diff < RegexLexer title "diff" desc "Lexes unified diffs or patches" tag 'diff' 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 end state :diff do rule /@@ -\d+,\d+ \+\d+,\d+ @@.*?\n/, Generic::Heading rule /^\+.*?\n/, Generic::Inserted rule /^-.*?\n/, Generic::Deleted rule /^ .*?\n/, Text rule /^.*?\n/, Error end state :root do mixin :header mixin :diff end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rouge-1.8.0 | lib/rouge/lexers/diff.rb |