Commit Graph
100 Commits
Author SHA1 Message Date
yyc12345 c708e1e672 doc: write doc for parse&stringify and windows import guard 2025-12-30 16:15:34 +08:00
yyc12345 e929ba3776 doc: write document 2025-12-28 16:54:22 +08:00
yyc12345 6dbd031e00 doc: finish string reinterpret doc 2025-12-25 15:43:43 +08:00
yyc12345 337734d340 refactor: refactor doc layout 2025-12-25 15:13:02 +08:00
yyc12345 45f32297da chore: fix workflow execution permission issue
- fix github workflow exec permission issue
- fix termcolor enum class issue on Linux
- fix compiler macro on macos
2025-12-24 19:52:36 +08:00
yyc12345 47bb60f0e4 doc: write doxygen doc for library macros 2025-12-24 13:04:26 +08:00
yyc12345 408ea5ef33 doc: add doxygen comment for code 2025-12-23 21:21:34 +08:00
yyc12345 cc5e6239ba doc: add doc for code, mainly for clap 2025-12-23 13:59:14 +08:00
yyc12345 a077604c7d chore: add github action workflows 2025-12-23 13:11:37 +08:00
yyc12345 7a2edb92b3 doc: finish COMPILE.md 2025-12-23 10:59:35 +08:00
yyc12345 9ce1608be0 fix: fix clang compile error
- fix the include of stacktrace error.
- fix env include issues.
- fix wrong include for libcxx enumerate patch.
- fix libcxx enumerate patch build issue.
- re-add default move and copy ctor for tabulate class.
- remove const decorator for clap manual member to resolve default ctor error.
2025-12-20 23:12:15 +08:00
yyc12345 b8f794a879 feat: add polyfill for llvm libcxx to make it possible to compile 2025-12-20 22:21:57 +08:00
yyc12345 622d3e0eb1 refactor: we decide to remove the entire brigadier module 2025-12-20 21:57:48 +08:00
yyc12345 bac1600558 feat: write some brigadier code 2025-12-20 21:54:09 +08:00
yyc12345 96e5172d7a feat: prepare the refactor for brigadier 2025-12-19 14:26:35 +08:00
yyc12345 5993ae59c0 feat: add strict_* family for safe numeric op.
- add strict_* function family for same numeric operation. this function family recently become stable in Rust.
- add corresponding test.
2025-12-19 09:44:22 +08:00
yyc12345 fece224ec5 fix: fix gcc compile issue 2025-12-16 22:04:01 +08:00
yyc12345 e864b0115e feat: swap the default value with min/max value in binstore serde.
considering setting default value is common that min/max value,
move default value template argument ahead of min/max template argument,
because C++ can not skip template argument like Rust `_` does.
2025-12-16 21:26:49 +08:00
yyc12345 8a604ee813 refactor: rename flag_enum to cenum.
- rename flag_enum to cenum because it not only provide functions related to flag enum, but also make C++ enum used like C enum.
2025-12-16 21:22:15 +08:00
yyc12345 b3ace3d820 refactor: remove legacy code.
- all 1.x legacy code were removed because all features has been migrated.
2025-12-16 20:37:12 +08:00
yyc12345 75442061e9 refactor: remove constraint
- remove constraint because we no longer require them. constraints are put into seperate modules.
2025-12-16 20:35:32 +08:00
yyc12345 194f055039 fix: fix binstore bugs according to test 2025-12-16 14:37:46 +08:00
yyc12345 fcd0b3364f test: add test for carton binstore
- rename serialize namespace to serdes.
- fix some compile issue.
- add test for carton binstore
2025-12-16 14:32:02 +08:00
yyc12345 8a7387c7ff test: finish lexer61 test and fix its issue. 2025-12-15 13:47:07 +08:00
yyc12345 23c2378ebc feat: add 61 lexer 2025-12-14 23:24:59 +08:00
yyc12345 9369728759 feat: finish binstore storage 2025-12-12 23:23:02 +08:00
yyc12345 6c9e23f628 feat: finish storage helper functions.
- finish IO read and write function for binstore storage.
- refactor binstore ByteArray.
2025-12-12 22:23:56 +08:00
yyc12345 f49d974a46 feat: finish binstore setting get/set/reset 2025-12-12 20:25:06 +08:00
yyc12345 6c2dba74d1 fix: add test for new added env function and fix their bugs 2025-12-12 14:57:08 +08:00
yyc12345 19086f44e2 refactor: add result wrapper for env vars and args 2025-12-12 13:45:13 +08:00
yyc12345 8cd125a4b9 feat: finish env remains functions 2025-12-12 13:23:08 +08:00
yyc12345 5ff8f2d8cc refactor: remove old test code 2025-12-11 21:05:30 +08:00
yyc12345 772bfbeb15 test: add resolver test for clap 2025-12-11 20:16:36 +08:00
yyc12345 6b29b7f715 fix: fix clap and its test.
- fix clap test compile and running issue.
- fix unexpected output in console for clap manual.
- remove duplicated program name in clap manual.
- fix there is no default ctor for clap validator.
- fix fatal scoped pointer return in clap parser and resolver.
2025-12-11 19:57:48 +08:00
yyc12345 6a97b13f66 test: basically finish clap test.
- basically finish clap test (except variable part)
- fix some clap issue (still have some bugs)
2025-12-11 15:21:59 +08:00
yyc12345 79e8af89fe feat: finish binstore configuration and partial storage 2025-12-10 22:17:38 +08:00
yyc12345 d64c6669b4 feat: finish binstore setting 2025-12-10 20:13:53 +08:00
yyc12345 f078dd4399 feat: add comprehensive header for clap 2025-12-10 19:58:52 +08:00
yyc12345 e4387439ee feat: add all binstore headers and sources file 2025-12-10 19:55:13 +08:00
yyc12345 a6668dff04 feat: add SerDes concept for binstore 2025-12-10 17:02:52 +08:00
yyc12345 e8241e21b9 fix: update clap validator concept and used functions 2025-12-10 10:17:36 +08:00
yyc12345 45cbdc1a2a fix: fix gcc build issue 2025-12-09 23:14:49 +08:00
yyc12345 c6d080ad82 fix: fix clap parser resolver build issue 2025-12-09 23:11:06 +08:00
yyc12345 a1d19cf09c feat: finish clap parser and resolver 2025-12-09 22:55:21 +08:00
yyc12345 d6662dbb53 feat: basically finish clap parser
- basically finish clap parser except ctor.
- add skeleton for clap resolver.
2025-12-09 20:52:41 +08:00
yyc12345 eb9e576d33 feat: finish clap parser basic layout 2025-12-08 15:16:28 +08:00
yyc12345 8b7ab2c870 feat: add lost functions for env namespace.
- add some lost functions for env namespace according to Rust std library. hiwever some functions are not implemented.
- change some function's signatures located in env namespace.
- reduce some useless error kine in env namespace.
2025-12-07 21:47:54 +08:00
yyc12345 f76eabee7a feat: add validator concept for clap 2025-12-06 21:29:51 +08:00
yyc12345 ab8489c377 doc: add doc for moved files 2025-10-07 18:49:02 +08:00
yyc12345 c48e79753d refactor: cancel the namespace Rust.
- all sub-functions are put into respective position.
2025-10-07 18:15:17 +08:00
yyc12345 eda801d3c7 refactor: move env outside from rust namespace 2025-10-07 18:03:40 +08:00
yyc12345 64045b1d48 doc: update license date 2025-10-03 22:52:31 +08:00
yyc12345 8e0865384d fix: do misc work
- add macos compile note in compile manual.
- add DoNotOptimize in benchmark.
2025-10-03 22:47:30 +08:00
yyc12345 c6c450f6fa feat: move my homemade fft module into this project.
- move homemade fft module into this project.
- also migrate test and benchmark.
2025-10-03 21:01:37 +08:00
yyc12345 3dd0c85995 feat: finish clap manual namespace 2025-10-02 18:19:11 +08:00
yyc12345 5859264eca feat: add current_exe in rust env 2025-10-02 18:06:24 +08:00
yyc12345 d69563b5df feat: finish clap manual table filler
- finish clap manual table fill functions.
- fix iterator object for the requirements of std::ranges::end().
2025-10-02 16:57:15 +08:00
yyc12345 446f880df4 feat: add trim in string op opposited with strip 2025-10-01 20:53:43 +08:00
yyc12345 05a80268ab chore: update build manual and script. 2025-09-29 22:43:28 +08:00
yyc12345 19d0a5bb4d feat: add benchmark for string strip 2025-09-29 21:20:44 +08:00
yyc12345 e7a05b3488 refactor: rename testbench to test.
- rename testbench to test.
- add benchmark for future development.
2025-09-29 13:34:02 +08:00
yyc12345 82c3ed5b32 fix: fix compile error in gcc.
- remove __attribute__(format) checker for UTF8 char type printf becuase it forcely require the type of format string is const char*, rather than const char8_t*, and I can not use any switches to remove this.
- delete useless macro and header in clap manual.
2025-09-28 22:38:09 +08:00
yyc12345 d6be8a11ac fix: use more clear format spec in format test.
- this is designed to avoid different behavior between msvc and gcc.
	- gcc output char in default.
	- msvc output it as integer in default.
2025-09-28 22:31:08 +08:00
yyc12345 31c624797f revert: revert the delete of std::stacktrace in rust panic.
- i revert previous changes because currently code have not been compiled in clang.
2025-09-28 22:02:54 +08:00
yyc12345 6ecf6935d8 fix: use new format to replace all printf as much as possible.
- ironpad is a very conservative module so I don't want to bring any changes for it except bug fix.
2025-09-28 21:57:18 +08:00
yyc12345 d6b1d7fd46 fix: redirect all std::format to my personal format 2025-09-28 21:44:44 +08:00
yyc12345 8d7eff2a15 fix: fix all old usage of UTF8 in std::ostream.
- use patch stream instead of all old use of UTF8 in std::ostream (reinterpret way).
2025-09-28 21:37:05 +08:00
yyc12345 bd5032cee7 feat: change join data provider.
- use Rust iterator style for join data provider for better understanding.
2025-09-28 17:01:48 +08:00
yyc12345 cc1ce5bb04 feat: finish string strip (maybe)
- add Trie Tree for string strip op.
- finish string strip but it may still buggy (though i have tested it)
2025-09-28 16:41:40 +08:00
yyc12345 190beeed58 feat: add code point splittor for utf8 string.
- this feature is added for strip function in string op.
2025-09-26 21:43:12 +08:00
yyc12345 99146ddd55 feat: add lazy split in string op namespace. 2025-09-26 14:43:13 +08:00
yyc12345 ce3d5b9556 feat: finish basic of manual in clap 2025-09-25 15:52:28 +08:00
yyc12345 c8d763bdcf feat: add utf8 format
- move utf8 stream and format patch from string to patch namespace.
- add ordinay format alias and utf8 format in our format patch.
- add char8_t and char inter-cast in string reinterpret namespace.
- fix bug of utf8 formatter.
- add test for utf8 format.
2025-09-25 15:29:55 +08:00
yyc12345 a61955bb09 feat: finish summary and application for clap.
- finish summary and application for clap.
- add patch for utf8 string in std::format.
2025-09-24 16:20:21 +08:00
yyc12345 776adb0c96 feat: finish option and variable in clap 2025-09-23 16:13:52 +08:00
yyc12345 c85830902b fix: change the behavior of printf in string op.
- add compiler hint for checking the arguments of printf.
- change the return value of printf. from std::expected to normal value. use C++ exception to indicate error.
	* the error of printf usually caused by programmer. so it can be found when testing program.
	* so i use std::logic_error to indicate this and programmer should fix this before releasing program.
- change the use of encoding convertion. for those cases that convertion must be safe, we unwrap it directly.
2025-09-22 22:21:25 +08:00
yyc12345 45e4031b5c refactor: finish ironpad migration
- finish ironpad migration but no test because it is not easy to test.
2025-09-18 16:04:41 +08:00
yyc12345 ccd0219ead refactor: migrate console helper.
- migrate csharp style console helper.
- i just do a simple migration and mark it as deprecated. it should works like 1.x version.
2025-08-22 23:28:17 +08:00
yyc12345 4bfba6f243 feat: add windows-spec console patch 2025-08-22 21:51:32 +08:00
yyc12345 9e994dd4f0 refactor: bring utf8 patch for std::ostream back. 2025-08-22 21:28:29 +08:00
yyc12345 d6034f8cb0 fix: fix minor issue of testbench
- fix testbench minor issue.
- delete migrated source code files.
2025-08-22 21:09:57 +08:00
yyc12345 0694d923f3 test: finish testbench for tabulate 2025-08-21 14:32:51 +08:00
yyc12345 580b096cb3 fix: fix bug for windows dialog 2025-08-21 11:00:33 +08:00
yyc12345 f9365481b9 fix: fix all build issue of dialog namespace but not test. 2025-08-21 10:26:28 +08:00
yyc12345 15aade052f refactor: expand ugly statement from while statement header to body. 2025-08-20 19:32:44 +08:00
yyc12345 050bed400d doc: update doc 2025-08-20 14:29:41 +08:00
yyc12345 244e39c4d1 revert: remove stacktrace feature for rust panic.
- remove stacktrace feature for rust panic function due to not all STL are ready for this.
- add more os type in CMake file.
- add lost header in fopen.
2025-08-19 21:47:21 +08:00
yyc12345 d52630ac5c feat: add tabulate but no test. 2025-08-19 20:53:51 +08:00
yyc12345 a76f10722d fix: fix todos waiting termcolor. 2025-08-19 13:58:05 +08:00
yyc12345 8a72e6a655 feat: add termcolor in carton.
- add termcolor and its testbench
- add integer() in flag_enum and update its testbench according to the requirements in termcolor.
2025-08-19 13:50:51 +08:00
yyc12345 dfc0c127c5 test: add testbench for macro namespace 2025-08-15 16:55:39 +08:00
yyc12345 2f11ba6023 feat: add new package wcwidth
- add wcwidth in carton.
- order clang-format do not format some generated content.
2025-08-15 16:42:28 +08:00
yyc12345 00c8f09907 doc: start to refactor doc 2025-08-14 21:33:17 +08:00
yyc12345 734cd01da8 feat: add Rust env namespace 2025-08-14 20:17:02 +08:00
yyc12345 bdeaea294f refactor: migrate windows specific content.
- move com, dialog and winfct function into new place.
- add testbench for com and winfct.
- dialog now still not working.
2025-08-13 15:29:47 +08:00
yyc12345 ff8c7d04cc fix: fix utf convertion issue under MSVC 2025-08-13 10:49:35 +08:00
yyc12345 0ab470367c fix: fix safe num overflow ops issue under MSVC 2025-08-13 09:51:40 +08:00
yyc12345 c4d441f5fa fix: fix pycodec MSVC error 2025-08-13 09:36:21 +08:00
yyc12345 f8a696b4e8 fix: fix MSVC __VA_OPT__ error 2025-08-13 09:24:19 +08:00
yyc12345 f65eff6edf fix: replace find with contains in constraint builder
- remove useless old files.
2025-08-13 08:56:09 +08:00