mirror of
https://github.com/ralsina/tartrazine.git
synced 2025-06-19 14:43:05 -03:00
added language detection by filename strategy
This commit is contained in:
@ -48,7 +48,7 @@ func main() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
l := slinguist.GetLanguage(path, content)
|
l := slinguist.GetLanguage(filepath.Base(path), content)
|
||||||
|
|
||||||
r, err := filepath.Rel(root, path)
|
r, err := filepath.Rel(root, path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -36,6 +36,10 @@ func GetLanguageExtensions(language string) []string {
|
|||||||
|
|
||||||
// GetLanguage return the Language for a given filename and file content.
|
// GetLanguage return the Language for a given filename and file content.
|
||||||
func GetLanguage(filename string, content []byte) string {
|
func GetLanguage(filename string, content []byte) string {
|
||||||
|
if lang, safe := GetLanguageByFilename(filename); safe {
|
||||||
|
return lang
|
||||||
|
}
|
||||||
|
|
||||||
if lang, safe := GetLanguageByShebang(content); safe {
|
if lang, safe := GetLanguageByShebang(content); safe {
|
||||||
return lang
|
return lang
|
||||||
}
|
}
|
||||||
|
37
filename_test.go
Normal file
37
filename_test.go
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package slinguist
|
||||||
|
|
||||||
|
import . "gopkg.in/check.v1"
|
||||||
|
|
||||||
|
func (s *TSuite) TestGetLanguageByFilename(c *C) {
|
||||||
|
lang, safe := GetLanguageByFilename(`unknown.interpreter`)
|
||||||
|
c.Assert(lang, Equals, OtherLanguage)
|
||||||
|
c.Assert(safe, Equals, false)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`.bashrc`)
|
||||||
|
c.Assert(lang, Equals, "Shell")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`Dockerfile`)
|
||||||
|
c.Assert(lang, Equals, "Dockerfile")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`Makefile.frag`)
|
||||||
|
c.Assert(lang, Equals, "Makefile")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`makefile`)
|
||||||
|
c.Assert(lang, Equals, "Makefile")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`Vagrantfile`)
|
||||||
|
c.Assert(lang, Equals, "Ruby")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`_vimrc`)
|
||||||
|
c.Assert(lang, Equals, "Vim script")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
|
||||||
|
lang, safe = GetLanguageByFilename(`pom.xml`)
|
||||||
|
c.Assert(lang, Equals, "Maven POM")
|
||||||
|
c.Assert(safe, Equals, true)
|
||||||
|
}
|
Reference in New Issue
Block a user