Added scope="parent" to set tag.

This commit is contained in:
Brad Arant 2024-11-06 14:04:08 -08:00
parent 489f1d6915
commit 169ad1aa11
2 changed files with 9 additions and 1 deletions

2
Tag.h
View File

@ -18,6 +18,7 @@ namespace jet {
coreutils::ZString name;
coreutils::ZString container;
coreutils::ZString container2;
Tag *parent;
protected:
bool hasContainer;
@ -28,7 +29,6 @@ namespace jet {
void copyContainer(coreutils::ZString &in, coreutils::MString &out);
Global &global;
Tag *parent;
coreutils::MString &parentOut;
coreutils::MString out;

View File

@ -25,6 +25,8 @@ namespace jet {
global.variables[variables["name"]] = Operand(variables["expr"]).string;
else if(variables["scope"] == "local")
parent->variables[variables["name"]] = Operand(variables["expr"]).string;
else if(variables["scope"] == "parent")
parent->parent->variables[variables["name"]] = Operand(variables["expr"]).string;
} else if(hasContainer) {
processContainer(container);
if(evaluate) {
@ -32,17 +34,23 @@ namespace jet {
global.variables[variables["name"]] = out;
else if(variables["scope"] == "local")
parent->variables[variables["name"]] = out;
else if(variables["scope"] == "parent")
parent->parent->variables[variables["name"]] = out;
} else {
if(!variableDefined("scope") || (variables["scope"] == "global"))
global.variables[variables["name"]] = container;
else if(variables["scope"] == "local")
parent->variables[variables["name"]] = container;
else if(variables["scope"] == "parent")
parent->parent->variables[variables["name"]] = container;
}
} else {
if(!variableDefined("scope") || (variables["scope"] == "global"))
global.variables[variables["name"]] = variables["value"];
else if(variables["scope"] == "local")
parent->variables[variables["name"]] = variables["value"];
else if(variables["scope"] == "parent")
parent->parent->variables[variables["name"]] = variables["value"];
}
}