diff --git a/modules/git/repo_language_stats.go b/modules/git/repo_language_stats.go index 06ff7044979eb..b721b996e498b 100644 --- a/modules/git/repo_language_stats.go +++ b/modules/git/repo_language_stats.go @@ -20,20 +20,6 @@ import ( const fileSizeLimit int64 = 16 * 1024 // 16 KiB const bigFileSize int64 = 1024 * 1024 // 1 MiB -// specialLanguages defines list of languages that are excluded from the calculation -// unless they are the only language present in repository. Only languages which under -// normal circumstances are not considered to be code should be listed here. -var specialLanguages = []string{ - "XML", - "JSON", - "TOML", - "YAML", - "INI", - "SVG", - "Text", - "Markdown", -} - // GetLanguageStats calculates language stats for git repository at specified commit func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, error) { r, err := git.PlainOpen(repo.Path) @@ -95,8 +81,11 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err // filter special languages unless they are the only language if len(sizes) > 1 { - for _, language := range specialLanguages { - delete(sizes, language) + for language := range sizes { + langtype := enry.GetLanguageType(language) + if langtype != enry.Programming && langtype != enry.Markup { + delete(sizes, language) + } } }