mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00: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,
 | 
						|
	}
 | 
						|
}
 |