From f170a04279a1104dd13cbec45e3f134ce2504888 Mon Sep 17 00:00:00 2001 From: Vidar Hokstad Date: Fri, 18 Jan 2019 04:19:33 +0000 Subject: [PATCH] Fix #1022 by supporting diffs other than unified. Close #846 as it conflicts and this commit differentiates further. --- lib/rouge/lexers/diff.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/rouge/lexers/diff.rb b/lib/rouge/lexers/diff.rb index 0f44832392..71b5158502 100644 --- a/lib/rouge/lexers/diff.rb +++ b/lib/rouge/lexers/diff.rb @@ -19,14 +19,18 @@ def self.detect?(text) state :root do rule(/^ .*$\n?/, Text) - rule(/^---$\n?/, Text) + rule(/^---$\n?/, Punctuation) + rule(/^[+>]+.*$\n?/, Generic::Inserted) rule(/^\+.*$\n?/, Generic::Inserted) - rule(/^-+.*$\n?/, Generic::Deleted) + rule(/^[-<]+.*$\n?/, Generic::Deleted) rule(/^!.*$\n?/, Generic::Strong) - rule(/^@.*$\n?/, Generic::Subheading) rule(/^([Ii]ndex|diff).*$\n?/, Generic::Heading) + rule(/^(@@[^@]*@@)([^\n]*\n)/) do + groups Punctuation, Text + end + rule(/^\w.*$\n?/, Punctuation) rule(/^=.*$\n?/, Generic::Heading) - rule(/.*$\n?/, Text) + rule(/\s.*$\n?/, Text) end end end