# Scripts Generation, testing, and cleanup scripts for the test directory are found here along with `natvis` and `natstepfilter` files for debugging. ## Refactoring `refactor.ps1` Provides a way to run the [refactor](github.com/Ed94/refactor) program. It uses the `gencpp.refactor` script to complete a mass refactor of all content within the files of the specified within the script. Currently `refactor` only supports naive sort of *find and replace* feature set and will not be able to rename identifiers excluisvely to a specific context (such as only renaming member names of a specific struct, etc). **Note: The following macros are used with specifiers and token parsing within the library:** * global * internal * local_persist * forceinline * neverinline IF they are changed the following files would need adjustment: * `./project/enums/ESpecifier.csv` * `./project/enums/ETokType.csv` * `./project/helpers/helper.hpp` ## Build & Run Scripts **`clean.ps1`** Remove any generated content from the repository. **`build.ps1`** Build bootstrap, singleheader, or tests. Supports MSVC or clang, release or debug. ``` args: bootstrap singleheader test clang msvc : By default this project builds with clang, specifying msvc will build with MSVC. debug release : By default this project builds in debug mode, specifying release will build with optimizations. ``` **`package_release.ps1`** Will build the project as fast as possible, then package the release into a zip file. *Note: My env is Windows 11 with MSVC 2022 and clang 16.0.6*