28 lines
1.1 KiB
Text
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
|