.file-content.code.js-syntax-highlight{ class: user_color_scheme }
  .line-numbers
    - if blob.data.present?
      - blob.data.lines.each_index do |index|
        - offset = defined?(first_line_number) ? first_line_number : 1
        - i = index + offset
        -# We're not using `link_to` because it is too slow once we get to thousands of lines.
        %a{href: "#L#{i}", id: "L#{i}", 'data-line-number' => i}
          %i.fa.fa-link
          = i
  .blob-content{data: {blob_id: blob.id}}
    :preserve
      #{highlight(blob.name, blob.data)}

.file-content.code.js-syntax-highlight{ class: user_color_scheme }
  .line-numbers
    - if blob.data.present?
      - blob.data.each_line.each_with_index do |_, index|
        - offset = defined?(first_line_number) ? first_line_number : 1
        - i = index + offset
        -# We're not using `link_to` because it is too slow once we get to thousands of lines.
        %a{href: "#L#{i}", id: "L#{i}", 'data-line-number' => i}
          %i.fa.fa-link
          = i
  .blob-content{data: {blob_id: blob.id}}
    :preserve
      #{highlight(blob.name, blob.data)}

Use less memory while counting lines
Use less memory while counting lines
