diff options
Diffstat (limited to 'guix/forge/cgit.scm')
| -rw-r--r-- | guix/forge/cgit.scm | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/guix/forge/cgit.scm b/guix/forge/cgit.scm index 94a62ee..529d4a6 100644 --- a/guix/forge/cgit.scm +++ b/guix/forge/cgit.scm @@ -25,6 +25,7 @@ #:use-module (forge socket) #:use-module ((gnu packages emacs) #:select (emacs-minimal)) #:use-module ((gnu packages mail) #:select (mailcap)) + #:use-module ((gnu packages golang-apps) #:select (go-chroma)) #:use-module ((gnu packages version-control) #:select (cgit-pink git-minimal)) #:use-module (gnu services) @@ -70,6 +71,21 @@ "README.txt" "README"))) +(define %cgit-chroma-syntax-highlight-gexp + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 match)) + + (match (command-line) + ((_ file) + (invoke #$(file-append go-chroma "/bin/chroma") + "--style" "pastie" + "--html" + "--html-only" + "--html-inline-styles" + "--filename" file)))))) + (define-record-type* <cgit-configuration> cgit-configuration make-cgit-configuration cgit-configuration? @@ -99,9 +115,8 @@ (email-filter cgit-configuration-email-filter (default #f)) (source-filter cgit-configuration-source-filter - (default (file-append (cgit-configuration-cgit - this-cgit-configuration) - "/lib/cgit/filters/syntax-highlighting.py")) + (default (program-file "cgit-chroma-syntax-highlight" + %cgit-chroma-syntax-highlight-gexp)) (thunked)) (mimetype-file cgit-configuration-mimetype-file (default (file-append mailcap "/etc/mime.types"))) |
