mirror of
https://codeberg.org/davrot/forgejo.git
synced 2025-05-15 17:00:02 +02:00
[GITEA] Improved Linguist compatibility
Recognise the `linguist-documentation` and `linguist-detectable` attributes in `.gitattributes` files, and use them in `GetLanguageStats()` to make a decision whether to include a particular file in the stats or not. This allows one more control over which files in their repositories contribute toward the language statistics, so that for a project that is mostly documentation, the language stats can reflect that. Fixes #1672. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu> (cherry picked from commit 6d4e02fe5f2e79fceb6cf672f6f822714db6d0fe) (cherry picked from commit ee1ead81891d7a0d4e62e5ba89ebee9db6359e76) (cherry picked from commit 2dbec730e875f44a1d8a53e123fef428a14add95)
This commit is contained in:
parent
bd1cea3f82
commit
8eaa8aeaf9
5 changed files with 341 additions and 28 deletions
|
@ -13,6 +13,18 @@ const (
|
|||
bigFileSize int64 = 1024 * 1024 // 1 MiB
|
||||
)
|
||||
|
||||
type LinguistBoolAttrib struct {
|
||||
Value string
|
||||
}
|
||||
|
||||
func (attrib *LinguistBoolAttrib) IsTrue() bool {
|
||||
return attrib.Value == "set" || attrib.Value == "true"
|
||||
}
|
||||
|
||||
func (attrib *LinguistBoolAttrib) IsFalse() bool {
|
||||
return attrib.Value == "unset" || attrib.Value == "false"
|
||||
}
|
||||
|
||||
// mergeLanguageStats mergers language names with different cases. The name with most upper case letters is used.
|
||||
func mergeLanguageStats(stats map[string]int64) map[string]int64 {
|
||||
names := map[string]struct {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue