Support macro parameters in filter run prefixes (#6164)

* Support macro params in filter run prefixes and support substitution for variables set by filter run prefixes

* feat: add support macro parameters and variable substitution for all filter run prefixes

* fix: rename options argument to opts for disambiguation

* feat: add support for macro params to cascade filterrun prefix
This commit is contained in:
Saq Imtiaz
2021-11-23 13:51:42 +00:00
committed by GitHub
parent 7fcc84156e
commit 76cdc17f3b
7 changed files with 86 additions and 62 deletions
+3 -3
View File
@@ -122,7 +122,7 @@ Widget.prototype.getVariableInfo = function(name,options) {
});
// Only substitute variable references if this variable was defined with the \define pragma
if(variable.isMacroDefinition) {
value = this.substituteVariableReferences(value);
value = this.substituteVariableReferences(value,options);
}
return {
text: value,
@@ -175,10 +175,10 @@ Widget.prototype.resolveVariableParameters = function(formalParams,actualParams)
return results;
};
Widget.prototype.substituteVariableReferences = function(text) {
Widget.prototype.substituteVariableReferences = function(text,options) {
var self = this;
return (text || "").replace(/\$\(([^\)\$]+)\)\$/g,function(match,p1,offset,string) {
return self.getVariable(p1,{defaultValue: ""});
return options.variables && options.variables[p1] || (self.getVariable(p1,{defaultValue: ""}));
});
};