summaryrefslogtreecommitdiff
path: root/app/views/projects/blob/diff.html.haml
blob: d1f7f65bf53a3d56717a3673cf07ad8db4ebb5e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
- if @lines.present?
  - line_class = diff_view == :inline ? '' : diff_view
  - if @form.unfold? && @form.since != 1 && !@form.bottom?
    %tr.line_holder{ class: line_class }
      = diff_match_line @form.since, @form.since, text: @match_line, view: diff_view

  - @lines.each_with_index do |line, index|
    - line_new = index + @form.since
    - line_old = line_new - @form.offset
    - line_content = capture do
      %td.line_content.noteable_line{ class: line_class }==#{' ' * @form.indent}#{line}
    %tr.line_holder{ id: line_old, class: line_class }
      - case diff_view
      - when :inline
        %td.old_line.diff-line-num{ data: { linenumber: line_old } }
          %a{ href: "##{line_old}", data: { linenumber: line_old } }
        %td.new_line.diff-line-num{ data: { linenumber: line_new } }
          %a{ href: "##{line_new}", data: { linenumber: line_new } }
        = line_content
      - when :parallel
        %td.old_line.diff-line-num{ data: { linenumber: line_old } }
          = link_to raw(line_old), "##{line_old}"
        = line_content
        %td.new_line.diff-line-num{ data: { linenumber: line_new } }
          = link_to raw(line_new), "##{line_new}"
        = line_content

  - if @form.unfold? && @form.bottom? && @form.to < @blob.lines.size
    %tr.line_holder{ id: @form.to, class: line_class }
      = diff_match_line @form.to - @form.offset, @form.to, text: @match_line, view: diff_view, bottom: true