"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"
        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)
 
        }
 }
 
+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(