diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rouge/lexers/gitlab_diff.rb | 20 |
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 |