aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2023-11-18 06:06:18 +0100
committerLinnea Gräf <nea@nea.moe>2023-12-04 20:46:40 +0100
commitac14fe8fe04c44e2e08fa90b5cc8fdce293c2ab1 (patch)
tree79a72c3593d4e0304419c259559b371f12bd5249 /src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt
parentd9a1a8dda967f40bd4a7a2707bf3ff5411093e7d (diff)
downloadSkyHanni-repopatterns.tar.gz
SkyHanni-repopatterns.tar.bz2
SkyHanni-repopatterns.zip
Add RepoPatternsrepopatterns
RepoPatterns allow us to easily update regexes without creating a new release.
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt b/src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt
new file mode 100644
index 000000000..326f447d5
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt
@@ -0,0 +1,26 @@
+package at.hannibal2.skyhanni.utils.repopatterns
+
+import org.intellij.lang.annotations.Language
+
+/**
+ * A utility class for allowing easier definitions of [RepoPattern]s with a common prefix.
+ */
+class RepoPatternGroup internal constructor(val prefix: String) {
+ init {
+ RepoPatternManager.verifyKeyShape(prefix)
+ }
+
+ /**
+ * Shortcut to [RepoPattern.pattern] prefixed with [prefix].
+ */
+ fun pattern(key: String, @Language("RegExp") fallback: String): RepoPattern {
+ return RepoPattern.pattern("$prefix.$key", fallback)
+ }
+
+ /**
+ * Shortcut to [RepoPattern.group] prefixed with [prefix].
+ */
+ fun group(subgroup: String): RepoPatternGroup {
+ return RepoPatternGroup("$prefix.$subgroup")
+ }
+}