aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMANTANI Nobutaka <nobutaka@FreeBSD.org>2022-07-27 16:26:09 +0000
committerMANTANI Nobutaka <nobutaka@FreeBSD.org>2022-07-27 16:27:41 +0000
commit6e414cd4409cbde9532bc1cebcef8d3d1d372508 (patch)
tree36ff7e15fb215812dcf6aa27948e5de11199ba15
parentecb664bbd7ac59cb53ee9e7adad903eb1d3cb78c (diff)
downloadports-6e414cd4409cbde9532bc1cebcef8d3d1d372508.tar.gz
ports-6e414cd4409cbde9532bc1cebcef8d3d1d372508.zip
-rw-r--r--editors/imhex/Makefile4
-rw-r--r--editors/imhex/distinfo10
-rw-r--r--editors/imhex/files/patch-CMakeLists.txt4
-rw-r--r--editors/imhex/files/patch-cmake_build__helpers.cmake8
-rw-r--r--editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_token.hpp235
-rw-r--r--editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp6
6 files changed, 251 insertions, 16 deletions
diff --git a/editors/imhex/Makefile b/editors/imhex/Makefile
index d823d727e532..204dfc6a66c1 100644
--- a/editors/imhex/Makefile
+++ b/editors/imhex/Makefile
@@ -1,5 +1,5 @@
PORTNAME= imhex
-PORTVERSION= 1.19.2
+PORTVERSION= 1.19.3
DISTVERSIONPREFIX= v
CATEGORIES= editors
MASTER_SITES= https://git.sr.ht/~danyspin97/xdgpp/blob/f01f810714443d0f10c333d4d1d9c0383be41375/:xdg
@@ -53,7 +53,7 @@ GH_TAG_FMT= c4ee726
GH_TAG_IMHEX_PATTERNS= f40943c
GH_TAG_LIBROMFS= 58757f6
GH_TAG_NATIVEFILEDIALOG= 3311592
-GH_TAG_PATTERN_LANGUAGE= 5524ad4
+GH_TAG_PATTERN_LANGUAGE= 1b0de5e
GH_TAG_YARA= d5a7565
CMAKE_ARGS= -DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_NLOHMANN_JSON=ON
diff --git a/editors/imhex/distinfo b/editors/imhex/distinfo
index 8ccbf86c30d2..e0f6a947a91c 100644
--- a/editors/imhex/distinfo
+++ b/editors/imhex/distinfo
@@ -1,8 +1,8 @@
-TIMESTAMP = 1658074717
+TIMESTAMP = 1658850000
SHA256 (imhex/xdg.hpp) = 2e08ce74adb71ff9b9aa9e1c999733fccd4b00967b9cf0c0e51dbf049392a9ec
SIZE (imhex/xdg.hpp) = 7674
-SHA256 (imhex/WerWolv-ImHex-v1.19.2_GH0.tar.gz) = 4f5e87264fc4a33c00812e0fffbb13ef5bc7d5be80db11278cdbed06f27f3b1f
-SIZE (imhex/WerWolv-ImHex-v1.19.2_GH0.tar.gz) = 10622186
+SHA256 (imhex/WerWolv-ImHex-v1.19.3_GH0.tar.gz) = fe196a2075b2849a61b4dd566fa5d3a3089a65c107a9f356267c46e94983ba36
+SIZE (imhex/WerWolv-ImHex-v1.19.3_GH0.tar.gz) = 10622398
SHA256 (imhex/btzy-nativefiledialog-extended-3311592_GH0.tar.gz) = 8485f3ef81f0882f357482178f29360e29a2957507b35dec7057dcf33e6f628b
SIZE (imhex/btzy-nativefiledialog-extended-3311592_GH0.tar.gz) = 411759
SHA256 (imhex/capstone-engine-capstone-d5141c0_GH0.tar.gz) = 435d40757928fa73dec19c6d0fbf171bd76341391c8525ce1286927dab44c3e7
@@ -13,7 +13,7 @@ SHA256 (imhex/VirusTotal-yara-d5a7565_GH0.tar.gz) = 1c908b160f2432a25aefc1e94147
SIZE (imhex/VirusTotal-yara-d5a7565_GH0.tar.gz) = 1287317
SHA256 (imhex/WerWolv-ImHex-Patterns-f40943c_GH0.tar.gz) = b0df6d4024f4440c4a1c592535fadae8624d8a303960eabbd31836d5d20d000c
SIZE (imhex/WerWolv-ImHex-Patterns-f40943c_GH0.tar.gz) = 323448
-SHA256 (imhex/WerWolv-PatternLanguage-5524ad4_GH0.tar.gz) = 2377bcf3e03ac704b04f02002247d1cbb74fc7517f9603fe531bfd7ed286ac21
-SIZE (imhex/WerWolv-PatternLanguage-5524ad4_GH0.tar.gz) = 264643
+SHA256 (imhex/WerWolv-PatternLanguage-1b0de5e_GH0.tar.gz) = ece922828b7798529badc88e61caae1ab1a6e824c1347596d73498148a348a69
+SIZE (imhex/WerWolv-PatternLanguage-1b0de5e_GH0.tar.gz) = 265064
SHA256 (imhex/WerWolv-libromfs-58757f6_GH0.tar.gz) = be53d72ac61c75cfb1b6f0cd8d961ab4a25b1cae95c43aae9a67feb0f185e3a1
SIZE (imhex/WerWolv-libromfs-58757f6_GH0.tar.gz) = 3864
diff --git a/editors/imhex/files/patch-CMakeLists.txt b/editors/imhex/files/patch-CMakeLists.txt
index 84c6e2851835..ac388c1a6235 100644
--- a/editors/imhex/files/patch-CMakeLists.txt
+++ b/editors/imhex/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2022-07-16 11:41:37 UTC
+--- CMakeLists.txt.orig 2022-07-26 14:13:07 UTC
+++ CMakeLists.txt
-@@ -14,7 +14,6 @@ option(IMHEX_OFFLINE_BUILD "Enable offline build" OFF)
+@@ -15,7 +15,6 @@ option(IMHEX_PATTERNS_PULL_MASTER "Download latest fil
# Make sure project is configured correctly
setDefaultBuiltTypeIfUnset()
diff --git a/editors/imhex/files/patch-cmake_build__helpers.cmake b/editors/imhex/files/patch-cmake_build__helpers.cmake
index 61cc245f4922..8044a67043e1 100644
--- a/editors/imhex/files/patch-cmake_build__helpers.cmake
+++ b/editors/imhex/files/patch-cmake_build__helpers.cmake
@@ -1,9 +1,9 @@
---- cmake/build_helpers.cmake.orig 2022-07-16 11:41:37 UTC
+--- cmake/build_helpers.cmake.orig 2022-07-26 14:13:07 UTC
+++ cmake/build_helpers.cmake
-@@ -291,17 +291,9 @@ endmacro()
+@@ -297,17 +297,9 @@ function(downloadImHexPatternsFiles dest)
+ set(PATTERNS_BRANCH ImHex-v${IMHEX_VERSION})
+ endif ()
- function(downloadImHexPatternsFiles dest)
- if (NOT IMHEX_OFFLINE_BUILD)
- FetchContent_Declare(
- imhex_patterns
- GIT_REPOSITORY https://github.com/WerWolv/ImHex-Patterns.git
diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_token.hpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_token.hpp
new file mode 100644
index 000000000000..d8832acb9a55
--- /dev/null
+++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_token.hpp
@@ -0,0 +1,235 @@
+--- lib/external/pattern_language/lib/include/pl/token.hpp.orig 2022-07-26 16:45:45 UTC
++++ lib/external/pattern_language/lib/include/pl/token.hpp
+@@ -148,9 +148,9 @@ namespace pl {
+
+ using Literal = std::variant<char, bool, u128, i128, double, std::string, Pattern *>;
+ using ValueTypes = std::variant<Keyword, Identifier, Operator, Literal, ValueType, Separator>;
++ // These changes are necessary for Clang
++ inline Token(Type type, auto value, u32 line, u32 column) : type(type), value(std::move(value)), line(line), column(column) {}
+
+- constexpr Token(Type type, auto value, u32 line, u32 column) : type(type), value(std::move(value)), line(line), column(column) {}
+-
+ [[nodiscard]] constexpr static inline bool isInteger(const ValueType &type) {
+ return isUnsigned(type) || isSigned(type);
+ }
+@@ -306,128 +306,128 @@ namespace pl {
+
+ namespace tkn {
+
+- constexpr inline Token createToken(const pl::Token::Type type, const pl::Token::ValueTypes &value) {
++ inline Token createToken(const pl::Token::Type type, const pl::Token::ValueTypes &value) {
+ return { type, value, 0, 0 };
+ }
+
+ namespace Keyword {
+
+- constexpr auto If = createToken(pl::Token::Type::Keyword, Token::Keyword::If);
+- constexpr auto Else = createToken(pl::Token::Type::Keyword, Token::Keyword::Else);
+- constexpr auto While = createToken(pl::Token::Type::Keyword, Token::Keyword::While);
+- constexpr auto For = createToken(pl::Token::Type::Keyword, Token::Keyword::For);
+- constexpr auto Return = createToken(pl::Token::Type::Keyword, Token::Keyword::Return);
+- constexpr auto Break = createToken(pl::Token::Type::Keyword, Token::Keyword::Break);
+- constexpr auto Continue = createToken(pl::Token::Type::Keyword, Token::Keyword::Continue);
+- constexpr auto Struct = createToken(pl::Token::Type::Keyword, Token::Keyword::Struct);
+- constexpr auto Enum = createToken(pl::Token::Type::Keyword, Token::Keyword::Enum);
+- constexpr auto Union = createToken(pl::Token::Type::Keyword, Token::Keyword::Union);
+- constexpr auto Function = createToken(pl::Token::Type::Keyword, Token::Keyword::Function);
+- constexpr auto Bitfield = createToken(pl::Token::Type::Keyword, Token::Keyword::Bitfield);
+- constexpr auto LittleEndian = createToken(pl::Token::Type::Keyword, Token::Keyword::LittleEndian);
+- constexpr auto BigEndian = createToken(pl::Token::Type::Keyword, Token::Keyword::BigEndian);
+- constexpr auto Parent = createToken(pl::Token::Type::Keyword, Token::Keyword::Parent);
+- constexpr auto Namespace = createToken(pl::Token::Type::Keyword, Token::Keyword::Namespace);
+- constexpr auto Using = createToken(pl::Token::Type::Keyword, Token::Keyword::Using);
+- constexpr auto This = createToken(pl::Token::Type::Keyword, Token::Keyword::This);
+- constexpr auto In = createToken(pl::Token::Type::Keyword, Token::Keyword::In);
+- constexpr auto Out = createToken(pl::Token::Type::Keyword, Token::Keyword::Out);
++ inline auto If = createToken(pl::Token::Type::Keyword, Token::Keyword::If);
++ inline auto Else = createToken(pl::Token::Type::Keyword, Token::Keyword::Else);
++ inline auto While = createToken(pl::Token::Type::Keyword, Token::Keyword::While);
++ inline auto For = createToken(pl::Token::Type::Keyword, Token::Keyword::For);
++ inline auto Return = createToken(pl::Token::Type::Keyword, Token::Keyword::Return);
++ inline auto Break = createToken(pl::Token::Type::Keyword, Token::Keyword::Break);
++ inline auto Continue = createToken(pl::Token::Type::Keyword, Token::Keyword::Continue);
++ inline auto Struct = createToken(pl::Token::Type::Keyword, Token::Keyword::Struct);
++ inline auto Enum = createToken(pl::Token::Type::Keyword, Token::Keyword::Enum);
++ inline auto Union = createToken(pl::Token::Type::Keyword, Token::Keyword::Union);
++ inline auto Function = createToken(pl::Token::Type::Keyword, Token::Keyword::Function);
++ inline auto Bitfield = createToken(pl::Token::Type::Keyword, Token::Keyword::Bitfield);
++ inline auto LittleEndian = createToken(pl::Token::Type::Keyword, Token::Keyword::LittleEndian);
++ inline auto BigEndian = createToken(pl::Token::Type::Keyword, Token::Keyword::BigEndian);
++ inline auto Parent = createToken(pl::Token::Type::Keyword, Token::Keyword::Parent);
++ inline auto Namespace = createToken(pl::Token::Type::Keyword, Token::Keyword::Namespace);
++ inline auto Using = createToken(pl::Token::Type::Keyword, Token::Keyword::Using);
++ inline auto This = createToken(pl::Token::Type::Keyword, Token::Keyword::This);
++ inline auto In = createToken(pl::Token::Type::Keyword, Token::Keyword::In);
++ inline auto Out = createToken(pl::Token::Type::Keyword, Token::Keyword::Out);
+
+ }
+
+ namespace Literal {
+
+- constexpr auto Identifier = [](const std::string &name = { }) -> Token { return createToken(pl::Token::Type::Identifier, Token::Identifier(name)); };
+- constexpr auto Numeric = [](const Token::Literal &value = { }) -> Token { return createToken(pl::Token::Type::Integer, value); };
+- constexpr auto String = [](const std::string &value = { }) -> Token { return createToken(pl::Token::Type::String, Token::Literal(value)); };
++ inline auto Identifier = [](const std::string &name = { }) -> Token { return createToken(pl::Token::Type::Identifier, Token::Identifier(name)); };
++ inline auto Numeric = [](const Token::Literal &value = { }) -> Token { return createToken(pl::Token::Type::Integer, value); };
++ inline auto String = [](const std::string &value = { }) -> Token { return createToken(pl::Token::Type::String, Token::Literal(value)); };
+
+ }
+
+ namespace Operator {
+
+- constexpr auto Plus = createToken(pl::Token::Type::Operator, Token::Operator::Plus);
+- constexpr auto Minus = createToken(pl::Token::Type::Operator, Token::Operator::Minus);
+- constexpr auto Star = createToken(pl::Token::Type::Operator, Token::Operator::Star);
+- constexpr auto Slash = createToken(pl::Token::Type::Operator, Token::Operator::Slash);
+- constexpr auto Percent = createToken(pl::Token::Type::Operator, Token::Operator::Percent);
+- constexpr auto LeftShift = createToken(pl::Token::Type::Operator, Token::Operator::LeftShift);
+- constexpr auto RightShift = createToken(pl::Token::Type::Operator, Token::Operator::RightShift);
+- constexpr auto BitAnd = createToken(pl::Token::Type::Operator, Token::Operator::BitAnd);
+- constexpr auto BitOr = createToken(pl::Token::Type::Operator, Token::Operator::BitOr);
+- constexpr auto BitXor = createToken(pl::Token::Type::Operator, Token::Operator::BitXor);
+- constexpr auto BitNot = createToken(pl::Token::Type::Operator, Token::Operator::BitNot);
+- constexpr auto BoolEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolEqual);
+- constexpr auto BoolNotEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolNotEqual);
+- constexpr auto BoolLessThan = createToken(pl::Token::Type::Operator, Token::Operator::BoolLessThan);
+- constexpr auto BoolGreaterThan = createToken(pl::Token::Type::Operator, Token::Operator::BoolGreaterThan);
+- constexpr auto BoolLessThanOrEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolLessThanOrEqual);
+- constexpr auto BoolGreaterThanOrEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolGreaterThanOrEqual);
+- constexpr auto BoolAnd = createToken(pl::Token::Type::Operator, Token::Operator::BoolAnd);
+- constexpr auto BoolOr = createToken(pl::Token::Type::Operator, Token::Operator::BoolOr);
+- constexpr auto BoolNot = createToken(pl::Token::Type::Operator, Token::Operator::BoolNot);
+- constexpr auto BoolXor = createToken(pl::Token::Type::Operator, Token::Operator::BoolXor);
+- constexpr auto Dollar = createToken(pl::Token::Type::Operator, Token::Operator::Dollar);
+- constexpr auto Colon = createToken(pl::Token::Type::Operator, Token::Operator::Colon);
+- constexpr auto ScopeResolution = createToken(pl::Token::Type::Operator, Token::Operator::ScopeResolution);
+- constexpr auto TernaryConditional = createToken(pl::Token::Type::Operator, Token::Operator::TernaryConditional);
+- constexpr auto AddressOf = createToken(pl::Token::Type::Operator, Token::Operator::AddressOf);
+- constexpr auto SizeOf = createToken(pl::Token::Type::Operator, Token::Operator::SizeOf);
+- constexpr auto At = createToken(pl::Token::Type::Operator, Token::Operator::At);
+- constexpr auto Assign = createToken(pl::Token::Type::Operator, Token::Operator::Assign);
++ inline auto Plus = createToken(pl::Token::Type::Operator, Token::Operator::Plus);
++ inline auto Minus = createToken(pl::Token::Type::Operator, Token::Operator::Minus);
++ inline auto Star = createToken(pl::Token::Type::Operator, Token::Operator::Star);
++ inline auto Slash = createToken(pl::Token::Type::Operator, Token::Operator::Slash);
++ inline auto Percent = createToken(pl::Token::Type::Operator, Token::Operator::Percent);
++ inline auto LeftShift = createToken(pl::Token::Type::Operator, Token::Operator::LeftShift);
++ inline auto RightShift = createToken(pl::Token::Type::Operator, Token::Operator::RightShift);
++ inline auto BitAnd = createToken(pl::Token::Type::Operator, Token::Operator::BitAnd);
++ inline auto BitOr = createToken(pl::Token::Type::Operator, Token::Operator::BitOr);
++ inline auto BitXor = createToken(pl::Token::Type::Operator, Token::Operator::BitXor);
++ inline auto BitNot = createToken(pl::Token::Type::Operator, Token::Operator::BitNot);
++ inline auto BoolEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolEqual);
++ inline auto BoolNotEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolNotEqual);
++ inline auto BoolLessThan = createToken(pl::Token::Type::Operator, Token::Operator::BoolLessThan);
++ inline auto BoolGreaterThan = createToken(pl::Token::Type::Operator, Token::Operator::BoolGreaterThan);
++ inline auto BoolLessThanOrEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolLessThanOrEqual);
++ inline auto BoolGreaterThanOrEqual = createToken(pl::Token::Type::Operator, Token::Operator::BoolGreaterThanOrEqual);
++ inline auto BoolAnd = createToken(pl::Token::Type::Operator, Token::Operator::BoolAnd);
++ inline auto BoolOr = createToken(pl::Token::Type::Operator, Token::Operator::BoolOr);
++ inline auto BoolNot = createToken(pl::Token::Type::Operator, Token::Operator::BoolNot);
++ inline auto BoolXor = createToken(pl::Token::Type::Operator, Token::Operator::BoolXor);
++ inline auto Dollar = createToken(pl::Token::Type::Operator, Token::Operator::Dollar);
++ inline auto Colon = createToken(pl::Token::Type::Operator, Token::Operator::Colon);
++ inline auto ScopeResolution = createToken(pl::Token::Type::Operator, Token::Operator::ScopeResolution);
++ inline auto TernaryConditional = createToken(pl::Token::Type::Operator, Token::Operator::TernaryConditional);
++ inline auto AddressOf = createToken(pl::Token::Type::Operator, Token::Operator::AddressOf);
++ inline auto SizeOf = createToken(pl::Token::Type::Operator, Token::Operator::SizeOf);
++ inline auto At = createToken(pl::Token::Type::Operator, Token::Operator::At);
++ inline auto Assign = createToken(pl::Token::Type::Operator, Token::Operator::Assign);
+
+ }
+
+ namespace ValueType {
+
+- constexpr auto CustomType = createToken(pl::Token::Type::ValueType, Token::ValueType::CustomType);
+- constexpr auto Padding = createToken(pl::Token::Type::ValueType, Token::ValueType::Padding);
+- constexpr auto Unsigned = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned);
+- constexpr auto Signed = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed);
+- constexpr auto FloatingPoint = createToken(pl::Token::Type::ValueType, Token::ValueType::FloatingPoint);
+- constexpr auto Auto = createToken(pl::Token::Type::ValueType, Token::ValueType::Auto);
+- constexpr auto Any = createToken(pl::Token::Type::ValueType, Token::ValueType::Any);
++ inline auto CustomType = createToken(pl::Token::Type::ValueType, Token::ValueType::CustomType);
++ inline auto Padding = createToken(pl::Token::Type::ValueType, Token::ValueType::Padding);
++ inline auto Unsigned = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned);
++ inline auto Signed = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed);
++ inline auto FloatingPoint = createToken(pl::Token::Type::ValueType, Token::ValueType::FloatingPoint);
++ inline auto Auto = createToken(pl::Token::Type::ValueType, Token::ValueType::Auto);
++ inline auto Any = createToken(pl::Token::Type::ValueType, Token::ValueType::Any);
+
+- constexpr auto Unsigned8Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned8Bit);
+- constexpr auto Unsigned16Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned16Bit);
+- constexpr auto Unsigned24Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned24Bit);
+- constexpr auto Unsigned32Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned32Bit);
+- constexpr auto Unsigned48Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned48Bit);
+- constexpr auto Unsigned64Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned64Bit);
+- constexpr auto Unsigned96Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned96Bit);
+- constexpr auto Unsigned128Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned128Bit);
++ inline auto Unsigned8Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned8Bit);
++ inline auto Unsigned16Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned16Bit);
++ inline auto Unsigned24Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned24Bit);
++ inline auto Unsigned32Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned32Bit);
++ inline auto Unsigned48Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned48Bit);
++ inline auto Unsigned64Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned64Bit);
++ inline auto Unsigned96Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned96Bit);
++ inline auto Unsigned128Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Unsigned128Bit);
+
+- constexpr auto Signed8Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed8Bit);
+- constexpr auto Signed16Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed16Bit);
+- constexpr auto Signed24Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed24Bit);
+- constexpr auto Signed32Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed32Bit);
+- constexpr auto Signed48Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed48Bit);
+- constexpr auto Signed64Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed64Bit);
+- constexpr auto Signed96Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed96Bit);
+- constexpr auto Signed128Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed128Bit);
++ inline auto Signed8Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed8Bit);
++ inline auto Signed16Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed16Bit);
++ inline auto Signed24Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed24Bit);
++ inline auto Signed32Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed32Bit);
++ inline auto Signed48Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed48Bit);
++ inline auto Signed64Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed64Bit);
++ inline auto Signed96Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed96Bit);
++ inline auto Signed128Bit = createToken(pl::Token::Type::ValueType, Token::ValueType::Signed128Bit);
+
+- constexpr auto Float = createToken(pl::Token::Type::ValueType, Token::ValueType::Float);
+- constexpr auto Double = createToken(pl::Token::Type::ValueType, Token::ValueType::Double);
++ inline auto Float = createToken(pl::Token::Type::ValueType, Token::ValueType::Float);
++ inline auto Double = createToken(pl::Token::Type::ValueType, Token::ValueType::Double);
+
+- constexpr auto Boolean = createToken(pl::Token::Type::ValueType, Token::ValueType::Boolean);
++ inline auto Boolean = createToken(pl::Token::Type::ValueType, Token::ValueType::Boolean);
+
+- constexpr auto Character = createToken(pl::Token::Type::ValueType, Token::ValueType::Character);
+- constexpr auto Character16 = createToken(pl::Token::Type::ValueType, Token::ValueType::Character16);
+- constexpr auto String = createToken(pl::Token::Type::ValueType, Token::ValueType::String);
++ inline auto Character = createToken(pl::Token::Type::ValueType, Token::ValueType::Character);
++ inline auto Character16 = createToken(pl::Token::Type::ValueType, Token::ValueType::Character16);
++ inline auto String = createToken(pl::Token::Type::ValueType, Token::ValueType::String);
+
+ }
+
+ namespace Separator {
+
+- constexpr auto Comma = createToken(pl::Token::Type::Separator, Token::Separator::Comma);
+- constexpr auto LeftParenthesis = createToken(pl::Token::Type::Separator, Token::Separator::LeftParenthesis);
+- constexpr auto RightParenthesis = createToken(pl::Token::Type::Separator, Token::Separator::RightParenthesis);
+- constexpr auto LeftBracket = createToken(pl::Token::Type::Separator, Token::Separator::LeftBracket);
+- constexpr auto RightBracket = createToken(pl::Token::Type::Separator, Token::Separator::RightBracket);
+- constexpr auto LeftBrace = createToken(pl::Token::Type::Separator, Token::Separator::LeftBrace);
+- constexpr auto RightBrace = createToken(pl::Token::Type::Separator, Token::Separator::RightBrace);
+- constexpr auto Dot = createToken(pl::Token::Type::Separator, Token::Separator::Dot);
+- constexpr auto Semicolon = createToken(pl::Token::Type::Separator, Token::Separator::Semicolon);
+- constexpr auto EndOfProgram = createToken(pl::Token::Type::Separator, Token::Separator::EndOfProgram);
++ inline auto Comma = createToken(pl::Token::Type::Separator, Token::Separator::Comma);
++ inline auto LeftParenthesis = createToken(pl::Token::Type::Separator, Token::Separator::LeftParenthesis);
++ inline auto RightParenthesis = createToken(pl::Token::Type::Separator, Token::Separator::RightParenthesis);
++ inline auto LeftBracket = createToken(pl::Token::Type::Separator, Token::Separator::LeftBracket);
++ inline auto RightBracket = createToken(pl::Token::Type::Separator, Token::Separator::RightBracket);
++ inline auto LeftBrace = createToken(pl::Token::Type::Separator, Token::Separator::LeftBrace);
++ inline auto RightBrace = createToken(pl::Token::Type::Separator, Token::Separator::RightBrace);
++ inline auto Dot = createToken(pl::Token::Type::Separator, Token::Separator::Dot);
++ inline auto Semicolon = createToken(pl::Token::Type::Separator, Token::Separator::Semicolon);
++ inline auto EndOfProgram = createToken(pl::Token::Type::Separator, Token::Separator::EndOfProgram);
+
+ }
+
diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp
index c928949217e6..57f838771c5e 100644
--- a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp
+++ b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp
@@ -1,7 +1,7 @@
---- plugins/builtin/source/content/views/view_hex_editor.cpp.orig 2022-07-16 11:41:37 UTC
+--- plugins/builtin/source/content/views/view_hex_editor.cpp.orig 2022-07-26 14:13:07 UTC
+++ plugins/builtin/source/content/views/view_hex_editor.cpp
-@@ -203,7 +203,7 @@ namespace hex::plugin::builtin {
- reader.seek(this->m_searchPosition.value_or(editor->getSelection().getEndAddress()));
+@@ -208,7 +208,7 @@ namespace hex::plugin::builtin {
+ reader.seek(this->m_searchPosition.value_or(editor->getSelection().getStartAddress()));
constexpr static auto searchFunction = [](const auto &haystackBegin, const auto &haystackEnd, const auto &needleBegin, const auto &needleEnd) {
- return std::search(haystackBegin, haystackEnd, std::boyer_moore_horspool_searcher(needleBegin, needleEnd));