Commit Graph

35 Commits

Author SHA1 Message Date
fc847c4cd1 fix: use correct ref to parsed args on linux 2026-04-20 21:25:36 +04:00
2d018e94d5 Add should_exit support for v2 parsers
- Add should_exit support to v2 platform parsers
- Introduce macros.h and integrate trait hints
- Wire CMake packaging with config, version, and install dirs
- Update parser traits to include validation hooks and fixes
2026-04-20 18:43:44 +04:00
53387abe95 feat: introduce positional arguments. add tests. fix parsing bugs. 2026-03-29 04:15:36 +04:00
9d108df846 chore: improve error generation. exit on missing required arg. remove redundant fake_parser. 2026-03-16 22:37:59 +04:00
8e502bcb8b feat: improve the readability of the generated help text. add type hints for the generation of the help text when description is not given for the variable. use sfinae for the check so that it compiles if not given. 2026-03-16 21:50:05 +04:00
d5b99ef407 feat: improve help text for better readability, less duplication on the conventions, better syntax information. 2026-03-16 20:53:00 +04:00
2d4dc123ae chore: deduplicate builtin help action generation. 2026-03-16 19:26:44 +04:00
ddb2d0bf10 feat: add help command to linux and macos parsers. 2026-03-16 18:46:47 +04:00
a8b7078949 feat: introduce help. auto add help through parser generation like another action. 2026-03-16 18:45:16 +04:00
a12840b241 fix: null terminator 2026-03-16 18:04:40 +04:00
d8a515ea37 chore: remove v1 examples 2026-03-16 17:53:31 +04:00
fed2eb998c chore: add v2 version of the linux parser 2026-03-16 17:52:54 +04:00
a1ada5a792 fix: overwrite on null terminator 2026-03-16 17:43:20 +04:00
182974d61a fix: windows parsing 2026-03-16 17:41:45 +04:00
8befc60016 chore: introduce Windows-specific argument parsing to v2 namespace. 2026-03-16 16:50:42 +04:00
3552d34dac chore: add missing definitions to the files. remove static qualifier from the headers. add help text to the actions. 2026-03-15 23:55:06 +04:00
9e646622db chore: dedup the add_argument implementation. also remove the cpp 20/23 features from parser v2 2026-03-15 23:43:33 +04:00
6ac10dda33 chore: clean up c++20/23 features to move to 17. 2026-03-15 23:38:08 +04:00
609a730e8f chore: separate definition from decleration for the fake_parser where possible. 2026-03-15 23:35:21 +04:00
c7304aa36e chore: separate definitions from declarations for argument parser where possible. 2026-03-15 23:32:18 +04:00
7e2c09cbf9 feat: Introduce core argument parsing framework with platform-specific parsers, conventions, and type-based value parsing. 2026-03-15 23:05:13 +04:00
a1dc3c0149 feat: Introduce a modular argument convention system for GNU and Windows styles, add .clang-format, and update CMake configuration to C++17. 2026-03-15 22:55:23 +04:00
516c6fa732 PoC: better argument building.
Add a few more ideas to todo.
2025-10-26 08:21:34 +04:00
44bc63d17d update(conventions): extend windows conventions to show more capability. 2025-10-07 02:30:31 +04:00
fea5042af7 feat(convention) add windows style argument conventions. 2025-10-07 02:08:25 +04:00
cad569de25 feat(parser): implement on-complete callback functionality
Add on_complete event handler to trigger actions after argument parsing completes
Move grep logic to separate function and register it as a completion callback
Update argument getters and help text generation to be const methods
2025-10-06 11:17:14 +04:00
5f65eca713 feat(argument_parser): add vector parsing support for int and string types
Implement parser traits for vector<int> and vector<string> to handle comma-separated values
Add corresponding argument handling in main to demonstrate usage
2025-10-06 04:52:20 +04:00
77638ce554 refactor(argument_parser): simplify grep implementation and use regex
Replace shared_ptr state management with direct function call
Add regex support for pattern matching
Remove unused test_store argument
2025-10-06 04:46:29 +04:00
43a38c2794 feat: add point argument handling to parser
Add support for handling Point type arguments in the argument parser. The change includes adding a new point argument and corresponding output handling in main.
2025-10-06 04:12:35 +04:00
d30105abe1 refactor(argument_parser): improve argument handling and cleanup code
- Add new template method for argument addition with type
- Handle optional values more safely in get_optional
- Remove commented test code from main.cpp
2025-10-06 04:09:15 +04:00
8437a00c6b feat(parser): add argument value storage and retrieval
- Implement stored_arguments map to store argument values
- Add get_optional method to retrieve stored values
- Add helper methods for creating parametered and non-parametered actions
- Refactor argument adding logic into smaller methods
- Update main.cpp to demonstrate new storage functionality
2025-10-06 04:06:16 +04:00
6c3adc3dda refactor(parser): replace variant-based actions with polymorphic interface
Simplify action handling by introducing a polymorphic base class for actions
Remove std::variant usage and improve type safety with proper cloning
Clean up unused includes and test code in main.cpp
2025-10-04 00:33:27 +04:00
179f5e5d1b better type safety for action types. 2025-10-04 00:12:23 +04:00
ebbf3983de feat(parser): add platform-specific parsers and argument conventions
Implement platform-specific parsers for Windows, Linux, and macOS
Add GNU argument convention implementations
Create fake parser for testing purposes
Update CMakeLists to include new headers
2025-10-03 23:56:54 +04:00
5ff911f351 first 2025-06-24 18:35:50 +04:00