Commit Graph

40 Commits

Author SHA1 Message Date
3a8e919ad1 chore: set up library compilation 2026-03-16 18:43:40 +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
d9944e2927 remove unneccessary folders 2025-06-24 18:46:31 +04:00
Abdüssamet ERSOYLU
e02bf8a5b2 Create LICENSE 2025-06-24 18:45:46 +04:00
5ff911f351 first 2025-06-24 18:35:50 +04:00