mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 11:35:03 +01:00 
			
		
		
		
	* Migrate to go modules * make vendor * Update mvdan.cc/xurls * make vendor * Update code.gitea.io/git * make fmt-check * Update github.com/go-sql-driver/mysql * make vendor
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) 2012-2016 The go-diff authors. All rights reserved.
 | |
| // https://github.com/sergi/go-diff
 | |
| // See the included LICENSE file for license details.
 | |
| //
 | |
| // go-diff is a Go implementation of Google's Diff, Match, and Patch library
 | |
| // Original library is Copyright (c) 2006 Google Inc.
 | |
| // http://code.google.com/p/google-diff-match-patch/
 | |
| 
 | |
| // Package diffmatchpatch offers robust algorithms to perform the operations required for synchronizing plain text.
 | |
| package diffmatchpatch
 | |
| 
 | |
| import (
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| // DiffMatchPatch holds the configuration for diff-match-patch operations.
 | |
| type DiffMatchPatch struct {
 | |
| 	// Number of seconds to map a diff before giving up (0 for infinity).
 | |
| 	DiffTimeout time.Duration
 | |
| 	// Cost of an empty edit operation in terms of edit characters.
 | |
| 	DiffEditCost int
 | |
| 	// How far to search for a match (0 = exact location, 1000+ = broad match). A match this many characters away from the expected location will add 1.0 to the score (0.0 is a perfect match).
 | |
| 	MatchDistance int
 | |
| 	// When deleting a large block of text (over ~64 characters), how close do the contents have to be to match the expected contents. (0.0 = perfection, 1.0 = very loose).  Note that MatchThreshold controls how closely the end points of a delete need to match.
 | |
| 	PatchDeleteThreshold float64
 | |
| 	// Chunk size for context length.
 | |
| 	PatchMargin int
 | |
| 	// The number of bits in an int.
 | |
| 	MatchMaxBits int
 | |
| 	// At what point is no match declared (0.0 = perfection, 1.0 = very loose).
 | |
| 	MatchThreshold float64
 | |
| }
 | |
| 
 | |
| // New creates a new DiffMatchPatch object with default parameters.
 | |
| func New() *DiffMatchPatch {
 | |
| 	// Defaults.
 | |
| 	return &DiffMatchPatch{
 | |
| 		DiffTimeout:          time.Second,
 | |
| 		DiffEditCost:         4,
 | |
| 		MatchThreshold:       0.5,
 | |
| 		MatchDistance:        1000,
 | |
| 		PatchDeleteThreshold: 0.5,
 | |
| 		PatchMargin:          4,
 | |
| 		MatchMaxBits:         32,
 | |
| 	}
 | |
| }
 |