mirror of
https://git.uploadfilter24.eu/lerentis/terraform-provider-gitea.git
synced 2024-11-15 06:28:12 +00:00
20 lines
521 B
Go
20 lines
521 B
Go
|
package textseg
|
||
|
|
||
|
import "unicode/utf8"
|
||
|
|
||
|
// ScanGraphemeClusters is a split function for bufio.Scanner that splits
|
||
|
// on UTF8 sequence boundaries.
|
||
|
//
|
||
|
// This is included largely for completeness, since this behavior is already
|
||
|
// built in to Go when ranging over a string.
|
||
|
func ScanUTF8Sequences(data []byte, atEOF bool) (int, []byte, error) {
|
||
|
if len(data) == 0 {
|
||
|
return 0, nil, nil
|
||
|
}
|
||
|
r, seqLen := utf8.DecodeRune(data)
|
||
|
if r == utf8.RuneError && !atEOF {
|
||
|
return 0, nil, nil
|
||
|
}
|
||
|
return seqLen, data[:seqLen], nil
|
||
|
}
|