mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	* Fix validate() function to handle errors in embedded anon structs * Implement webhook branch filter See #2025, #3998.
		
			
				
	
	
		
			50 lines
		
	
	
		
			673 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			673 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package match
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"unicode/utf8"
 | |
| )
 | |
| 
 | |
| type Max struct {
 | |
| 	Limit int
 | |
| }
 | |
| 
 | |
| func NewMax(l int) Max {
 | |
| 	return Max{l}
 | |
| }
 | |
| 
 | |
| func (self Max) Match(s string) bool {
 | |
| 	var l int
 | |
| 	for range s {
 | |
| 		l += 1
 | |
| 		if l > self.Limit {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func (self Max) Index(s string) (int, []int) {
 | |
| 	segments := acquireSegments(self.Limit + 1)
 | |
| 	segments = append(segments, 0)
 | |
| 	var count int
 | |
| 	for i, r := range s {
 | |
| 		count++
 | |
| 		if count > self.Limit {
 | |
| 			break
 | |
| 		}
 | |
| 		segments = append(segments, i+utf8.RuneLen(r))
 | |
| 	}
 | |
| 
 | |
| 	return 0, segments
 | |
| }
 | |
| 
 | |
| func (self Max) Len() int {
 | |
| 	return lenNo
 | |
| }
 | |
| 
 | |
| func (self Max) String() string {
 | |
| 	return fmt.Sprintf("<max:%d>", self.Limit)
 | |
| }
 |