From 018bedb2bdd4d6bd35b4de2d962a58b0befea96f Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 21 Dec 2025 20:52:46 +0100 Subject: [PATCH] patterns: Update pattern language --- lib/external/pattern_language | 2 +- plugins/builtin/include/content/views/view_pattern_editor.hpp | 2 +- plugins/builtin/source/content/data_information_sections.cpp | 2 +- .../content/views/fullscreen/view_fullscreen_file_info.cpp | 2 +- .../content/views/fullscreen/view_fullscreen_save_editor.cpp | 2 +- plugins/builtin/source/content/views/view_data_inspector.cpp | 2 +- plugins/builtin/source/content/views/view_pattern_editor.cpp | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/external/pattern_language b/lib/external/pattern_language index fb6ea061f..541844f95 160000 --- a/lib/external/pattern_language +++ b/lib/external/pattern_language @@ -1 +1 @@ -Subproject commit fb6ea061f7c8b66ed94b44ff1d3a10ee63a82612 +Subproject commit 541844f9581759a64f3614c30ae786dba5233a8b diff --git a/plugins/builtin/include/content/views/view_pattern_editor.hpp b/plugins/builtin/include/content/views/view_pattern_editor.hpp index f0a899bb6..a73a8cc62 100644 --- a/plugins/builtin/include/content/views/view_pattern_editor.hpp +++ b/plugins/builtin/include/content/views/view_pattern_editor.hpp @@ -122,7 +122,7 @@ namespace hex::plugin::builtin { std::atomic m_triggerAutoEvaluate = false; volatile bool m_lastEvaluationProcessed = true; - bool m_lastEvaluationResult = false; + int m_lastEvaluationResult = false; std::atomic m_runningEvaluators = 0; std::atomic m_runningParsers = 0; diff --git a/plugins/builtin/source/content/data_information_sections.cpp b/plugins/builtin/source/content/data_information_sections.cpp index 46d725792..7ae1a27eb 100644 --- a/plugins/builtin/source/content/data_information_sections.cpp +++ b/plugins/builtin/source/content/data_information_sections.cpp @@ -100,7 +100,7 @@ namespace hex::plugin::builtin { m_foundPattern = pattern; constexpr static auto DataDescriptionFunction = "get_data_description"; - if (runtime.executeFile(pattern.patternFilePath)) { + if (runtime.executeFile(pattern.patternFilePath) == 0) { const auto &evaluator = runtime.getInternals().evaluator; const auto &functions = evaluator->getCustomFunctions(); if (const auto function = functions.find(DataDescriptionFunction); function != functions.end()) { diff --git a/plugins/builtin/source/content/views/fullscreen/view_fullscreen_file_info.cpp b/plugins/builtin/source/content/views/fullscreen/view_fullscreen_file_info.cpp index c7c0b484f..48620b35e 100644 --- a/plugins/builtin/source/content/views/fullscreen/view_fullscreen_file_info.cpp +++ b/plugins/builtin/source/content/views/fullscreen/view_fullscreen_file_info.cpp @@ -34,7 +34,7 @@ namespace hex::plugin::builtin { ContentRegistry::PatternLanguage::configureRuntime(runtime, &m_provider); constexpr static auto DataDescriptionFunction = "get_data_description"; - if (runtime.executeFile(m_foundPatterns.front().patternFilePath)) { + if (runtime.executeFile(m_foundPatterns.front().patternFilePath) == 0) { const auto &evaluator = runtime.getInternals().evaluator; const auto &functions = evaluator->getCustomFunctions(); if (const auto function = functions.find(DataDescriptionFunction); function != functions.end()) { diff --git a/plugins/builtin/source/content/views/fullscreen/view_fullscreen_save_editor.cpp b/plugins/builtin/source/content/views/fullscreen/view_fullscreen_save_editor.cpp index 04480d680..9e55117f9 100644 --- a/plugins/builtin/source/content/views/fullscreen/view_fullscreen_save_editor.cpp +++ b/plugins/builtin/source/content/views/fullscreen/view_fullscreen_save_editor.cpp @@ -73,7 +73,7 @@ namespace hex::plugin::builtin { } ContentRegistry::PatternLanguage::configureRuntime(m_runtime, &m_provider); - if (!m_runtime.executeString(this->m_sourceCode)) { + if (m_runtime.executeString(this->m_sourceCode) != 0) { ui::ToastError::open("hex.builtin.view.fullscreen.save_editor.error.failed_execution"_lang); for (const auto &error : m_runtime.getCompileErrors()) { log::error("Save Editor Error: {}", error.format()); diff --git a/plugins/builtin/source/content/views/view_data_inspector.cpp b/plugins/builtin/source/content/views/view_data_inspector.cpp index 108075979..e2995775d 100644 --- a/plugins/builtin/source/content/views/view_data_inspector.cpp +++ b/plugins/builtin/source/content/views/view_data_inspector.cpp @@ -170,7 +170,7 @@ namespace hex::plugin::builtin { } void ViewDataInspector::executeInspector(const std::string& code, const std::fs::path& path, const std::map& inVariables) { - if (!m_runtime.executeString(code, pl::api::Source::DefaultSource, {}, inVariables, true)) { + if (m_runtime.executeString(code, pl::api::Source::DefaultSource, {}, inVariables, true) == 0) { auto displayFunction = createPatternErrorDisplayFunction(); diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index 84f9c4689..df8d14830 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -1335,7 +1335,7 @@ namespace hex::plugin::builtin { return; if (!m_lastEvaluationProcessed) { - if (!m_lastEvaluationResult) { + if (m_lastEvaluationResult != 0) { const auto processMessage = [](const auto &message) { auto lines = wolv::util::splitString(message, "\n"); @@ -1796,7 +1796,7 @@ namespace hex::plugin::builtin { m_lastEvaluationResult = runtime.executeString(code, pl::api::Source::DefaultSource, envVars, inVariables); - if (!m_lastEvaluationResult) { + if (m_lastEvaluationResult != 0) { *m_lastEvaluationError = runtime.getEvalError(); *m_lastCompileError = runtime.getCompileErrors(); *m_callStack = &runtime.getInternals().evaluator->getCallStack();