summaryrefslogtreecommitdiff
path: root/internal/client/ui/viminput/helpers.go
blob: c3dcdb17471bfd55f9908ba060185143645f01ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package viminput

import "unicode"

func IsKeyword(r rune) bool {
	alphaLower := 'a' <= r && r <= 'z'
	alphaUpper := 'A' <= r && r <= 'Z'
	numeric := '0' <= r && r <= '9'
	return alphaLower || alphaUpper || numeric || r == '_'
}

func IsGrouped(r1, r2 rune) bool {
	if IsKeyword(r1) {
		return IsKeyword(r2)
	}
	if unicode.IsSpace(r1) {
		return unicode.IsSpace(r2)
	}
	return !IsKeyword(r2) && !unicode.IsSpace(r2)
}