diff options
| author | Linnea Gräf <nea@nea.moe> | 2023-11-18 06:06:18 +0100 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2023-12-04 20:46:40 +0100 |
| commit | ac14fe8fe04c44e2e08fa90b5cc8fdce293c2ab1 (patch) | |
| tree | 79a72c3593d4e0304419c259559b371f12bd5249 /src/main/java/at/hannibal2/skyhanni/utils/repopatterns/RepoPatternGroup.kt | |
| parent | d9a1a8dda967f40bd4a7a2707bf3ff5411093e7d (diff) | |
| download | SkyHanni-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.kt | 26 |
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") + } +} |
