summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/rouge/lexers/gitlab_diff.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rouge/lexers/gitlab_diff.rb b/lib/rouge/lexers/gitlab_diff.rb
new file mode 100644
index 00000000000..e136d47df00
--- /dev/null
+++ b/lib/rouge/lexers/gitlab_diff.rb
@@ -0,0 +1,20 @@
+Rouge::Token::Tokens.token(:InlineDiff, 'idiff')
+
+module Rouge
+ module Lexers
+ class GitlabDiff < RegexLexer
+ title "GitLab Diff"
+ tag 'gitlab_diff'
+
+ state :root do
+ rule %r{<span class='idiff'>(.*?)</span>} do |match|
+ token InlineDiff, match[1]
+ end
+
+ rule /(?:(?!<span).)*/ do
+ delegate option(:parent_lexer)
+ end
+ end
+ end
+ end
+end