Modified a few things:

- Finished implementing relative date parsing and migrated date parsing
  from Flag(T) to it's own dedicated module. Additionally added a
  the ability to do "recursive" relative operations for time searching.
- Additionally made a Struct & Enum for containing relative operations
  around dates.
- Added additional checks in App & CommandNode(T) around checking
  env_vars of flags & checking for duplicate commands
- Added a CommandMeta record to contain the classname of the
  CommandNode(T)
- Seperated out all of the monolitic files (command_node.cr & file.cr).
  Moved the base classes and records into their own files in the dir
  with the same name of their generic counterparts.
- Fixed a number of macro related bugs around Command.argument &
  CliGen.add_global_flag
- My ass hurts from sitting here for hours and doing these changes and
  arguing with claude over what needs to be done. Fun tho.
This commit is contained in:
2026-08-30 22:13:39 -05:00
parent f2d5c84f2b
commit 4cce5cc45c
42 changed files with 1576 additions and 988 deletions
+7 -1
View File
@@ -6,10 +6,16 @@
!src/**
!shard.yml
!README.md
!design.adoc
!DESIGN.md
!docs/
!docs/**
!Makefile
!LICENSE
!NOTICE
!spec/
!spec/**
!utils/
!utils/**
# ...but not the binary utils/flag_matrix.sh builds (later rules win).
utils/flag_matrix