From 6689b8ebfa740c4ee0f68ed38c3dfa58d253ead6 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Mon, 29 Aug 2022 16:33:40 +0200 Subject: [PATCH] patterns: Updated pattern language --- lib/external/pattern_language | 2 +- plugins/builtin/source/content/views/view_pattern_data.cpp | 2 +- .../builtin/source/content/views/view_pattern_editor.cpp | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/external/pattern_language b/lib/external/pattern_language index fd97cb354..5d81b0404 160000 --- a/lib/external/pattern_language +++ b/lib/external/pattern_language @@ -1 +1 @@ -Subproject commit fd97cb3545ca99ca0145c0551f59f75050861a64 +Subproject commit 5d81b04046fc1e1d86c7f0e8662598407ec303c3 diff --git a/plugins/builtin/source/content/views/view_pattern_data.cpp b/plugins/builtin/source/content/views/view_pattern_data.cpp index e023c8dc4..cadc4ac05 100644 --- a/plugins/builtin/source/content/views/view_pattern_data.cpp +++ b/plugins/builtin/source/content/views/view_pattern_data.cpp @@ -111,7 +111,7 @@ namespace hex::plugin::builtin { if (ImHexApi::Provider::isValid() && provider->isReadable() && !ProviderExtraData::get(provider).patternLanguage.runtime->isRunning()) { auto &sortedPatterns = this->m_sortedPatterns[ImHexApi::Provider::get()]; - if (beginPatternTable(provider, ProviderExtraData::get(provider).patternLanguage.runtime->getPatterns(), sortedPatterns)) { + if (beginPatternTable(provider, ProviderExtraData::get(provider).patternLanguage.runtime->getAllPatterns(), sortedPatterns)) { ImGui::TableHeadersRow(); if (!sortedPatterns.empty()) { diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index 5df048a12..f965b6f17 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -253,7 +253,7 @@ namespace hex::plugin::builtin { return std::nullopt; std::optional color; - for (const auto &pattern : ProviderExtraData::getCurrent().patternLanguage.runtime->getPatterns(address)) { + for (const auto &pattern : ProviderExtraData::getCurrent().patternLanguage.runtime->getPatternsAtAddress(address)) { if (pattern->isHidden()) continue; @@ -269,7 +269,7 @@ namespace hex::plugin::builtin { ImHexApi::HexEditor::addTooltipProvider([this](u64 address, const u8 *data, size_t size) { hex::unused(data, size); - auto patterns = ProviderExtraData::getCurrent().patternLanguage.runtime->getPatterns(address); + auto patterns = ProviderExtraData::getCurrent().patternLanguage.runtime->getPatternsAtAddress(address); if (!patterns.empty() && !std::all_of(patterns.begin(), patterns.end(), [](const auto &pattern) { return pattern->isHidden(); })) { ImGui::BeginTooltip(); for (const auto &pattern : patterns) { @@ -290,6 +290,7 @@ namespace hex::plugin::builtin { ImGui::PopStyleColor(2); } ImGui::PopID(); + } ImGui::EndTooltip(); } @@ -843,8 +844,6 @@ namespace hex::plugin::builtin { this->m_lastEvaluationError = runtime->getError(); } - runtime->flattenPatterns(); - this->m_lastEvaluationLog = runtime->getConsoleLog(); this->m_lastEvaluationOutVars = runtime->getOutVariables(); this->m_runningEvaluators--;