summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRubén Dávila <Ruben@GitLab.com>2015-12-15 18:09:09 -0500
committerRubén Dávila <rdavila84@gmail.com>2015-12-28 18:31:27 -0500
commit34657b821ae597de76ffd5a70d2b0b298dc270ed (patch)
treeb1aa6974c5631b0df71e5640329212216aeb10cf /lib
parent3a227b5abb0c794e95dd9153e3616c5d81aa06f8 (diff)
downloadgitlab-ce-34657b821ae597de76ffd5a70d2b0b298dc270ed.tar.gz
Add syntax highlighting to diff view. #3945
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