Files
convy/internal/check/text.go
T
av b2d07ae55d комментарии и сообщения переведены на английский
- комментарии, тексты ошибок, вывод CLI и сообщения тестов теперь на английском
- по-русски остались только литералы словаря ru и содержимое фикстур: это
  данные под проверкой, а не текст инструмента
- согласование числительных в итоге упростилось до английского plural
2026-07-27 10:04:27 +03:00

42 lines
929 B
Go

package check
import (
"unicode"
"unicode/utf8"
)
// letterAt reports whether offset i holds a letter or a digit. Cyrillic takes
// two bytes in UTF-8, so a single byte is not enough to decide.
func letterAt(text string, i int) bool {
if i >= len(text) {
return false
}
r, _ := utf8.DecodeRuneInString(text[i:])
return unicode.IsLetter(r) || unicode.IsDigit(r)
}
// letterBefore reports whether a letter or a digit stands before offset i.
func letterBefore(text string, i int) bool {
if i <= 0 {
return false
}
r, _ := utf8.DecodeLastRuneInString(text[:i])
return unicode.IsLetter(r) || unicode.IsDigit(r)
}
func digitAt(text string, i int) bool {
if i >= len(text) {
return false
}
r, _ := utf8.DecodeRuneInString(text[i:])
return unicode.IsDigit(r)
}
func digitBefore(text string, i int) bool {
if i <= 0 {
return false
}
r, _ := utf8.DecodeLastRuneInString(text[:i])
return unicode.IsDigit(r)
}