-# 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