Report error, but don’t fatally stop if pygments has error. Return original string...
authorspf13 <steve.francia@gmail.com>
Fri, 10 Jan 2014 17:50:31 +0000 (12:50 -0500)
committerspf13 <steve.francia@gmail.com>
Sat, 11 Jan 2014 02:28:48 +0000 (21:28 -0500)
Squashed commits:
[849a7af] if highlighting doesn’t work, just return original string

helpers/pygments.go

index 6b912fc1a2a6c3ddd4d66916e0a546a6aaa695ed..7d22faf7d22e012476d5178cd2cc4e5bf7b65a85 100644 (file)
 package helpers
 
 import (
-       "bytes"
-       "log"
-       "os/exec"
-       "strings"
+    "bytes"
+    "log"
+    "os/exec"
+    "strings"
 )
 
 func Highlight(code string, lexer string) string {
-       var pygmentsBin = "pygmentize"
+    var pygmentsBin = "pygmentize"
 
-       if _, err := exec.LookPath(pygmentsBin); err != nil {
-               log.Print("Highlighting requries Pygments to be installed and in the path")
-               return code
-       }
+    if _, err := exec.LookPath(pygmentsBin); err != nil {
+        log.Print("Highlighting requries Pygments to be installed and in the path")
+        return code
+    }
 
-       var out bytes.Buffer
-       var stderr bytes.Buffer
+    var out bytes.Buffer
+    var stderr bytes.Buffer
 
-       cmd := exec.Command(pygmentsBin, "-l"+lexer, "-fhtml", "-O style=monokai,noclasses=true,encoding=utf-8")
-       cmd.Stdin = strings.NewReader(code)
-       cmd.Stdout = &out
-       cmd.Stderr = &stderr
+    cmd := exec.Command(pygmentsBin, "-l"+lexer, "-fhtml", "-O style=monokai,noclasses=true,encoding=utf-8")
+    cmd.Stdin = strings.NewReader(code)
+    cmd.Stdout = &out
+    cmd.Stderr = &stderr
 
-       if err := cmd.Run(); err != nil {
-               log.Print(stderr.String())
-               log.Fatal(err)
-       }
+    if err := cmd.Run(); err != nil {
+        log.Print(stderr.String())
+        return code
+    }
 
-       return out.String()
+    return out.String()
 }