From fdab118010f3b5ad027038bb2b2040d30478852e Mon Sep 17 00:00:00 2001 From: Andrew Brampton Date: Fri, 3 Jul 2015 14:51:43 -0700 Subject: [PATCH] If no language is provided to Pygments, then try and guess it Previously if no language was specified, then illegal args would be passed to pygments, for example `pygments -l -fhtml`, which would result in pygments printing an error. --- helpers/pygments.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/helpers/pygments.go b/helpers/pygments.go index 3f0f90b7a..ecbdf99d0 100644 --- a/helpers/pygments.go +++ b/helpers/pygments.go @@ -94,7 +94,14 @@ func Highlight(code, lang, optsStr string) string { var out bytes.Buffer var stderr bytes.Buffer - cmd := exec.Command(pygmentsBin, "-l"+lang, "-fhtml", "-O", options) + var langOpt string + if lang == "" { + langOpt = "-g" // Try guessing the language + } else { + langOpt = "-l"+lang + } + + cmd := exec.Command(pygmentsBin, langOpt, "-fhtml", "-O", options) cmd.Stdin = strings.NewReader(code) cmd.Stdout = &out cmd.Stderr = &stderr