summaryrefslogtreecommitdiff
path: root/lib/gitlab/string_regex_marker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/string_regex_marker.rb')
-rw-r--r--lib/gitlab/string_regex_marker.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/gitlab/string_regex_marker.rb b/lib/gitlab/string_regex_marker.rb
new file mode 100644
index 00000000000..7ebf1c0428c
--- /dev/null
+++ b/lib/gitlab/string_regex_marker.rb
@@ -0,0 +1,13 @@
+module Gitlab
+ class StringRegexMarker < StringRangeMarker
+ def mark(regex, group: 0, &block)
+ regex_match = raw_line.match(regex)
+ return rich_line unless regex_match
+
+ begin_index, end_index = regex_match.offset(group)
+ name_range = begin_index..(end_index - 1)
+
+ super([name_range], &block)
+ end
+ end
+end