add-new-file
Add or update PerfectHash generated file outputs (file work entries, prepare/save callbacks, CMake/VCXProj registration, and tests) when new output files or artifacts need to be added.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Add New Generated File
Workflow
- Add a new entry to
src/PerfectHash/PerfectHashFileWork.hinVERB_FILE_WORK_TABLEwith the right suffix/extension/EOF init; keep ordering invariants (streams follow owning files, VC project entries stay contiguous, context files stay contiguous). - Implement prepare/save callbacks in
src/PerfectHash/Chm01FileWork*.c. If a stage is intentionally unused, setPrepareXxxChm01orSaveXxxChm01toNULLinsrc/PerfectHash/Chm01FileWork.h. - If a new file extension is needed, add a
UNICODE_STRINGinsrc/PerfectHash/PerfectHashConstants.cand wire it into the file work entry. - Register new sources in
src/PerfectHash/CMakeLists.txt; mirror additions insrc/PerfectHash/PerfectHash.vcxprojandsrc/PerfectHash/PerfectHash.vcxproj.filters. - Update
src/PerfectHash/Chm01FileWork.cpath logic when a file needs custom base names, directories, or stream rules. - Update generators/tests (
src/PerfectHash/Chm01FileWorkCMakeListsTextFile.c,tests/run_cli_codegen_test.cmake, etc.) if the new file needs build/test coverage. - Add or expand tests to write the new files and compile/run them.
File Enum Capacity
- When the 64-bit bitmap for file enums is exhausted, add a new enum group with
_2,_3, etc. suffix and preserve existing ordering rules.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-03-03
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!