mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-15 20:13:49 -07:00
16
src/desktop/Rule.cpp
Normal file
16
src/desktop/Rule.cpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#include "Rule.hpp"
|
||||
#include <re2/re2.h>
|
||||
|
||||
CRuleRegexContainer::CRuleRegexContainer(const std::string& regex_) {
|
||||
const bool NEGATIVE = regex_.starts_with("negative:");
|
||||
|
||||
negative = NEGATIVE;
|
||||
regex = std::make_unique<RE2>(NEGATIVE ? regex_.substr(9) : regex_);
|
||||
}
|
||||
|
||||
bool CRuleRegexContainer::passes(const std::string& str) const {
|
||||
if (!regex)
|
||||
return false;
|
||||
|
||||
return RE2::FullMatch(str, *regex) != negative;
|
||||
}
|
Reference in New Issue
Block a user