浏览代码

added regex replace to addin calls

sabrogden 6 年之前
父节点
当前提交
0fbe9a6625
共有 3 个文件被更改,包括 13 次插入0 次删除
  1. 1 0
      ChaiScriptOnCopy.cpp
  2. 11 0
      DittoChaiScript.cpp
  3. 1 0
      DittoChaiScript.h

+ 1 - 0
ChaiScriptOnCopy.cpp

@@ -47,6 +47,7 @@ bool ChaiScriptOnCopy::ProcessScript(CDittoChaiScript &clipData, std::string scr
 		chai.add(chaiscript::fun(&CDittoChaiScript::RemoveFormat), "RemoveFormat");
 		chai.add(chaiscript::fun(&CDittoChaiScript::SetParentId), "SetParentId");
 		chai.add(chaiscript::fun(&CDittoChaiScript::AsciiTextMatchesRegex), "AsciiTextMatchesRegex");
+		chai.add(chaiscript::fun(&CDittoChaiScript::AsciiTextReplaceRegex), "AsciiTextReplaceRegex");
 
 		chai.add(chaiscript::fun(&FormatCurrentTime), "FormatCurrentTime");
 

+ 11 - 0
DittoChaiScript.cpp

@@ -162,6 +162,17 @@ BOOL CDittoChaiScript::AsciiTextMatchesRegex(std::string regex)
 	return matches;
 }
 
+void CDittoChaiScript::AsciiTextReplaceRegex(std::string regex, std::string replaceWith)
+{
+	BOOL matches = false;
+
+	auto ascii = GetAsciiString();
+	std::regex integer(regex);
+
+	auto newAscii = regex_replace(ascii, integer, replaceWith);
+	SetAsciiString(newAscii);
+}
+
 
 void CDittoChaiScript::SetMakeTopSticky()
 {

+ 1 - 0
DittoChaiScript.h

@@ -27,6 +27,7 @@ public:
 	BOOL FormatExists(std::string clipboardFormat);
 	BOOL SetParentId(int parentId);
 	BOOL AsciiTextMatchesRegex(std::string regex);
+	void AsciiTextReplaceRegex(std::string regex, std::string replaceWith);
 
 	void SetMakeTopSticky();
 	void SetMakeLastSticky();