diff --git a/modules/git/languagestats/language_stats_gogit.go b/modules/git/languagestats/language_stats_gogit.go index 418c05b157..ec03ca3159 100644 --- a/modules/git/languagestats/language_stats_gogit.go +++ b/modules/git/languagestats/language_stats_gogit.go @@ -108,7 +108,7 @@ func GetLanguageStats(repo *git_module.Repository, commitID string) (map[string] if (!isVendored.Has() && analyze.IsVendor(f.Name)) || enry.IsDotFile(f.Name) || (!isDocumentation.Has() && enry.IsDocumentation(f.Name)) || - enry.IsConfiguration(f.Name) { + (!isDetectable.Has() && enry.IsConfiguration(f.Name)) { return nil } diff --git a/modules/git/languagestats/language_stats_nogogit.go b/modules/git/languagestats/language_stats_nogogit.go index 1dbf184af6..442313d495 100644 --- a/modules/git/languagestats/language_stats_nogogit.go +++ b/modules/git/languagestats/language_stats_nogogit.go @@ -132,7 +132,7 @@ func GetLanguageStats(repo *git.Repository, commitID string) (map[string]int64, if (!isVendored.Has() && analyze.IsVendor(f.Name())) || enry.IsDotFile(f.Name()) || (!isDocumentation.Has() && enry.IsDocumentation(f.Name())) || - enry.IsConfiguration(f.Name()) { + (!isDetectable.Has() && enry.IsConfiguration(f.Name())) { continue } diff --git a/tests/integration/linguist_test.go b/tests/integration/linguist_test.go index 2c4c74d2a7..8f924f0ffb 100644 --- a/tests/integration/linguist_test.go +++ b/tests/integration/linguist_test.go @@ -214,6 +214,17 @@ func TestLinguist(t *testing.T) { }, ExpectedLanguageOrder: []string{"Markdown"}, }, + // case 14: linguist-detectable on a configuration/data file (YAML) without linguist-language + { + GitAttributesContent: "*.yaml linguist-detectable", + FilesToAdd: []*files_service.ChangeRepoFile{ + { + TreePath: "config.yaml", + ContentReader: strings.NewReader("name: test\ndescription: A test yaml file\n"), + }, + }, + ExpectedLanguageOrder: []string{"YAML"}, + }, } for i, c := range cases {