From 0f34a2d8ba1e601c7194a669ed158fc7ef614542 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Wed, 15 Feb 2017 18:37:00 -0500 Subject: [PATCH] Return the def object rather than the filetype string --- ftdetect.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ftdetect.go b/ftdetect.go index d4f0070..9651205 100644 --- a/ftdetect.go +++ b/ftdetect.go @@ -2,17 +2,19 @@ package highlight import "bytes" -func DetectFiletype(defs []*Def, filename string, fileSrc []byte) string { +func DetectFiletype(defs []*Def, filename string, fileSrc []byte) *Def { firstLine := bytes.Split(fileSrc, []byte("\n"))[0] for _, d := range defs { if d.ftdetect[0].Match([]byte(filename)) { - return d.ft + return d } - if d.ftdetect[1].Match(firstLine) { - return d.ft + if len(d.ftdetect) > 1 { + if d.ftdetect[1].Match(firstLine) { + return d + } } } - return "Unknown" + return nil }