package clang_tidy func Contains[T comparable](arr []T, element T) bool { for i := range arr { // TODO: The keyword in json report might also be an array, need to split it // TODO: Might use string.Contains() rather than == if element == arr[i] { return true } } return false } func get_score(json_messages []json_message, conf Conf) int { fullmark := conf.Score for _, json_message := range json_messages { keyword := json_message.Check_name flag := false for _, match := range conf.Matches { if Contains(match.Keyword, keyword) { fullmark -= match.Score flag = true break } } if !flag { fullmark -= 1 } } return fullmark }