Search

PythonReactSEOPDF
GitHub Skill

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.

tpn☆ 86 Repository stars15 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Add New Generated File

Workflow

  • Add a new entry to src/PerfectHash/PerfectHashFileWork.h in VERB_FILE_WORK_TABLE with 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, set PrepareXxxChm01 or SaveXxxChm01 to NULL in src/PerfectHash/Chm01FileWork.h.
  • If a new file extension is needed, add a UNICODE_STRING in src/PerfectHash/PerfectHashConstants.c and wire it into the file work entry.
  • Register new sources in src/PerfectHash/CMakeLists.txt; mirror additions in src/PerfectHash/PerfectHash.vcxproj and src/PerfectHash/PerfectHash.vcxproj.filters.
  • Update src/PerfectHash/Chm01FileWork.c path 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)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!