1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
package escape
func IsDivider(chars []byte, index int) int {
if chars[index] != '-' && chars[index] != '_' && chars[index] != '*' {
return -1
}
for i := index - 1; i >= 0; i-- {
if chars[i] == '\n' {
break
}
if chars[i] == placeholderByte {
continue
}
if chars[i] == ' ' {
continue
}
return -1
}
count := 1
lastChar := len(chars)
for i := index + 1; i < len(chars); i++ {
if chars[i] == placeholderByte {
continue
}
if chars[i] == ' ' {
continue
}
if chars[i] == chars[index] {
count++
continue
}
if chars[i] == '\n' {
lastChar = i
break
}
return -1
}
if count >= 3 {
return lastChar - index
}
return -1
}
|