Commit Graph

53 Commits

Author SHA1 Message Date
72aff6f4b1 chore: update todo 2026-03-29 04:23:06 +04:00
Abdüssamet ERSOYLU
0b3d75581e Merge pull request #6 from sametersoylu/feat/positionalargs
feat: introduce positional arguments. add tests. fix parsing bugs.
2026-03-29 04:18:00 +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
Abdüssamet ERSOYLU
593b7ed046 Merge pull request #5 from sametersoylu/v3/betterhelp
V3/betterhelp
2026-03-16 21:54:06 +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
Abdüssamet ERSOYLU
675e81e67b Merge pull request #4 from sametersoylu/v3/help
chore: deduplicate builtin help action generation.
2026-03-16 19:39:53 +04:00
2d4dc123ae chore: deduplicate builtin help action generation. 2026-03-16 19:26:44 +04:00
Abdüssamet ERSOYLU
ffe70f4684 Merge pull request #3 from sametersoylu/v3/help
V3/help
2026-03-16 18:47:09 +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
3a8e919ad1 chore: set up library compilation 2026-03-16 18:43:40 +04:00
Abdüssamet ERSOYLU
282c1c6314 Merge pull request #2 from sametersoylu/v3/clearapi
V3/clearapi
2026-03-16 18:10:46 +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
Abdüssamet ERSOYLU
061581c510 Merge pull request #1 from sametersoylu/v2
PoC: better argument building.
2026-01-14 17:08:52 +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
74fd9b8a25 docs: update TODO.md about fixing the display help command. 2025-10-07 02:09:22 +04:00
fea5042af7 feat(convention) add windows style argument conventions. 2025-10-07 02:08:25 +04:00
1a62552ee0 docs: update TODO.md with project structuring notes 2025-10-07 01:38:15 +04:00
ef3ce5ef8c feat(windows_parser) implement windows parser. 2025-10-07 01:32:18 +04:00
6b324f554e refactor(linux_parser) add missing definition guard to prevent cascading. it shouldn't be a problem since there's pragma once, but better safe than sorry. 2025-10-07 01:31:30 +04:00
e699db4fe7 refactor(traits) add missing import so MSVC does not complain. 2025-10-07 01:30:48 +04:00
f4563fd47b refactor(parser): improve code style and modernize macos parser
- Remove unnecessary whitespace in argparse.hpp
- Modernize macos_parser.hpp with if-initializer
- Clean up includes and add [[nodiscard]] attributes
- Add .idea files to gitignore
2025-10-06 16:00:15 +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
5a4ed63463 docs: update TODO.md with implementation notes
Add implementation details for on_parse_done callbacks and positional arguments
2025-10-06 04:15:33 +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
9750152dca docs: add TODO.md for parser callback feature 2025-10-04 01:14:32 +04:00
302558ffc7 refactor(parser): remove macos specific crt_externs header from faker 2025-10-04 01:05:49 +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
Abdüssamet ERSOYLU
ef0a0c06f8 Update argument_parser.hpp 2025-07-02 16:03:16 +04:00