diff: show diff type

This commit is contained in:
Anirudh Oppiliappan 2022-12-19 18:07:13 +05:30
parent 194ec63d81
commit 263a1509db
No known key found for this signature in database
GPG key ID: 8A93F96F78C5D4C4
3 changed files with 18 additions and 1 deletions

View file

@ -21,6 +21,8 @@ type Diff struct {
} }
TextFragments []TextFragment TextFragments []TextFragment
IsBinary bool IsBinary bool
IsNew bool
IsDelete bool
} }
// A nicer git diff representation. // A nicer git diff representation.
@ -90,6 +92,8 @@ func (g *GitRepo) Diff() (*NiceDiff, error) {
ndiff.Name.New = d.NewName ndiff.Name.New = d.NewName
ndiff.Name.Old = d.OldName ndiff.Name.Old = d.OldName
ndiff.IsBinary = d.IsBinary ndiff.IsBinary = d.IsBinary
ndiff.IsNew = d.IsNew
ndiff.IsDelete = d.IsDelete
for _, tf := range d.TextFragments { for _, tf := range d.TextFragments {
ndiff.TextFragments = append(ndiff.TextFragments, TextFragment{ ndiff.TextFragments = append(ndiff.TextFragments, TextFragment{

View file

@ -238,6 +238,10 @@ a:hover {
overflow: scroll; overflow: scroll;
} }
.diff-type {
color: var(--gray);
}
.commit-info { .commit-info {
color: var(--gray); color: var(--gray);
padding-bottom: 1.5rem; padding-bottom: 1.5rem;

View file

@ -46,8 +46,17 @@
{{ $repo := .name }} {{ $repo := .name }}
{{ $this := .commit.This }} {{ $this := .commit.This }}
{{ range .diff }} {{ range .diff }}
<div class="diff">
<div id="{{ .Name.New }}"> <div id="{{ .Name.New }}">
<div class="diff">
{{ if .IsNew }}
<span class="diff-type">A</span>
{{ end }}
{{ if .IsDelete }}
<span class="diff-type">D</span>
{{ end }}
{{ if not (or .IsNew .IsDelete) }}
<span class="diff-type">M</span>
{{ end }}
{{ if .Name.Old }} {{ if .Name.Old }}
<a href="/{{ $repo }}/blob/{{ $this }}/{{ .Name.Old }}">{{ .Name.Old }}</a> <a href="/{{ $repo }}/blob/{{ $this }}/{{ .Name.Old }}">{{ .Name.Old }}</a>
{{ if .Name.New }} {{ if .Name.New }}