diff options
Diffstat (limited to 'pkg/handler/git')
| -rw-r--r-- | pkg/handler/git/handler.go | 21 | 
1 files changed, 20 insertions, 1 deletions
| diff --git a/pkg/handler/git/handler.go b/pkg/handler/git/handler.go index 9c7ba5b..80f7de6 100644 --- a/pkg/handler/git/handler.go +++ b/pkg/handler/git/handler.go @@ -361,12 +361,31 @@ func (g *GitHandler) Commit(w http.ResponseWriter, r *http.Request) error {  		return err  	} +	lexer := lexers.Get("diff") +	style := styles.Get(g.config.GetSyntaxHighlight()) + +	formatter := html.New( +		html.WithLineNumbers(true), +		html.WithLinkableLineNumbers(true, "L"), +	) + +	iterator, err := lexer.Tokenise(nil, diff) +	if err != nil { +		return err +	} + +	var code bytes.Buffer +	err = formatter.Format(&code, style, iterator) +	if err != nil { +		return err +	} +  	gitList := &templates.GitItemPage{  		Name: name,  		Ref:  ref,  		GitItemBase: &templates.GitItemCommitPage{  			Commit: commit, -			Diff:   diff, +			Diff:   code.Bytes(),  		},  	}  	templates.WritePageTemplate(w, gitList, r.Context()) | 
