debian-mirror-gitlab/app/views/shared/_file_highlight.html.haml
2023-03-04 22:38:38 +05:30

28 lines
1.1 KiB
Text

-# We're not using `link_to` in the line loop because it is too slow once we get to thousands of lines.
- offset = defined?(first_line_number) ? first_line_number : 1
- highlight = defined?(highlight_line) && highlight_line ? highlight_line - offset : nil
- file_line_blame = Feature.enabled?(:file_line_blame)
- if file_line_blame
- line_class = "js-line-links"
- blame_path = project_blame_path(@project, tree_join(@ref, blob.path))
- else
- line_class = nil
- blame_path = nil
- highlighted_blob = blob.present.highlight
#blob-content.file-content.code.js-syntax-highlight
.line-numbers{ class: "gl-px-0!", data: { blame_path: blame_path } }
- if blob.data.present?
- highlighted_blob.lines.count.times do |index|
- i = index + offset
%a.file-line-num.diff-line-num{ class: line_class, href: "#L#{i}", id: "L#{i}", 'data-line-number' => i }
= i
.blob-content{ data: { blob_id: blob.id, path: blob.path, highlight_line: highlight, qa_selector: 'file_content' } }
%pre.code.highlight
%code
= highlighted_blob