fix: Pattern settings resetting at re-evaluation
This commit is contained in:
parent
33637e92b5
commit
6a1a991c08
@ -1053,8 +1053,7 @@ namespace hex::plugin::builtin {
|
|||||||
const auto &ast = m_parserRuntime->parseString(code);
|
const auto &ast = m_parserRuntime->parseString(code);
|
||||||
|
|
||||||
auto &patternVariables = m_patternVariables.get(provider);
|
auto &patternVariables = m_patternVariables.get(provider);
|
||||||
|
auto oldPatternVariables = std::move(patternVariables);
|
||||||
patternVariables.clear();
|
|
||||||
|
|
||||||
if (ast.has_value()) {
|
if (ast.has_value()) {
|
||||||
for (auto &node : *ast) {
|
for (auto &node : *ast) {
|
||||||
@ -1070,7 +1069,7 @@ namespace hex::plugin::builtin {
|
|||||||
.inVariable = variableDecl->isInVariable(),
|
.inVariable = variableDecl->isInVariable(),
|
||||||
.outVariable = variableDecl->isOutVariable(),
|
.outVariable = variableDecl->isOutVariable(),
|
||||||
.type = builtinType->getType(),
|
.type = builtinType->getType(),
|
||||||
.value = { }
|
.value = oldPatternVariables.contains(variableDecl->getName()) ? oldPatternVariables[variableDecl->getName()].value : pl::core::Token::Literal()
|
||||||
};
|
};
|
||||||
|
|
||||||
if (variable.inVariable || variable.outVariable) {
|
if (variable.inVariable || variable.outVariable) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user