From 0ea36025f45c14dc32d1644d483d1db8ed18a223 Mon Sep 17 00:00:00 2001 From: "oppili.bsky.social" Date: Wed, 9 Apr 2025 19:00:17 +0000 Subject: [PATCH] appview: add line numbers to diffs drive-by fixes: - make the edit icon for repo-descriptions more compact - do not double-pad rendered blob contents --- appview/pages/funcmap.go | 4 ++ appview/pages/templates/fragments/diff.html | 58 ++++++++++++------- .../fragments/editRepoDescription.html | 4 +- .../templates/fragments/repoDescription.html | 6 +- appview/pages/templates/repo/blob.html | 2 +- 5 files changed, 47 insertions(+), 27 deletions(-) diff --git a/appview/pages/funcmap.go b/appview/pages/funcmap.go index 8d88604..ed2399a 100644 --- a/appview/pages/funcmap.go +++ b/appview/pages/funcmap.go @@ -33,6 +33,10 @@ func funcMap() template.FuncMap { "add": func(a, b int) int { return a + b }, + // the absolute state of go templates + "add64": func(a, b int64) int64 { + return a + b + }, "sub": func(a, b int) int { return a - b }, diff --git a/appview/pages/templates/fragments/diff.html b/appview/pages/templates/fragments/diff.html index 76bd445..0e4fd83 100644 --- a/appview/pages/templates/fragments/diff.html +++ b/appview/pages/templates/fragments/diff.html @@ -81,27 +81,43 @@ This is a binary file and will not be displayed.

{{ else }} -
{{- range .TextFragments -}}
{{- .Header -}}
{{- range .Lines -}} - {{- if eq .Op.String "+" -}} -
-
{{ .Op.String }}
-
{{ .Line }}
-
- {{- end -}} - {{- if eq .Op.String "-" -}} -
-
{{ .Op.String }}
-
{{ .Line }}
-
- {{- end -}} - {{- if eq .Op.String " " -}} -
-
{{ .Op.String }}
-
{{ .Line }}
-
- {{- end -}} - {{- end -}} - {{- end -}}
+
{{- range .TextFragments -}}
···
+ {{- $oldStart := .OldPosition -}} + {{- $newStart := .NewPosition -}} + {{- $lineNrStyle := "min-w-[3rem] flex-shrink-0 select-none text-right" -}} + {{- $lineNrSepStyle1 := "text-gray-400 dark:text-gray-500 bg-white dark:bg-gray-800" -}} + {{- $lineNrSepStyle2 := "text-gray-400 dark:text-gray-500 bg-white dark:bg-gray-800 pr-2" -}} + {{- range .Lines -}} + {{- if eq .Op.String "+" -}} +
+
+
{{ $newStart }}
+
{{ .Op.String }}
+
{{ .Line }}
+
+ {{- $newStart = add64 $newStart 1 -}} + {{- end -}} + {{- if eq .Op.String "-" -}} +
+
{{ $oldStart }}
+
+
{{ .Op.String }}
+
{{ .Line }}
+
+ {{- $oldStart = add64 $oldStart 1 -}} + {{- end -}} + {{- if eq .Op.String " " -}} +
+
{{ $oldStart }}
+
{{ $newStart }}
+
{{ .Op.String }}
+
{{ .Line }}
+
+ {{- $newStart = add64 $newStart 1 -}} + {{- $oldStart = add64 $oldStart 1 -}} + {{- end -}} + {{- end -}} + {{- end -}}
{{- end -}} {{ end }} diff --git a/appview/pages/templates/fragments/editRepoDescription.html b/appview/pages/templates/fragments/editRepoDescription.html index d0c094b..c931b9c 100644 --- a/appview/pages/templates/fragments/editRepoDescription.html +++ b/appview/pages/templates/fragments/editRepoDescription.html @@ -1,10 +1,10 @@ {{ define "fragments/editRepoDescription" }}
- -
diff --git a/appview/pages/templates/fragments/repoDescription.html b/appview/pages/templates/fragments/repoDescription.html index 9f292d0..4a6735f 100644 --- a/appview/pages/templates/fragments/repoDescription.html +++ b/appview/pages/templates/fragments/repoDescription.html @@ -1,5 +1,5 @@ {{ define "fragments/repoDescription" }} - + {{ if .RepoInfo.Description }} {{ .RepoInfo.Description }} {{ else }} @@ -7,8 +7,8 @@ {{ end }} {{ if .RepoInfo.Roles.IsOwner }} - {{ end }} diff --git a/appview/pages/templates/repo/blob.html b/appview/pages/templates/repo/blob.html index 18a2cdc..d4c7643 100644 --- a/appview/pages/templates/repo/blob.html +++ b/appview/pages/templates/repo/blob.html @@ -60,7 +60,7 @@ {{ else }}
{{ if .ShowRendered }} -
{{ .RenderedContents }}
+
{{ .RenderedContents }}
{{ else }}
{{ $.Contents | escapeHtml }}
{{ end }} -- 2.51.2