shithub: hugo

Download patch

ref: fdab118010f3b5ad027038bb2b2040d30478852e
parent: 450dc7a41186bc32812c89a69cf3c5bf89d97435
author: Andrew Brampton <[email protected]>
date: Fri Jul 3 10:51:43 EDT 2015

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.

--- a/helpers/pygments.go
+++ b/helpers/pygments.go
@@ -94,7 +94,14 @@
 	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