diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-16 13:42:19 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-16 13:42:19 +0300 |
commit | 84d1bd786125c1c14a3ba5f63e38a4cc736a9027 (patch) | |
tree | f550fa965f507077e20dbb6d61a8269a99ef7107 /lib/gitlab/highlight.rb | |
parent | 3a105e36e689f7b75482236712f1a47fd5a76814 (diff) |
Add latest changes from gitlab-org/gitlab@16-8-stable-eev16.8.0-rc42
Diffstat (limited to 'lib/gitlab/highlight.rb')
-rw-r--r-- | lib/gitlab/highlight.rb | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/lib/gitlab/highlight.rb b/lib/gitlab/highlight.rb index 1a85c57e6b1..40bca7993ce 100644 --- a/lib/gitlab/highlight.rb +++ b/lib/gitlab/highlight.rb @@ -2,9 +2,9 @@ module Gitlab class Highlight - def self.highlight(blob_name, blob_content, language: nil, plain: false, context: {}) + def self.highlight(blob_name, blob_content, language: nil, plain: false, context: {}, used_on: :blob) new(blob_name, blob_content, language: language) - .highlight(blob_content, continue: false, plain: plain, context: context) + .highlight(blob_content, continue: false, plain: plain, context: context, used_on: used_on) end def self.too_large?(size) @@ -18,15 +18,19 @@ module Gitlab @language = language @blob_name = blob_name @blob_content = blob_content + @gitlab_highlight_usage_counter = Gitlab::Metrics.counter( + :gitlab_highlight_usage, + 'The number of times Gitlab::Highlight is used' + ) end - def highlight(text, continue: false, plain: false, context: {}) + def highlight(text, continue: false, plain: false, context: {}, used_on: :blob) @context = context plain ||= self.class.too_large?(text.length) - highlighted_text = highlight_text(text, continue: continue, plain: plain) - highlighted_text = link_dependencies(text, highlighted_text) if blob_name + highlighted_text = highlight_text(text, continue: continue, plain: plain, used_on: used_on) + highlighted_text = link_dependencies(text, highlighted_text, used_on: used_on) if blob_name highlighted_text end @@ -54,7 +58,9 @@ module Gitlab Rouge::Lexer.find_fancy(@language) end - def highlight_text(text, continue: true, plain: false) + def highlight_text(text, continue: true, plain: false, used_on: :blob) + @gitlab_highlight_usage_counter.increment(used_on: used_on) + if plain highlight_plain(text) else @@ -77,8 +83,8 @@ module Gitlab highlight_plain(text) end - def link_dependencies(text, highlighted_text) - Gitlab::DependencyLinker.link(blob_name, text, highlighted_text) + def link_dependencies(text, highlighted_text, used_on: :blob) + Gitlab::DependencyLinker.link(blob_name, text, highlighted_text, used_on: used_on) end end end |