From 125c80258204b793fe371ef017742a0b5afcc05c Mon Sep 17 00:00:00 2001 From: David Paz Date: Mon, 10 Jul 2017 12:50:52 +0200 Subject: [PATCH] Now generates mime file --- cli/enry/main.go | 4 ++-- internal/code-generator/generator/langinfo.go | 1 + internal/code-generator/main.go | 6 ++++++ utils.go | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cli/enry/main.go b/cli/enry/main.go index 6a05f86..a7d53f5 100644 --- a/cli/enry/main.go +++ b/cli/enry/main.go @@ -162,12 +162,12 @@ func printFile(file string, buff *bytes.Buffer) { } totalLines, sloc := getLines(file, content) fileType := getFileType(file, content) - //mime type left language := enry.GetLanguage(file, content) + mimeType := enry.GetMimeType(language) buff.WriteString(fmt.Sprintf("%s: %d lines (%d sloc)\n", filepath.Base(file), totalLines, sloc)) buff.WriteString(fmt.Sprintf(" type: %s\n", fileType)) - buff.WriteString(fmt.Sprint(" mime type: \n")) + buff.WriteString(fmt.Sprintf(" mime type: %s\n", mimeType)) buff.WriteString(fmt.Sprintf(" language: %s\n", language)) } diff --git a/internal/code-generator/generator/langinfo.go b/internal/code-generator/generator/langinfo.go index a37abcf..7644a27 100644 --- a/internal/code-generator/generator/langinfo.go +++ b/internal/code-generator/generator/langinfo.go @@ -8,6 +8,7 @@ type languageInfo struct { Extensions []string `yaml:"extensions,omitempty,flow"` Interpreters []string `yaml:"interpreters,omitempty,flow"` Filenames []string `yaml:"filenames,omitempty,flow"` + MimeType string `yaml:"codemirror_mime_type,omitempty,flow"` } func getAlphabeticalOrderedKeys(languages map[string]*languageInfo) []string { diff --git a/internal/code-generator/main.go b/internal/code-generator/main.go index 3b65bb1..66f1165 100644 --- a/internal/code-generator/main.go +++ b/internal/code-generator/main.go @@ -67,6 +67,11 @@ const ( commitTmplPath = "internal/code-generator/assets/commit.go.tmpl" commitTmpl = "commit.go.tmpl" + // mime.go generation + mimeFile = "data/mime.go" + mimeTmplPath = "internal/code-generator/assets/mime.go.tmpl" + mimeTmpl = "mime.go.tmpl" + commitPath = ".linguist/.git/HEAD" ) @@ -97,6 +102,7 @@ func main() { &generatorFiles{generator.Aliases, languagesYAML, "", aliasesFile, aliasesTmplPath, aliasesTmpl, commit}, &generatorFiles{generator.Frequencies, "", samplesDir, frequenciesFile, frequenciesTmplPath, frequenciesTmpl, commit}, &generatorFiles{generator.Commit, "", "", commitFile, commitTmplPath, commitTmpl, commit}, + &generatorFiles{generator.Mime, languagesYAML, "", mimeFile, mimeTmplPath, mimeTmpl, commit}, } for _, file := range fileList { diff --git a/utils.go b/utils.go index 1569eae..9aaa4c8 100644 --- a/utils.go +++ b/utils.go @@ -53,6 +53,10 @@ func IsDocumentation(path string) bool { return data.DocumentationMatchers.Match(path) } +func GetMimeType(file string) string { + return data.LanguagesMime[file] +} + const sniffLen = 8000 // IsBinary detects if data is a binary value based on: