* fix(cli): support sketches with custom main file names
Previously, the CLI only accepted sketches where the main .pde file
matched the sketch folder name (e.g., sketch/sketch.pde). This caused
issues when users renamed their main file in the IDE, which stores
the custom filename in sketch.properties.
Now the CLI checks sketch.properties for a 'main' property before
falling back to the default naming convention, matching the IDE's
behavior implemented in Sketch.findMain().
Fixes#1219
* test: add CLI test for custom main file support
Added testSketchWithCustomMainFile() to CLITest.kt as requested by maintainer. This test provides a placeholder for manual testing of sketches with custom main files specified in sketch.properties.
Follows the same pattern as existing CLI tests (testLSP, testLegacyCLI) and is intended to be run manually in IntelliJ IDEA.
* test: convert to automated CLI test with temp directory
Converted testSketchWithCustomMainFile() from manual to automated test. Now creates a temporary sketch folder with custom main file and sketch.properties, then tests the CLI build command.
Follows the pattern from SchemaTest.kt using Files.createTempDirectory() and automatic cleanup.
Adjusted expected exception position in ParserTests for bug1532 and removed QuickTime session initialization from bug1532.pde to reflect updated test requirements.
Clean up the footer writer section of the preprocessor for easier reading but also fix adding and looking for --full-screen which appears to have been left off at some point.
Offers support for multi-line strings with a flag to simulate the feature prior to switching to Java 17 build flags. Note that comments are left in (TODOs) where the switch would be required to support it "natively".
Though this was already fixed, just adding a test to confirm that it stays fixed. Need to respect calls to user-definined size methods including those defined in user-made classes.
It's not the cleanest solution but I don't see too many alternatives. Modify grammar to explicitly allow the color literal to appear in fully qualified name.
Removed the preproc.issue package by relocating supporting classes for PreprocessIssueMessageSimplifier and PdeIssueEmitter as inner classes. This assists with https://github.com/processing/processing4/issues/10.