From 57d497a08ca161301f931d594175827d2b858352 Mon Sep 17 00:00:00 2001
From: Anirudh Oppiliappan
Date: Fri, 18 Apr 2025 23:30:24 +0300
Subject: [PATCH] appview: pages: embed syntax highlighting for code
---
appview/pages/chroma.go | 40 --------------------------
appview/pages/pages.go | 4 +--
appview/pages/templates/repo/blob.html | 1 +
3 files changed, 3 insertions(+), 42 deletions(-)
delete mode 100644 appview/pages/chroma.go
diff --git a/appview/pages/chroma.go b/appview/pages/chroma.go
deleted file mode 100644
index a43e34ce..00000000
--- a/appview/pages/chroma.go
+++ /dev/null
@@ -1,40 +0,0 @@
-package pages
-
-import "github.com/alecthomas/chroma/v2"
-
-var tangledTheme map[chroma.TokenType]string = map[chroma.TokenType]string{
- // Keywords
- chroma.Keyword: "text-blue-400",
- chroma.KeywordConstant: "text-indigo-400",
- chroma.KeywordDeclaration: "text-purple-400",
- chroma.KeywordNamespace: "text-teal-400",
- chroma.KeywordReserved: "text-pink-400",
-
- // Names
- chroma.Name: "text-gray-700",
- chroma.NameFunction: "text-green-500",
- chroma.NameClass: "text-orange-400",
- chroma.NameNamespace: "text-cyan-500",
- chroma.NameVariable: "text-red-400",
- chroma.NameBuiltin: "text-yellow-500",
-
- // Literals
- chroma.LiteralString: "text-emerald-500 ",
- chroma.LiteralStringChar: "text-lime-500",
- chroma.LiteralNumber: "text-rose-400",
- chroma.LiteralNumberFloat: "text-amber-500",
-
- // Operators
- chroma.Operator: "text-blue-500",
- chroma.OperatorWord: "text-indigo-500",
-
- // Comments
- chroma.Comment: "text-gray-500 italic",
- chroma.CommentSingle: "text-gray-400 italic",
-
- // Generic
- chroma.GenericError: "text-red-600",
- chroma.GenericHeading: "text-purple-500 font-bold",
- chroma.GenericDeleted: "text-red-400 line-through",
- chroma.GenericInserted: "text-green-400 underline",
-}
diff --git a/appview/pages/pages.go b/appview/pages/pages.go
index 79b877e5..b17dc1d3 100644
--- a/appview/pages/pages.go
+++ b/appview/pages/pages.go
@@ -497,9 +497,8 @@ type RepoBlobParams struct {
}
func (p *Pages) RepoBlob(w io.Writer, params RepoBlobParams) error {
- style := styles.Get("bw")
+ var style *chroma.Style = styles.Get("catpuccin-latte")
b := style.Builder()
- b.Add(chroma.LiteralString, "noitalic")
style, _ = b.Build()
if params.ShowRendered {
@@ -516,6 +515,7 @@ func (p *Pages) RepoBlob(w io.Writer, params RepoBlobParams) error {
chromahtml.WithLineNumbers(true),
chromahtml.WithLinkableLineNumbers(true, "L"),
chromahtml.Standalone(false),
+ chromahtml.WithClasses(true),
)
lexer := lexers.Get(filepath.Base(params.Path))
diff --git a/appview/pages/templates/repo/blob.html b/appview/pages/templates/repo/blob.html
index d4c7643a..7c452c29 100644
--- a/appview/pages/templates/repo/blob.html
+++ b/appview/pages/templates/repo/blob.html
@@ -59,6 +59,7 @@
{{ else }}
+
{{ if .ShowRendered }}
{{ .RenderedContents }}
{{ else }}
--
2.54.0