forked from toolshed/abra
chore: bump deps
This commit is contained in:
32
vendor/github.com/sergi/go-diff/diffmatchpatch/index.go
generated
vendored
Normal file
32
vendor/github.com/sergi/go-diff/diffmatchpatch/index.go
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
package diffmatchpatch
|
||||
|
||||
type index uint32
|
||||
|
||||
const runeSkipStart = 0xd800
|
||||
const runeSkipEnd = 0xdfff + 1
|
||||
const runeMax = 0x110000 // next invalid code point
|
||||
|
||||
func stringToIndex(text string) []index {
|
||||
runes := []rune(text)
|
||||
indexes := make([]index, len(runes))
|
||||
for i, r := range runes {
|
||||
if r < runeSkipEnd {
|
||||
indexes[i] = index(r)
|
||||
} else {
|
||||
indexes[i] = index(r) - (runeSkipEnd - runeSkipStart)
|
||||
}
|
||||
}
|
||||
return indexes
|
||||
}
|
||||
|
||||
func indexesToString(indexes []index) string {
|
||||
runes := make([]rune, len(indexes))
|
||||
for i, index := range indexes {
|
||||
if index < runeSkipStart {
|
||||
runes[i] = rune(index)
|
||||
} else {
|
||||
runes[i] = rune(index + (runeSkipEnd - runeSkipStart))
|
||||
}
|
||||
}
|
||||
return string(runes)
|
||||
}
|
||||
Reference in New Issue
Block a user