commit b3b68147f60106e4829777a33ffbe3101cad8540
parent 4f6bc4eb74c4d095931e0607c8a62dd9458c245c
Author: Asher Morgan <59518073+ashermorgan@users.noreply.github.com>
Date: Thu, 20 Jun 2024 13:41:29 -0700
Change tag rule group separator from pipe to comma
Comma doesn't need to be escaped like pipe does
Diffstat:
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/tags.rs b/src/tags.rs
@@ -1,14 +1,14 @@
/// Checks if a list of tags matches a list of tag rules
///
/// Rules and tags are both specified as strings. Each rule contains one or more
-/// desired tags separated by `|`. A list of tags matches a list of rules if
+/// desired tags separated by `,`. A list of tags matches a list of rules if
/// each rule contains at least one tag that appears in the list of tags. The
/// results of rules prefixed with `^` will be negated. Any list of tags will
/// match an empty list of tag rules. An empty list of tags will only match an
/// empty list of tag rules.
///
/// ```
-/// let rules = ["linux|macos", "system", "^work"];
+/// let rules = ["linux,macos", "system", "^work"];
/// let tags_1 = ["macos", "system", "user"];
/// let tags_2 = ["linux", "system", "work"];
/// assert_eq!(tags_match(&rules, &tags_1), true);
@@ -22,7 +22,7 @@ pub fn tags_match<S: AsRef<str>>(rules: &[S], tags: &[S]) -> bool {
_rule = &_rule[1..]; // Strip leading '^'
}
- let tag_found = _rule.split("|").any(|subrule| {
+ let tag_found = _rule.split(",").any(|subrule| {
tags.iter().any(|tag| {
tag.as_ref() == subrule
})
@@ -106,7 +106,7 @@ mod tests {
#[test]
fn tags_match_union() {
- let rules = ["linux|macos"];
+ let rules = ["linux,macos"];
let tags_1 = ["linux"];
let tags_2 = ["macos"];
let tags_3 = ["linux", "macos"];
@@ -120,8 +120,8 @@ mod tests {
#[test]
fn tags_match_union_two_rules() {
- let rules_1 = ["linux|macos", "user|system"];
- let rules_2 = ["linux|macos", "user"];
+ let rules_1 = ["linux,macos", "user,system"];
+ let rules_2 = ["linux,macos", "user"];
let tags_1 = ["user", "linux"];
let tags_2 = ["system", "macos"];
let tags_3 = ["user", "linux", "macos"];
@@ -139,7 +139,7 @@ mod tests {
#[test]
fn tags_match_union_negated() {
- let rules = ["^linux|macos"];
+ let rules = ["^linux,macos"];
let tags_1 = ["linux"];
let tags_2 = ["macos"];
let tags_3 = ["linux", "macos"];
@@ -153,9 +153,9 @@ mod tests {
#[test]
fn tags_match_union_negated_two_rules() {
- let rules_1 = ["^linux|macos", "^user"];
- let rules_2 = ["^linux|macos", "user|system"];
- let rules_3 = ["^linux|macos", "user"];
+ let rules_1 = ["^linux,macos", "^user"];
+ let rules_2 = ["^linux,macos", "user,system"];
+ let rules_3 = ["^linux,macos", "user"];
let tags_1 = ["linux", "macos", "system"];
let tags_2 = ["windows", "user"];
let tags_3 = ["windows", "system"];