Commit Graph

53 Commits

Author SHA1 Message Date
WerWolv 4caa0ce570 fix: Turn cli file path into absolute path before passing it on 2025-11-30 23:57:22 +01:00
Zackary Newman dcbba9cbfc
impr: Rework command line argument parsing (#2440)
The current CLI argument parsing did not work as documented and had a
number of issues related to multi-flag (subcommand) parsing. I've
reworked the logic in such a way that should maintain full compatibility
with any existing scripts/use-cases but with added functionality.

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2025-09-12 21:07:33 +02:00
WerWolv 66efcf91d3 feat: Added file information command line option and fullscreen view 2025-08-24 21:21:34 +02:00
WerWolv 762eacb7c8 feat: Allow any custom content to be displayed in the command palette 2025-08-15 20:17:58 +02:00
WerWolv fbde2942de build: Refactor ContentRegistry into multiple separate files 2025-08-14 21:22:03 +02:00
WerWolv d920718b44 build: Refactor ImHexAPI into multiple separate files 2025-08-14 20:16:40 +02:00
WerWolv 9cff9043ee impr: Remove hex::format, improve format and logging type safety 2025-08-06 20:02:23 +02:00
WerWolv 452e7d7c5f fix: Gist save editors not working correctly in web version 2025-08-03 14:27:57 +02:00
WerWolv ea072296cf feat: Added save editor mode 2025-08-03 13:47:19 +02:00
WerWolv 6fcc3e8cb3 build: Move all demangler uses into the trace library 2025-07-30 20:57:53 +02:00
Nik 2e200a2ab8
git: Properly verify that plugins built from the plugin template can be loaded by ImHex (#2352) 2025-07-24 20:35:02 +02:00
WerWolv 39242097dd fix: --reset-settings not working due to superfluous null bytes in string 2025-05-25 23:23:51 +02:00
WerWolv 6ec8f9efe5 fix: Allow --select subcommand to work with hex numbers 2025-02-16 15:02:29 +01:00
WerWolv e63606f6bb feat: Added separate --version-short command 2025-02-07 15:46:11 +01:00
WerWolv f17d0d3ae1 impr: Added simplified output option for --version 2025-02-06 21:46:27 +01:00
WerWolv aee7a09b6c feat: Added new --select, --pattern and --debug-mode subcommands 2025-01-29 18:32:54 +01:00
WerWolv 19a9786bbf impr: Make ImHex cli work more like other tools 2025-01-28 18:41:29 +01:00
Wolf b646ece14b
impr: Refactor and restructure Event Manager (#2082)
### Problem description
This PR addresses issue #2013 that described a cluttered Event Manager.

This is a DX issue and should not impact the users whatsoever.

### Implementation description
The changes revolve around three main points:

1. the Event Manager (`event_manager.hpp`) was split into four
categories: GUI, Interaction, Lifecycle, and Provider, and two types:
Events, and Requests. This results in the following files:
    - `events_gui.hpp`
    - `events_interaction.hpp`
    - `events_lifecycle.hpp`
    - `events_provider.hpp`
    - `requests_gui.hpp`
    - `requests_interaction.hpp`
    - `requests_lifecycle.hpp`
    - `requests_provider.hpp`

2. Every event and request now has its own piece of documentation, with
a `@brief`, accompanied by a longer comment if needed, and gets its
`@param`s described.

3. The old `event_manager.hpp` import was removed and replaced by the
correct imports wherever needed, as to reduce spread of those files only
to where they are truly useful.

### Additional things
The commits have been split into (chrono-)logical steps:
- `feat`: split the Event Manager, and replace the imports
- `refactor`, `chore`: make various small changes to match the required
structure
- `docs`: add documentation for events and requests

Hopefully, this will help to review the PR.
*Note: Beware of very long rebuild times in between the commits, use
them sparingly! The Actions will ensure this PR builds anyways*

Closes #2013

---------

Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Co-authored-by: Nik <werwolv98@gmail.com>
2025-01-25 15:32:07 +00:00
WerWolv 4a916ebb89 feat: Added New File option to the GNOME launcher and a --new cli option 2025-01-14 17:49:48 +01:00
WerWolv 979f151181 fix: Don't show library plugins in --plugins subcommand 2024-12-27 20:06:17 +01:00
WerWolv 43c88a2fab feat: Added system to handle version migrations 2024-12-26 14:01:46 +01:00
WerWolv 7f75706584 impr: Replace hex::unused with std::ignore 2024-12-14 21:35:54 +01:00
WerWolv 1e18935513 impr: Handle demangling of identifiers without leading underscore 2024-07-11 20:38:22 +02:00
WerWolv 7d42742684 fix: Properly check return value of `std::fgets` 2024-06-26 22:46:01 +02:00
WerWolv 1dfce6a5c2 feat: Added `--reset-settings` command 2024-06-26 19:38:25 +02:00
WerWolv b60a262b58 fix: Replace old defaults path system with a new one
#1767
2024-06-22 10:44:55 +02:00
WerWolv 085737af15 fix: Opening files on network drives (using UNC paths) crashing ImHex on startup 2024-06-18 22:11:26 +02:00
WerWolv cbc31f3c18 feat: Added short forms for commonly used commands 2024-03-14 18:24:31 +01:00
WerWolv 285afb6d4b build: Updated libwolv 2024-03-10 15:58:57 +01:00
WerWolv d4d1acb555 feat: Added `--verbose` command line option to enable debug logs 2024-03-10 15:22:14 +01:00
WerWolv daf4e5cad6 refactor: More cleanup of the main file 2024-02-11 13:46:06 +01:00
WerWolv 7709f4e307 feat: Allow setting language through the command line 2024-02-01 10:58:45 +01:00
WerWolv b605c463a1 impr: Further improve interfacing with external plugins 2024-01-22 23:35:00 +01:00
WerWolv 60e7362f4e feat: Allow extra plugin folders to be specified with the `--plugins` cli option 2024-01-22 12:53:07 +01:00
WerWolv ea7483f9a7 impr: Get rid of the concept of built-in plugins
#1489
2024-01-12 23:03:13 +01:00
WerWolv 74b5c93caf impr: Code style improvements 2023-12-27 16:33:49 +01:00
WerWolv b5df20d7c6 feat: Exposed demangling of symbols to CLI 2023-12-15 08:11:51 +01:00
WerWolv b4813660b5 refactor: Better interface for the event system 2023-12-08 10:29:44 +01:00
WerWolv 3a016da549 impr: Make providers return a 64 bit size on all platforms 2023-12-07 12:06:26 +01:00
WerWolv 2b22a15e8c feat: Added --hexdump subcommand 2023-12-05 16:45:35 +01:00
WerWolv 2cf642a2a4 build: Updated libwolv 2023-12-01 14:07:10 +01:00
WerWolv 14f728ab76 refactor: Give API files more consistent names 2023-11-18 14:50:43 +01:00
Nik f114239f51
feat: Added Auto Updater for Windows, macOS and Ubuntu (#1377) 2023-10-21 18:40:24 +00:00
WerWolv afceb34729 fix: Crash when opening invalid files through the CLI 2023-10-16 10:59:49 +02:00
WerWolv 632f388ece impr: Make --pl subcommand automatically register ImHex's include dirs 2023-09-03 12:25:00 +02:00
WerWolv 79eb53eb0d fix: --pl command line interface not working correctly 2023-08-02 20:30:13 +02:00
WerWolv f6bbfd7283 impr: Properly print new line characters in cli 2023-07-21 15:17:21 +02:00
WerWolv bd8868d2c8 impr: Added better help output for cli 2023-07-21 14:28:15 +02:00
WerWolv b9c2955b88 fix: Use ANSI escape codes for --plugins 2023-07-17 11:59:21 +02:00
WerWolv 6d7f217e2a patterns: Updated pattern language 2023-07-17 11:20:17 +02:00