From nobody Sat Aug 20 17:50:12 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4M95kF1qzGz4ZrB4; Sat, 20 Aug 2022 17:50:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4M95kF1D2yz3djZ; Sat, 20 Aug 2022 17:50:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1661017813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C5RUu23keG0zUjwz3peZWBeuydSBUqfEvuzR96V1TyA=; b=Ht6b1gV1SkD//aFRTEYpggjDsl0Yms5TqvzaLJxlt7BH6V+d4dG/fFtWa2yqnXPrM/bVFE 6wXkRDnb1WChsKiCBRxYC7IyuFed0+a+Dk+37cLP+Lofemw/EvRuiBV442zSlHgMckO+/u pZhaegGaLl8nRuWfD5xrjXNdtjwm8P7Dh3YkZOZlSOmkZ7cqxWsL6ItDu2hwhugEARZiD8 ZabHXiVOD/VQIv3MyRMPA3iLQEhpma9Y6gdw5iC5vYUPL5VruLQhEd/9e2UkQz/1kA6tcZ +1E96qrMnRo4TSYCNERIp7QZVnKUVuw/LYwxfG7HyVujzW4pexjptmKKJ9vb1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4M95kF0Fv7zgVg; Sat, 20 Aug 2022 17:50:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 27KHoCLA012768; Sat, 20 Aug 2022 17:50:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 27KHoC6j012754; Sat, 20 Aug 2022 17:50:12 GMT (envelope-from git) Date: Sat, 20 Aug 2022 17:50:12 GMT Message-Id: <202208201750.27KHoC6j012754@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: MANTANI Nobutaka Subject: git: ae224e77132d - main - editors/imhex: Update to 1.21.2 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nobutaka X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae224e77132da69c16cce9499331de12de1a1d9b Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1661017813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C5RUu23keG0zUjwz3peZWBeuydSBUqfEvuzR96V1TyA=; b=CJQPCdxsNVsdaUY/tRcGqQid1NYtQZQNICgdMysi5ZJyoWkrYzU4L0Db0sMtzSMeNLRHap Vk1XuNwV/jikJ5vcXJ2+hUWUd/6VTjhiipivltjBec2zOfAGjqPbAh/VFAQKLlgUGYDioY SLYjnTaHpESkU/jW7LEddQ77BRTFPulDJEebjb6Ow9C1AfudtzfN8AmbnDVjE2337imwAx 9J7A5dffb7dKMX0ACH45jzXKmocD+IHrAtrcTmhRy2Qp3mQvxIA3d62312vjmGRVilh617 i1B3DFXvcAKzF54IO1mVZaMHsE2VwyO17D5+idz+/l7UH+1tzM3QbrUZyRhuzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1661017813; a=rsa-sha256; cv=none; b=sqRa8nv0GoIRj0/PieP0OzD2rXQQwUhrSe4D7D+Hpo3U5alDDixe3smLHCLME22D4Hxcwc WtGddEowJB+qnLRJO0e+C57vqJQnkTrz4DxkMR6geeW+cbVRRO4yGb/NZ0rm1b+4KZ1glH km6lJPRas1Wik3L4TzoqSr1dD3SlywrEBRbAIAT2JdCsHtRD/tJWqfhTyGVqCgXFYaw6gG pNGIIJFsi5mSVdS1/WP8BMhucuC0FrTdU+8BJdKlKSyX10qq6D53Xb3AeAs+0cyIEXz27F FbcHB5B+kDOjCKQzRl9NSn55I4vPMHjr1JMtf7i3JXPm1agSWMvNrqsSQi9fXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by nobutaka: URL: https://cgit.FreeBSD.org/ports/commit/?id=ae224e77132da69c16cce9499331de12de1a1d9b commit ae224e77132da69c16cce9499331de12de1a1d9b Author: MANTANI Nobutaka AuthorDate: 2022-08-20 17:48:07 +0000 Commit: MANTANI Nobutaka CommitDate: 2022-08-20 17:49:51 +0000 editors/imhex: Update to 1.21.2 --- editors/imhex/Makefile | 14 +- editors/imhex/distinfo | 22 +- .../imhex/files/patch-cmake_build__helpers.cmake | 6 +- ...xternal_libromfs_generator_include_embedder.hpp | 21 -- ...b_external_pattern__language_lib_CMakeLists.txt | 11 + ...lib_include_pl_core_ast_ast__node__bitfield.hpp | 11 + ...pattern__language_lib_include_pl_core_token.hpp | 235 +++++++++++++++++++++ ...rnal_pattern__language_lib_include_pl_token.hpp | 235 --------------------- ...ttern__language_lib_source_pl_helpers_file.cpp} | 14 +- ...ern__language_lib_source_pl_lib_std_string.cpp} | 6 +- .../imhex/files/patch-lib_libimhex_CMakeLists.txt | 16 +- ...b_libimhex_include_hex_data__processor_node.hpp | 10 + .../patch-lib_libimhex_source_api_imhex__api.cpp | 19 ++ .../patch-lib_libimhex_source_helpers_file.cpp | 10 +- .../imhex/files/patch-main_source_init_tasks.cpp | 20 ++ ...tin_source_content_providers_disk__provider.cpp | 7 +- ...ins_builtin_source_content_views_view__find.cpp | 4 +- ...ltin_source_content_views_view__hex__editor.cpp | 4 +- ..._source_content_views_view__pattern__editor.cpp | 11 + ...atch-plugins_builtin_source_pattern__drawer.cpp | 11 + editors/imhex/pkg-plist | 6 +- 21 files changed, 385 insertions(+), 308 deletions(-) diff --git a/editors/imhex/Makefile b/editors/imhex/Makefile index 4c6d8ef7284d..53cfed07ab71 100644 --- a/editors/imhex/Makefile +++ b/editors/imhex/Makefile @@ -1,5 +1,5 @@ PORTNAME= imhex -PORTVERSION= 1.20.0 +PORTVERSION= 1.21.2 DISTVERSIONPREFIX= v CATEGORIES= editors MASTER_SITES= https://git.sr.ht/~danyspin97/xdgpp/blob/f01f810714443d0f10c333d4d1d9c0383be41375/:xdg @@ -24,7 +24,8 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \ WerWolv-PatternLanguage-${GH_TAG_PATTERN_LANGUAGE}_GH0${EXTRACT_SUFX} BUILD_DEPENDS= glm>0:math/glm \ - nlohmann-json>0:devel/nlohmann-json + nlohmann-json>0:devel/nlohmann-json \ + ${LOCALBASE}/include/range/v3/range.hpp:devel/range-v3 LIB_DEPENDS= libcurl.so:ftp/curl \ libfreetype.so:print/freetype2 \ libglfw.so:graphics/glfw \ @@ -50,14 +51,13 @@ GH_TUPLE= btzy:nativefiledialog-extended:${GH_TAG_NATIVEFILEDIALOG}:nativefiledi GH_TAG_CAPSTONE= d5141c0 GH_TAG_FMT= c4ee726 -GH_TAG_IMHEX_PATTERNS= eda13b2 -GH_TAG_LIBROMFS= 58757f6 -GH_TAG_NATIVEFILEDIALOG= 3311592 -GH_TAG_PATTERN_LANGUAGE= a8c4479 +GH_TAG_IMHEX_PATTERNS= 15548b9 +GH_TAG_LIBROMFS= 8c8556d +GH_TAG_NATIVEFILEDIALOG= 6967d28 +GH_TAG_PATTERN_LANGUAGE= fd6bb38 GH_TAG_YARA= d5a7565 CMAKE_ARGS= -DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_NLOHMANN_JSON=ON -DIMHEX_STRIP_RELEASE=OFF -DIMHEX_PLUGINS_IN_SHARE=ON -CXXFLAGS+= -fPIC PORTDOCS= README.md diff --git a/editors/imhex/distinfo b/editors/imhex/distinfo index ae7979966eaf..ac034b341dc7 100644 --- a/editors/imhex/distinfo +++ b/editors/imhex/distinfo @@ -1,19 +1,19 @@ -TIMESTAMP = 1659725742 +TIMESTAMP = 1661008814 SHA256 (imhex/xdg.hpp) = 2e08ce74adb71ff9b9aa9e1c999733fccd4b00967b9cf0c0e51dbf049392a9ec SIZE (imhex/xdg.hpp) = 7674 -SHA256 (imhex/WerWolv-ImHex-v1.20.0_GH0.tar.gz) = 10cd0a696b7de825e2151ae88082c1e9ce8d1ad44aa4fbb9421025c44598beca -SIZE (imhex/WerWolv-ImHex-v1.20.0_GH0.tar.gz) = 10654355 -SHA256 (imhex/btzy-nativefiledialog-extended-3311592_GH0.tar.gz) = 8485f3ef81f0882f357482178f29360e29a2957507b35dec7057dcf33e6f628b -SIZE (imhex/btzy-nativefiledialog-extended-3311592_GH0.tar.gz) = 411759 +SHA256 (imhex/WerWolv-ImHex-v1.21.2_GH0.tar.gz) = 621f569ca105b7567ae076b2d6764413e6ac3619833172d7506f994101b86108 +SIZE (imhex/WerWolv-ImHex-v1.21.2_GH0.tar.gz) = 10738148 +SHA256 (imhex/btzy-nativefiledialog-extended-6967d28_GH0.tar.gz) = 67575871aca25f6b448831183851656d95cee5af773ac7b2a1f7f887f6d874d6 +SIZE (imhex/btzy-nativefiledialog-extended-6967d28_GH0.tar.gz) = 412145 SHA256 (imhex/capstone-engine-capstone-d5141c0_GH0.tar.gz) = 435d40757928fa73dec19c6d0fbf171bd76341391c8525ce1286927dab44c3e7 SIZE (imhex/capstone-engine-capstone-d5141c0_GH0.tar.gz) = 5761632 SHA256 (imhex/fmtlib-fmt-c4ee726_GH0.tar.gz) = 05ba66b0a9ed040e5cfb07e845a0aa61fdbbb9a0cbd22a1860a303e8cbf343e4 SIZE (imhex/fmtlib-fmt-c4ee726_GH0.tar.gz) = 833672 SHA256 (imhex/VirusTotal-yara-d5a7565_GH0.tar.gz) = 1c908b160f2432a25aefc1e94147949d24bcb79c1412a2be840f767531f3ff7e SIZE (imhex/VirusTotal-yara-d5a7565_GH0.tar.gz) = 1287317 -SHA256 (imhex/WerWolv-ImHex-Patterns-eda13b2_GH0.tar.gz) = 4f7d3c39592c2cc53b1ded6e077b053a1c1a8017ba8b0902197fac65298c40ae -SIZE (imhex/WerWolv-ImHex-Patterns-eda13b2_GH0.tar.gz) = 4666034 -SHA256 (imhex/WerWolv-PatternLanguage-a8c4479_GH0.tar.gz) = a1afee4cb170377296f7d8e4b123e3009cd0054bdb1f52d8011dd297e1afcb60 -SIZE (imhex/WerWolv-PatternLanguage-a8c4479_GH0.tar.gz) = 269760 -SHA256 (imhex/WerWolv-libromfs-58757f6_GH0.tar.gz) = be53d72ac61c75cfb1b6f0cd8d961ab4a25b1cae95c43aae9a67feb0f185e3a1 -SIZE (imhex/WerWolv-libromfs-58757f6_GH0.tar.gz) = 3864 +SHA256 (imhex/WerWolv-ImHex-Patterns-15548b9_GH0.tar.gz) = 0e9abdd115eb9919bc5526f829110c0f31765cb2576eb1e64d9754c1aefda423 +SIZE (imhex/WerWolv-ImHex-Patterns-15548b9_GH0.tar.gz) = 4673034 +SHA256 (imhex/WerWolv-PatternLanguage-fd6bb38_GH0.tar.gz) = acb0721f2c43e0f0e909955fee2e3e8ff9894fedcb945d256edfd56c25a68137 +SIZE (imhex/WerWolv-PatternLanguage-fd6bb38_GH0.tar.gz) = 277785 +SHA256 (imhex/WerWolv-libromfs-8c8556d_GH0.tar.gz) = 46364edcf21a4cbe7c48094e755751aa03704a9c1efe3be5add5f52a15690474 +SIZE (imhex/WerWolv-libromfs-8c8556d_GH0.tar.gz) = 3868 diff --git a/editors/imhex/files/patch-cmake_build__helpers.cmake b/editors/imhex/files/patch-cmake_build__helpers.cmake index 0d0d1a798f82..658333ed0c52 100644 --- a/editors/imhex/files/patch-cmake_build__helpers.cmake +++ b/editors/imhex/files/patch-cmake_build__helpers.cmake @@ -1,6 +1,6 @@ ---- cmake/build_helpers.cmake.orig 2022-08-05 10:52:34 UTC +--- cmake/build_helpers.cmake.orig 2022-08-14 12:54:20 UTC +++ cmake/build_helpers.cmake -@@ -352,17 +352,9 @@ function(downloadImHexPatternsFiles dest) +@@ -367,17 +367,9 @@ function(downloadImHexPatternsFiles dest) set(PATTERNS_BRANCH ImHex-v${IMHEX_VERSION}) endif () @@ -19,7 +19,7 @@ endforeach () endif () -@@ -370,7 +362,6 @@ endfunction() +@@ -385,7 +377,6 @@ endfunction() macro(setupCompilerWarnings target) set(IMHEX_COMMON_FLAGS "-Wall -Wextra -Werror") diff --git a/editors/imhex/files/patch-lib_external_libromfs_generator_include_embedder.hpp b/editors/imhex/files/patch-lib_external_libromfs_generator_include_embedder.hpp deleted file mode 100644 index 3abd57283287..000000000000 --- a/editors/imhex/files/patch-lib_external_libromfs_generator_include_embedder.hpp +++ /dev/null @@ -1,21 +0,0 @@ ---- lib/external/libromfs/generator/include/embedder.hpp.orig 2022-07-07 16:28:45 UTC -+++ lib/external/libromfs/generator/include/embedder.hpp -@@ -20,13 +20,13 @@ R"embedder( - - #define RESOURCE(name, path) \ - __asm__ ( \ -- ".global _" #name "\n" \ -- ".global _" #name "_size\n" \ -- "_" #name ":\n" \ -+ ".global " #name "\n" \ -+ ".global " #name "_size\n" \ -+ #name ":\n" \ - ".incbin \"" path "\"\n" \ - ".align 8\n" \ -- "_" #name "_size:\n" \ -- ".int _" #name "_size - _" #name " - 1\n" \ -+ #name "_size:\n" \ -+ ".int " #name "_size - " #name " - 1\n" \ - ".align 8\n" \ - ) - diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_CMakeLists.txt b/editors/imhex/files/patch-lib_external_pattern__language_lib_CMakeLists.txt new file mode 100644 index 000000000000..871b7d4466b3 --- /dev/null +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_CMakeLists.txt @@ -0,0 +1,11 @@ +--- lib/external/pattern_language/lib/CMakeLists.txt.orig 2022-08-18 14:28:54 UTC ++++ lib/external/pattern_language/lib/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.16) + project(libpl) + +-set(CMAKE_CXX_STANDARD 20) ++set(CMAKE_CXX_STANDARD 23) + + if (LIBPL_SHARED_LIBRARY) + set(LIBRARY_TYPE SHARED) diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_ast_ast__node__bitfield.hpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_ast_ast__node__bitfield.hpp new file mode 100644 index 000000000000..cc4198d9685b --- /dev/null +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_ast_ast__node__bitfield.hpp @@ -0,0 +1,11 @@ +--- lib/external/pattern_language/lib/include/pl/core/ast/ast_node_bitfield.hpp.orig 2022-08-18 14:31:33 UTC ++++ lib/external/pattern_language/lib/include/pl/core/ast/ast_node_bitfield.hpp +@@ -86,7 +86,6 @@ namespace pl::core::ast { + + private: + std::vector> m_entries; +- mutable size_t m_bitOffset = 0x00; + }; + + } +\ No newline at end of file diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp new file mode 100644 index 000000000000..3ea7d313dc01 --- /dev/null +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp @@ -0,0 +1,235 @@ +--- lib/external/pattern_language/lib/include/pl/core/token.hpp.orig 2022-08-20 15:51:46 UTC ++++ lib/external/pattern_language/lib/include/pl/core/token.hpp +@@ -153,9 +153,9 @@ namespace pl::core { + + using Literal = std::variant; + using ValueTypes = std::variant; ++ // 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); + } +@@ -431,128 +431,128 @@ namespace pl::core { + + namespace tkn { + +- constexpr inline Token createToken(const core::Token::Type type, const core::Token::ValueTypes &value) { ++ inline Token createToken(const core::Token::Type type, const core::Token::ValueTypes &value) { + return { type, value, 1, 1 }; + } + + namespace Keyword { + +- constexpr auto If = createToken(core::Token::Type::Keyword, Token::Keyword::If); +- constexpr auto Else = createToken(core::Token::Type::Keyword, Token::Keyword::Else); +- constexpr auto While = createToken(core::Token::Type::Keyword, Token::Keyword::While); +- constexpr auto For = createToken(core::Token::Type::Keyword, Token::Keyword::For); +- constexpr auto Return = createToken(core::Token::Type::Keyword, Token::Keyword::Return); +- constexpr auto Break = createToken(core::Token::Type::Keyword, Token::Keyword::Break); +- constexpr auto Continue = createToken(core::Token::Type::Keyword, Token::Keyword::Continue); +- constexpr auto Struct = createToken(core::Token::Type::Keyword, Token::Keyword::Struct); +- constexpr auto Enum = createToken(core::Token::Type::Keyword, Token::Keyword::Enum); +- constexpr auto Union = createToken(core::Token::Type::Keyword, Token::Keyword::Union); +- constexpr auto Function = createToken(core::Token::Type::Keyword, Token::Keyword::Function); +- constexpr auto Bitfield = createToken(core::Token::Type::Keyword, Token::Keyword::Bitfield); +- constexpr auto LittleEndian = createToken(core::Token::Type::Keyword, Token::Keyword::LittleEndian); +- constexpr auto BigEndian = createToken(core::Token::Type::Keyword, Token::Keyword::BigEndian); +- constexpr auto Parent = createToken(core::Token::Type::Keyword, Token::Keyword::Parent); +- constexpr auto Namespace = createToken(core::Token::Type::Keyword, Token::Keyword::Namespace); +- constexpr auto Using = createToken(core::Token::Type::Keyword, Token::Keyword::Using); +- constexpr auto This = createToken(core::Token::Type::Keyword, Token::Keyword::This); +- constexpr auto In = createToken(core::Token::Type::Keyword, Token::Keyword::In); +- constexpr auto Out = createToken(core::Token::Type::Keyword, Token::Keyword::Out); ++ inline auto If = createToken(core::Token::Type::Keyword, Token::Keyword::If); ++ inline auto Else = createToken(core::Token::Type::Keyword, Token::Keyword::Else); ++ inline auto While = createToken(core::Token::Type::Keyword, Token::Keyword::While); ++ inline auto For = createToken(core::Token::Type::Keyword, Token::Keyword::For); ++ inline auto Return = createToken(core::Token::Type::Keyword, Token::Keyword::Return); ++ inline auto Break = createToken(core::Token::Type::Keyword, Token::Keyword::Break); ++ inline auto Continue = createToken(core::Token::Type::Keyword, Token::Keyword::Continue); ++ inline auto Struct = createToken(core::Token::Type::Keyword, Token::Keyword::Struct); ++ inline auto Enum = createToken(core::Token::Type::Keyword, Token::Keyword::Enum); ++ inline auto Union = createToken(core::Token::Type::Keyword, Token::Keyword::Union); ++ inline auto Function = createToken(core::Token::Type::Keyword, Token::Keyword::Function); ++ inline auto Bitfield = createToken(core::Token::Type::Keyword, Token::Keyword::Bitfield); ++ inline auto LittleEndian = createToken(core::Token::Type::Keyword, Token::Keyword::LittleEndian); ++ inline auto BigEndian = createToken(core::Token::Type::Keyword, Token::Keyword::BigEndian); ++ inline auto Parent = createToken(core::Token::Type::Keyword, Token::Keyword::Parent); ++ inline auto Namespace = createToken(core::Token::Type::Keyword, Token::Keyword::Namespace); ++ inline auto Using = createToken(core::Token::Type::Keyword, Token::Keyword::Using); ++ inline auto This = createToken(core::Token::Type::Keyword, Token::Keyword::This); ++ inline auto In = createToken(core::Token::Type::Keyword, Token::Keyword::In); ++ inline auto Out = createToken(core::Token::Type::Keyword, Token::Keyword::Out); + + } + + namespace Literal { + +- constexpr auto Identifier = [](const std::string &name = { }) -> Token { return createToken(core::Token::Type::Identifier, Token::Identifier(name)); }; +- constexpr auto Numeric = [](const Token::Literal &value = { }) -> Token { return createToken(core::Token::Type::Integer, value); }; +- constexpr auto String = [](const std::string &value = { }) -> Token { return createToken(core::Token::Type::String, Token::Literal(value)); }; ++ inline auto Identifier = [](const std::string &name = { }) -> Token { return createToken(core::Token::Type::Identifier, Token::Identifier(name)); }; ++ inline auto Numeric = [](const Token::Literal &value = { }) -> Token { return createToken(core::Token::Type::Integer, value); }; ++ inline auto String = [](const std::string &value = { }) -> Token { return createToken(core::Token::Type::String, Token::Literal(value)); }; + + } + + namespace Operator { + +- constexpr auto Plus = createToken(core::Token::Type::Operator, Token::Operator::Plus); +- constexpr auto Minus = createToken(core::Token::Type::Operator, Token::Operator::Minus); +- constexpr auto Star = createToken(core::Token::Type::Operator, Token::Operator::Star); +- constexpr auto Slash = createToken(core::Token::Type::Operator, Token::Operator::Slash); +- constexpr auto Percent = createToken(core::Token::Type::Operator, Token::Operator::Percent); +- constexpr auto LeftShift = createToken(core::Token::Type::Operator, Token::Operator::LeftShift); +- constexpr auto RightShift = createToken(core::Token::Type::Operator, Token::Operator::RightShift); +- constexpr auto BitAnd = createToken(core::Token::Type::Operator, Token::Operator::BitAnd); +- constexpr auto BitOr = createToken(core::Token::Type::Operator, Token::Operator::BitOr); +- constexpr auto BitXor = createToken(core::Token::Type::Operator, Token::Operator::BitXor); +- constexpr auto BitNot = createToken(core::Token::Type::Operator, Token::Operator::BitNot); +- constexpr auto BoolEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolEqual); +- constexpr auto BoolNotEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolNotEqual); +- constexpr auto BoolLessThan = createToken(core::Token::Type::Operator, Token::Operator::BoolLessThan); +- constexpr auto BoolGreaterThan = createToken(core::Token::Type::Operator, Token::Operator::BoolGreaterThan); +- constexpr auto BoolLessThanOrEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolLessThanOrEqual); +- constexpr auto BoolGreaterThanOrEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolGreaterThanOrEqual); +- constexpr auto BoolAnd = createToken(core::Token::Type::Operator, Token::Operator::BoolAnd); +- constexpr auto BoolOr = createToken(core::Token::Type::Operator, Token::Operator::BoolOr); +- constexpr auto BoolNot = createToken(core::Token::Type::Operator, Token::Operator::BoolNot); +- constexpr auto BoolXor = createToken(core::Token::Type::Operator, Token::Operator::BoolXor); +- constexpr auto Dollar = createToken(core::Token::Type::Operator, Token::Operator::Dollar); +- constexpr auto Colon = createToken(core::Token::Type::Operator, Token::Operator::Colon); +- constexpr auto ScopeResolution = createToken(core::Token::Type::Operator, Token::Operator::ScopeResolution); +- constexpr auto TernaryConditional = createToken(core::Token::Type::Operator, Token::Operator::TernaryConditional); +- constexpr auto AddressOf = createToken(core::Token::Type::Operator, Token::Operator::AddressOf); +- constexpr auto SizeOf = createToken(core::Token::Type::Operator, Token::Operator::SizeOf); +- constexpr auto At = createToken(core::Token::Type::Operator, Token::Operator::At); +- constexpr auto Assign = createToken(core::Token::Type::Operator, Token::Operator::Assign); ++ inline auto Plus = createToken(core::Token::Type::Operator, Token::Operator::Plus); ++ inline auto Minus = createToken(core::Token::Type::Operator, Token::Operator::Minus); ++ inline auto Star = createToken(core::Token::Type::Operator, Token::Operator::Star); ++ inline auto Slash = createToken(core::Token::Type::Operator, Token::Operator::Slash); ++ inline auto Percent = createToken(core::Token::Type::Operator, Token::Operator::Percent); ++ inline auto LeftShift = createToken(core::Token::Type::Operator, Token::Operator::LeftShift); ++ inline auto RightShift = createToken(core::Token::Type::Operator, Token::Operator::RightShift); ++ inline auto BitAnd = createToken(core::Token::Type::Operator, Token::Operator::BitAnd); ++ inline auto BitOr = createToken(core::Token::Type::Operator, Token::Operator::BitOr); ++ inline auto BitXor = createToken(core::Token::Type::Operator, Token::Operator::BitXor); ++ inline auto BitNot = createToken(core::Token::Type::Operator, Token::Operator::BitNot); ++ inline auto BoolEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolEqual); ++ inline auto BoolNotEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolNotEqual); ++ inline auto BoolLessThan = createToken(core::Token::Type::Operator, Token::Operator::BoolLessThan); ++ inline auto BoolGreaterThan = createToken(core::Token::Type::Operator, Token::Operator::BoolGreaterThan); ++ inline auto BoolLessThanOrEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolLessThanOrEqual); ++ inline auto BoolGreaterThanOrEqual = createToken(core::Token::Type::Operator, Token::Operator::BoolGreaterThanOrEqual); ++ inline auto BoolAnd = createToken(core::Token::Type::Operator, Token::Operator::BoolAnd); ++ inline auto BoolOr = createToken(core::Token::Type::Operator, Token::Operator::BoolOr); ++ inline auto BoolNot = createToken(core::Token::Type::Operator, Token::Operator::BoolNot); ++ inline auto BoolXor = createToken(core::Token::Type::Operator, Token::Operator::BoolXor); ++ inline auto Dollar = createToken(core::Token::Type::Operator, Token::Operator::Dollar); ++ inline auto Colon = createToken(core::Token::Type::Operator, Token::Operator::Colon); ++ inline auto ScopeResolution = createToken(core::Token::Type::Operator, Token::Operator::ScopeResolution); ++ inline auto TernaryConditional = createToken(core::Token::Type::Operator, Token::Operator::TernaryConditional); ++ inline auto AddressOf = createToken(core::Token::Type::Operator, Token::Operator::AddressOf); ++ inline auto SizeOf = createToken(core::Token::Type::Operator, Token::Operator::SizeOf); ++ inline auto At = createToken(core::Token::Type::Operator, Token::Operator::At); ++ inline auto Assign = createToken(core::Token::Type::Operator, Token::Operator::Assign); + + } + + namespace ValueType { + +- constexpr auto CustomType = createToken(core::Token::Type::ValueType, Token::ValueType::CustomType); +- constexpr auto Padding = createToken(core::Token::Type::ValueType, Token::ValueType::Padding); +- constexpr auto Unsigned = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned); +- constexpr auto Signed = createToken(core::Token::Type::ValueType, Token::ValueType::Signed); +- constexpr auto FloatingPoint = createToken(core::Token::Type::ValueType, Token::ValueType::FloatingPoint); +- constexpr auto Auto = createToken(core::Token::Type::ValueType, Token::ValueType::Auto); +- constexpr auto Any = createToken(core::Token::Type::ValueType, Token::ValueType::Any); ++ inline auto CustomType = createToken(core::Token::Type::ValueType, Token::ValueType::CustomType); ++ inline auto Padding = createToken(core::Token::Type::ValueType, Token::ValueType::Padding); ++ inline auto Unsigned = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned); ++ inline auto Signed = createToken(core::Token::Type::ValueType, Token::ValueType::Signed); ++ inline auto FloatingPoint = createToken(core::Token::Type::ValueType, Token::ValueType::FloatingPoint); ++ inline auto Auto = createToken(core::Token::Type::ValueType, Token::ValueType::Auto); ++ inline auto Any = createToken(core::Token::Type::ValueType, Token::ValueType::Any); + +- constexpr auto Unsigned8Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned8Bit); +- constexpr auto Unsigned16Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned16Bit); +- constexpr auto Unsigned24Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned24Bit); +- constexpr auto Unsigned32Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned32Bit); +- constexpr auto Unsigned48Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned48Bit); +- constexpr auto Unsigned64Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned64Bit); +- constexpr auto Unsigned96Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned96Bit); +- constexpr auto Unsigned128Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned128Bit); ++ inline auto Unsigned8Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned8Bit); ++ inline auto Unsigned16Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned16Bit); ++ inline auto Unsigned24Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned24Bit); ++ inline auto Unsigned32Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned32Bit); ++ inline auto Unsigned48Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned48Bit); ++ inline auto Unsigned64Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned64Bit); ++ inline auto Unsigned96Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned96Bit); ++ inline auto Unsigned128Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Unsigned128Bit); + +- constexpr auto Signed8Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed8Bit); +- constexpr auto Signed16Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed16Bit); +- constexpr auto Signed24Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed24Bit); +- constexpr auto Signed32Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed32Bit); +- constexpr auto Signed48Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed48Bit); +- constexpr auto Signed64Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed64Bit); +- constexpr auto Signed96Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed96Bit); +- constexpr auto Signed128Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed128Bit); ++ inline auto Signed8Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed8Bit); ++ inline auto Signed16Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed16Bit); ++ inline auto Signed24Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed24Bit); ++ inline auto Signed32Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed32Bit); ++ inline auto Signed48Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed48Bit); ++ inline auto Signed64Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed64Bit); ++ inline auto Signed96Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed96Bit); ++ inline auto Signed128Bit = createToken(core::Token::Type::ValueType, Token::ValueType::Signed128Bit); + +- constexpr auto Float = createToken(core::Token::Type::ValueType, Token::ValueType::Float); +- constexpr auto Double = createToken(core::Token::Type::ValueType, Token::ValueType::Double); ++ inline auto Float = createToken(core::Token::Type::ValueType, Token::ValueType::Float); ++ inline auto Double = createToken(core::Token::Type::ValueType, Token::ValueType::Double); + +- constexpr auto Boolean = createToken(core::Token::Type::ValueType, Token::ValueType::Boolean); ++ inline auto Boolean = createToken(core::Token::Type::ValueType, Token::ValueType::Boolean); + +- constexpr auto Character = createToken(core::Token::Type::ValueType, Token::ValueType::Character); +- constexpr auto Character16 = createToken(core::Token::Type::ValueType, Token::ValueType::Character16); +- constexpr auto String = createToken(core::Token::Type::ValueType, Token::ValueType::String); ++ inline auto Character = createToken(core::Token::Type::ValueType, Token::ValueType::Character); ++ inline auto Character16 = createToken(core::Token::Type::ValueType, Token::ValueType::Character16); ++ inline auto String = createToken(core::Token::Type::ValueType, Token::ValueType::String); + + } + + namespace Separator { + +- constexpr auto Comma = createToken(core::Token::Type::Separator, Token::Separator::Comma); +- constexpr auto LeftParenthesis = createToken(core::Token::Type::Separator, Token::Separator::LeftParenthesis); +- constexpr auto RightParenthesis = createToken(core::Token::Type::Separator, Token::Separator::RightParenthesis); +- constexpr auto LeftBracket = createToken(core::Token::Type::Separator, Token::Separator::LeftBracket); +- constexpr auto RightBracket = createToken(core::Token::Type::Separator, Token::Separator::RightBracket); +- constexpr auto LeftBrace = createToken(core::Token::Type::Separator, Token::Separator::LeftBrace); +- constexpr auto RightBrace = createToken(core::Token::Type::Separator, Token::Separator::RightBrace); +- constexpr auto Dot = createToken(core::Token::Type::Separator, Token::Separator::Dot); +- constexpr auto Semicolon = createToken(core::Token::Type::Separator, Token::Separator::Semicolon); +- constexpr auto EndOfProgram = createToken(core::Token::Type::Separator, Token::Separator::EndOfProgram); ++ inline auto Comma = createToken(core::Token::Type::Separator, Token::Separator::Comma); ++ inline auto LeftParenthesis = createToken(core::Token::Type::Separator, Token::Separator::LeftParenthesis); ++ inline auto RightParenthesis = createToken(core::Token::Type::Separator, Token::Separator::RightParenthesis); ++ inline auto LeftBracket = createToken(core::Token::Type::Separator, Token::Separator::LeftBracket); ++ inline auto RightBracket = createToken(core::Token::Type::Separator, Token::Separator::RightBracket); ++ inline auto LeftBrace = createToken(core::Token::Type::Separator, Token::Separator::LeftBrace); ++ inline auto RightBrace = createToken(core::Token::Type::Separator, Token::Separator::RightBrace); ++ inline auto Dot = createToken(core::Token::Type::Separator, Token::Separator::Dot); ++ inline auto Semicolon = createToken(core::Token::Type::Separator, Token::Separator::Semicolon); ++ inline auto EndOfProgram = createToken(core::Token::Type::Separator, Token::Separator::EndOfProgram); + + } + 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 deleted file mode 100644 index d8832acb9a55..000000000000 --- a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_token.hpp +++ /dev/null @@ -1,235 +0,0 @@ ---- 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; - using ValueTypes = std::variant; -+ // 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-lib_external_pattern__language_lib_source_helpers_file.cpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_helpers_file.cpp similarity index 81% rename from editors/imhex/files/patch-lib_external_pattern__language_lib_source_helpers_file.cpp rename to editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_helpers_file.cpp index 571fabd78504..493d143c3cf4 100644 --- a/editors/imhex/files/patch-lib_external_pattern__language_lib_source_helpers_file.cpp +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_helpers_file.cpp @@ -1,6 +1,6 @@ ---- lib/external/pattern_language/lib/source/helpers/file.cpp.orig 2022-07-05 14:00:57 UTC -+++ lib/external/pattern_language/lib/source/helpers/file.cpp -@@ -20,12 +20,12 @@ namespace pl::fs { +--- lib/external/pattern_language/lib/source/pl/helpers/file.cpp.orig 2022-08-14 15:37:26 UTC ++++ lib/external/pattern_language/lib/source/pl/helpers/file.cpp +@@ -19,12 +19,12 @@ namespace pl::hlp::fs { this->m_file = _wfopen(path.c_str(), L"w+b"); #else if (mode == File::Mode::Read) @@ -16,7 +16,7 @@ #endif } -@@ -53,7 +53,7 @@ namespace pl::fs { +@@ -52,7 +52,7 @@ namespace pl::hlp::fs { void File::seek(u64 offset) { @@ -25,7 +25,7 @@ } void File::close() { -@@ -138,10 +138,10 @@ namespace pl::fs { +@@ -137,10 +137,10 @@ namespace pl::hlp::fs { size_t File::getSize() const { if (!isValid()) return 0; @@ -40,12 +40,12 @@ if (size < 0) return 0; -@@ -152,7 +152,7 @@ namespace pl::fs { +@@ -151,7 +151,7 @@ namespace pl::hlp::fs { void File::setSize(u64 size) { if (!isValid()) return; - auto result = ftruncate64(fileno(this->m_file), size); + auto result = ftruncate(fileno(this->m_file), size); - pl::unused(result); + hlp::unused(result); } diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_libstd_string.cpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_lib_std_string.cpp similarity index 61% rename from editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_libstd_string.cpp rename to editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_lib_std_string.cpp index 585fca11d7d1..9c419ffccee2 100644 --- a/editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_libstd_string.cpp +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_source_pl_lib_std_string.cpp @@ -1,6 +1,6 @@ ---- lib/external/pattern_language/lib/source/pl/libstd/string.cpp.orig 2022-07-05 14:26:01 UTC -+++ lib/external/pattern_language/lib/source/pl/libstd/string.cpp -@@ -33,7 +33,7 @@ namespace pl::libstd::string { +--- lib/external/pattern_language/lib/source/pl/lib/std/string.cpp.orig 2022-08-14 15:35:34 UTC ++++ lib/external/pattern_language/lib/source/pl/lib/std/string.cpp +@@ -35,7 +35,7 @@ namespace pl::lib::libstd::string { const auto signIndex = index >> (sizeof(index) * 8 - 1); const auto absIndex = (index ^ signIndex) - signIndex; #else diff --git a/editors/imhex/files/patch-lib_libimhex_CMakeLists.txt b/editors/imhex/files/patch-lib_libimhex_CMakeLists.txt index 1aa13a5835d3..cc5d449b4c4b 100644 --- a/editors/imhex/files/patch-lib_libimhex_CMakeLists.txt +++ b/editors/imhex/files/patch-lib_libimhex_CMakeLists.txt @@ -1,10 +1,10 @@ ---- lib/libimhex/CMakeLists.txt.orig 2022-08-05 10:52:34 UTC +--- lib/libimhex/CMakeLists.txt.orig 2022-08-14 12:54:20 UTC +++ lib/libimhex/CMakeLists.txt -@@ -10,7 +10,6 @@ set_target_properties(imgui PROPERTIES POSITION_INDEPE - add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/microtar ${CMAKE_CURRENT_BINARY_DIR}/external/microtar EXCLUDE_FROM_ALL) - set_target_properties(microtar PROPERTIES POSITION_INDEPENDENT_CODE ON) +@@ -26,7 +26,6 @@ set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "") + find_package(PkgConfig REQUIRED) --set(NFD_PORTAL ON CACHE BOOL "Use Portals for Linux file dialogs" FORCE) - set(NFD_USE_ALLOWEDCONTENTTYPES OFF CACHE BOOL "Disable allowedContentTypes for macOS file dialogs" FORCE) - add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/nativefiledialog ${CMAKE_CURRENT_BINARY_DIR}/external/nativefiledialog EXCLUDE_FROM_ALL) - set_target_properties(nfd PROPERTIES POSITION_INDEPENDENT_CODE ON) + if (NOT USE_SYSTEM_NFD) +- set(NFD_PORTAL ON CACHE BOOL "Use Portals for Linux file dialogs" FORCE) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/nativefiledialog ${CMAKE_CURRENT_BINARY_DIR}/external/nativefiledialog EXCLUDE_FROM_ALL) + set_target_properties(nfd PROPERTIES POSITION_INDEPENDENT_CODE ON) + set(NFD_LIBRARIES nfd) diff --git a/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp b/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp new file mode 100644 index 000000000000..a42bdab95f2b --- /dev/null +++ b/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp @@ -0,0 +1,10 @@ +--- lib/libimhex/include/hex/data_processor/node.hpp.orig 2022-08-14 15:02:06 UTC ++++ lib/libimhex/include/hex/data_processor/node.hpp +@@ -45,6 +45,7 @@ namespace hex::dp { + struct NodeError { + Node *node; + std::string message; ++ NodeError(Node *n, std::string m) : node(n), message(m) {}; + }; + + void resetOutputData() { diff --git a/editors/imhex/files/patch-lib_libimhex_source_api_imhex__api.cpp b/editors/imhex/files/patch-lib_libimhex_source_api_imhex__api.cpp new file mode 100644 index 000000000000..a38d2f10790f --- /dev/null +++ b/editors/imhex/files/patch-lib_libimhex_source_api_imhex__api.cpp @@ -0,0 +1,19 @@ +--- lib/libimhex/source/api/imhex_api.cpp.orig 2022-08-17 21:25:52 UTC ++++ lib/libimhex/source/api/imhex_api.cpp +@@ -4,6 +4,7 @@ + #include + #include + ++#include + #include + #include + +@@ -260,7 +261,7 @@ namespace hex { + } + + bool isDirty() { +- return std::ranges::any_of(s_providers, [](const auto &provider) { ++ return ranges::any_of(s_providers, [](const auto &provider) { + return provider->isDirty(); + }); + } diff --git a/editors/imhex/files/patch-lib_libimhex_source_helpers_file.cpp b/editors/imhex/files/patch-lib_libimhex_source_helpers_file.cpp index 2373a25e000c..f0d74435b58e 100644 --- a/editors/imhex/files/patch-lib_libimhex_source_helpers_file.cpp +++ b/editors/imhex/files/patch-lib_libimhex_source_helpers_file.cpp @@ -1,6 +1,6 @@ ---- lib/libimhex/source/helpers/file.cpp.orig 2022-07-04 19:53:18 UTC +--- lib/libimhex/source/helpers/file.cpp.orig 2022-08-17 21:25:52 UTC +++ lib/libimhex/source/helpers/file.cpp -@@ -16,12 +16,12 @@ namespace hex::fs { +@@ -17,12 +17,12 @@ namespace hex::fs { this->m_file = _wfopen(path.c_str(), L"w+b"); #else if (mode == File::Mode::Read) @@ -16,7 +16,7 @@ #endif } -@@ -49,7 +49,7 @@ namespace hex::fs { +@@ -50,7 +50,7 @@ namespace hex::fs { void File::seek(u64 offset) { @@ -25,7 +25,7 @@ } void File::close() { -@@ -134,10 +134,10 @@ namespace hex::fs { +@@ -135,10 +135,10 @@ namespace hex::fs { size_t File::getSize() const { if (!isValid()) return 0; @@ -40,7 +40,7 @@ if (size < 0) return 0; -@@ -148,7 +148,7 @@ namespace hex::fs { +@@ -149,7 +149,7 @@ namespace hex::fs { void File::setSize(u64 size) { if (!isValid()) return; diff --git a/editors/imhex/files/patch-main_source_init_tasks.cpp b/editors/imhex/files/patch-main_source_init_tasks.cpp new file mode 100644 index 000000000000..97f2f64982b8 --- /dev/null +++ b/editors/imhex/files/patch-main_source_init_tasks.cpp @@ -0,0 +1,20 @@ +--- main/source/init/tasks.cpp.orig 2022-08-20 13:59:16 UTC ++++ main/source/init/tasks.cpp +@@ -4,6 +4,7 @@ + #include + + #include ++#include + #include + #include + #include +@@ -228,6 +229,9 @@ namespace hex::init { + delete visualizer; + visualizers.clear(); + } ++ ++ ProjectFile::getHandlers().clear(); ++ ProjectFile::getProviderHandlers().clear(); + + return true; + } diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_providers_disk__provider.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_providers_disk__provider.cpp index 058bc825f254..2269f67780d5 100644 --- a/editors/imhex/files/patch-plugins_builtin_source_content_providers_disk__provider.cpp +++ b/editors/imhex/files/patch-plugins_builtin_source_content_providers_disk__provider.cpp @@ -1,12 +1,13 @@ ---- plugins/builtin/source/content/providers/disk_provider.cpp.orig 2022-03-03 13:32:30 UTC +--- plugins/builtin/source/content/providers/disk_provider.cpp.orig 2022-08-14 12:54:20 UTC +++ plugins/builtin/source/content/providers/disk_provider.cpp -@@ -17,7 +17,9 @@ +@@ -18,8 +18,9 @@ #include #include +# if !defined(__FreeBSD__) #define lseek lseek64 +- +# endif #elif defined(OS_MACOS) + #include - #include diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp index 1d4e2b2cf385..f05750165eea 100644 --- a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp +++ b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp @@ -1,6 +1,6 @@ ---- plugins/builtin/source/content/views/view_find.cpp.orig 2022-08-05 19:36:42 UTC +--- plugins/builtin/source/content/views/view_find.cpp.orig 2022-08-17 21:25:52 UTC +++ plugins/builtin/source/content/views/view_find.cpp -@@ -247,7 +247,7 @@ namespace hex::plugin::builtin { +@@ -236,7 +236,7 @@ namespace hex::plugin::builtin { auto sequence = hex::decodeByteString(settings.sequence); auto occurrence = reader.begin(); while (true) { 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 57f838771c5e..211e587b0096 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,6 +1,6 @@ ---- 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.orig 2022-08-17 21:25:52 UTC +++ plugins/builtin/source/content/views/view_hex_editor.cpp -@@ -208,7 +208,7 @@ namespace hex::plugin::builtin { +@@ -250,7 +250,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) { diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp new file mode 100644 index 000000000000..59dc184fb2d7 --- /dev/null +++ b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp @@ -0,0 +1,11 @@ +--- plugins/builtin/source/content/views/view_pattern_editor.cpp.orig 2022-08-20 15:52:06 UTC ++++ plugins/builtin/source/content/views/view_pattern_editor.cpp +@@ -741,7 +741,7 @@ namespace hex::plugin::builtin { + ImGui::TableNextColumn(); + ImGui::TextFormatted("{}", pattern->getEndian() == std::endian::little ? "hex.builtin.common.little"_lang : "hex.builtin.common.big"_lang); + +- if (const auto &comment = pattern->getComment(); comment.has_value()) { ++ if (const auto &comment = pattern->getComment(); comment != nullptr) { + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::TextFormatted("{}: ", "hex.builtin.common.comment"_lang); diff --git a/editors/imhex/files/patch-plugins_builtin_source_pattern__drawer.cpp b/editors/imhex/files/patch-plugins_builtin_source_pattern__drawer.cpp new file mode 100644 index 000000000000..73a8ad7e7f02 --- /dev/null +++ b/editors/imhex/files/patch-plugins_builtin_source_pattern__drawer.cpp @@ -0,0 +1,11 @@ +--- plugins/builtin/source/pattern_drawer.cpp.orig 2022-08-20 15:51:56 UTC ++++ plugins/builtin/source/pattern_drawer.cpp +@@ -277,7 +277,7 @@ namespace hex { + + + void PatternDrawer::drawCommentTooltip(const pl::ptrn::Pattern &pattern) const { +- if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem) && pattern.getComment().has_value()) { ++ if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem) && pattern.getComment() != nullptr) { + ImGui::BeginTooltip(); + ImGui::TextUnformatted(pattern.getComment()->c_str()); + ImGui::EndTooltip(); diff --git a/editors/imhex/pkg-plist b/editors/imhex/pkg-plist index 4e07839b195f..d04fe16cc826 100644 --- a/editors/imhex/pkg-plist +++ b/editors/imhex/pkg-plist @@ -1,5 +1,5 @@ bin/imhex -lib/libimhex.so.1.20.0 +lib/libimhex.so.1.21.2 share/applications/imhex.desktop %%DATADIR%%/constants/_schema.json %%DATADIR%%/constants/crc16.json @@ -31,6 +31,7 @@ share/applications/imhex.desktop %%DATADIR%%/encodings/jis_x_0211.tbl %%DATADIR%%/encodings/jis_x_0213.tbl %%DATADIR%%/encodings/macintosh.tbl +%%DATADIR%%/encodings/pokegen1_en.tbl %%DATADIR%%/encodings/shiftjis.tbl %%DATADIR%%/encodings/thai.tbl %%DATADIR%%/encodings/turkish_iso.tbl @@ -40,6 +41,7 @@ share/applications/imhex.desktop %%DATADIR%%/includes/cstdint.pat %%DATADIR%%/includes/std/bit.pat %%DATADIR%%/includes/std/cint.pat +%%DATADIR%%/includes/std/core.pat %%DATADIR%%/includes/std/ctype.pat %%DATADIR%%/includes/std/file.pat %%DATADIR%%/includes/std/fxpt.pat @@ -60,6 +62,7 @@ share/applications/imhex.desktop %%DATADIR%%/includes/type/ip.pat %%DATADIR%%/includes/type/leb128.pat %%DATADIR%%/includes/type/mac.pat +%%DATADIR%%/includes/type/path.pat %%DATADIR%%/includes/type/time.pat %%DATADIR%%/magic/nintendo_switch_magic *** 9 LINES SKIPPED ***