URI: 
       tpl/transform: Add CanHighlight - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 39261b689e47116de5cfd3bee6b6e3af57deb97c
   DIR parent cff14144a6306b9a60c4fc56d1dce17f0b3778e9
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Sun, 27 Feb 2022 17:09:11 +0100
       
       tpl/transform: Add CanHighlight
       
       Closes #9573
       
       Diffstat:
         M tpl/transform/transform.go          |       6 ++++++
         M tpl/transform/transform_test.go     |      10 ++++++++++
       
       2 files changed, 16 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/tpl/transform/transform.go b/tpl/transform/transform.go
       @@ -18,6 +18,7 @@ import (
                "html"
                "html/template"
        
       +        "github.com/alecthomas/chroma/lexers"
                "github.com/gohugoio/hugo/cache/namedmemcache"
                "github.com/gohugoio/hugo/common/herrors"
                "github.com/gohugoio/hugo/markup/converter/hooks"
       @@ -90,6 +91,11 @@ func (ns *Namespace) HighlightCodeBlock(ctx hooks.CodeblockContext, opts ...inte
                return hl.HighlightCodeBlock(ctx, optsv)
        }
        
       +// CanHighlight returns whether the given language is supported by the Chroma highlighter.
       +func (ns *Namespace) CanHighlight(lang string) bool {
       +        return lexers.Get(lang) != nil
       +}
       +
        // HTMLEscape returns a copy of s with reserved HTML characters escaped.
        func (ns *Namespace) HTMLEscape(s interface{}) (string, error) {
                ss, err := cast.ToStringE(s)
   DIR diff --git a/tpl/transform/transform_test.go b/tpl/transform/transform_test.go
       @@ -95,6 +95,16 @@ func TestHighlight(t *testing.T) {
                }
        }
        
       +func TestCanHighlight(t *testing.T) {
       +        t.Parallel()
       +
       +        c := qt.New(t)
       +        ns := &transform.Namespace{}
       +
       +        c.Assert(ns.CanHighlight("go"), qt.Equals, true)
       +        c.Assert(ns.CanHighlight("foo"), qt.Equals, false)
       +}
       +
        func TestHTMLEscape(t *testing.T) {
                t.Parallel()
                b := hugolib.NewIntegrationTestBuilder(