summaryrefslogtreecommitdiff
path: root/internal/client/ui/viminput/helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client/ui/viminput/helpers.go')
-rw-r--r--internal/client/ui/viminput/helpers.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/internal/client/ui/viminput/helpers.go b/internal/client/ui/viminput/helpers.go
new file mode 100644
index 0000000..c3dcdb1
--- /dev/null
+++ b/internal/client/ui/viminput/helpers.go
@@ -0,0 +1,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)
+}