Eric Bower
·
2025-02-02
range-diff.html
1{{define "range-diff"}}
2<div class="group">
3 <div class="flex gap-2 collapse">
4 <div class="group patchset-list" style="width: 350px;">
5 <h2 class="text-xl mt">
6 Range-diff <code>rd-{{.Patchset.ID}}</code>
7 </h2>
8
9 {{range $diff := .PatchsetData.RangeDiff}}
10 <div class="box">
11 <dl>
12 <dt>title</dt>
13 <dd><a href="#{{$diff.Header.OldIdx}}-{{$diff.Header.NewIdx}}">{{$diff.Header.Title}}</a></dd>
14
15 <dt>description</dt>
16 <dd>
17 <code class='{{if eq $diff.Type "rm"}}pill-admin{{else if eq $diff.Type "add"}}pill-success{{else if eq $diff.Type "diff"}}pill-review{{end}}'>
18 {{if eq $diff.Header.NewSha ""}}
19 Patch removed
20 {{else if eq $diff.Header.OldSha ""}}
21 Patch added
22 {{else if $diff.Header.ContentEqual}}
23 Patch equal
24 {{else}}
25 Patch changed
26 {{end}}
27 </code>
28 </dd>
29
30 <dt>old #{{$diff.Header.OldIdx}}</dt>
31 <dd><code>{{sha $diff.Header.OldSha}}</code></dd>
32
33 <dt>new #{{$diff.Header.NewIdx}}</dt>
34 <dd><code>{{sha $diff.Header.NewSha}}</code></dd>
35 </dl>
36 </div>
37 {{else}}
38 <div class="box">
39 No range diff found for patchset.
40 </div>
41 {{end}}
42
43 <div><a href="#top">Back to top</a></div>
44 </div>
45
46 <div class="max-w flex-1">
47 <div class="group">
48 {{range .PatchsetData.RangeDiff}}
49 <div id="{{.Header.OldIdx}}-{{.Header.NewIdx}}">
50 <div class="mb">
51 <code class='{{if eq .Type "rm"}}pill-admin{{else if eq .Type "add"}}pill-success{{else if eq .Type "diff"}}pill-review{{end}}'>
52 {{.Header}}
53 </code>
54 </div>
55
56 <div>
57 {{- if .Files -}}
58 {{range .Files}}
59 <div class="flex gap">
60 <div class="flex-1" style="width: 48%;">
61 <div>
62 {{if .OldFile.OldName}}<code>{{.OldFile.OldName}}</code>{{end}}
63 {{if .OldFile.NewName}}<code>{{.OldFile.NewName}}</code>{{end}}
64 </div>
65 <pre class="m-0">{{- range .Diff -}}
66 {{- if eq .OuterType "delete" -}}
67 <span style="background-color: tomato;">{{.Text}}</span>
68 {{- else if eq .OuterType "insert" -}}
69 {{- else if eq .InnerType "insert" -}}
70 <span style="color: limegreen;">{{.Text}}</span>
71 {{- else if eq .InnerType "delete" -}}
72 <span style="color: tomato;">{{.Text}}</span>
73 {{- else -}}
74 <span>{{.Text}}</span>
75 {{- end -}}
76 {{- end -}}</pre>
77 </div>
78
79 <div class="flex-1" style="width: 48%;">
80 <div>
81 {{if .NewFile.OldName}}<code>{{.NewFile.OldName}}</code>{{end}}
82 {{if .NewFile.NewName}}<code>{{.NewFile.NewName}}</code>{{end}}
83 </div>
84 <pre class="m-0">{{- range .Diff -}}
85 {{- if eq .OuterType "insert" -}}
86 <span style="background-color: limegreen;">{{.Text}}</span>
87 {{- else if eq .OuterType "delete" -}}
88 {{- else if eq .InnerType "insert" -}}
89 <span style="color: limegreen;">{{.Text}}</span>
90 {{- else if eq .InnerType "delete" -}}
91 <span style="color: tomato;">{{.Text}}</span>
92 {{- else -}}
93 <span>{{.Text}}</span>
94 {{- end -}}
95 {{- end -}}</pre>
96 </div>
97 </div>
98 {{end}}
99 {{- end -}}
100 </div>
101 </div>
102 {{- end -}}
103 </div>
104
105 <hr class="my" />
106 </div>
107 </div>
108</div>
109{{end}}