diff --git a/internal/html/markup/chroma.go b/internal/html/markup/chroma.go index c1d83f3..57efa72 100644 --- a/internal/html/markup/chroma.go +++ b/internal/html/markup/chroma.go @@ -2,6 +2,7 @@ package markup import ( "io" + "path/filepath" "github.com/alecthomas/chroma/v2" "github.com/alecthomas/chroma/v2/formatters/html" @@ -26,10 +27,17 @@ var ( type code struct{} +var customReg = map[string]string{ + ".hujson": "json", +} + func setup(source []byte, fileName string) (chroma.Iterator, *chroma.Style, error) { lexer := lexers.Match(fileName) if lexer == nil { lexer = lexers.Fallback + if name, ok := customReg[filepath.Ext(fileName)]; ok { + lexer = lexers.Get(name) + } } lexer = chroma.Coalesce(lexer)