fix: resolve #761 — Compiling a ST program ending in a comment fails#816
Conversation
…comment fails Fixes Autonomy-Logic#761 Signed-off-by: Ân Đoàn <33853760+andoan16@users.noreply.github.com>
…comment fails Fixes Autonomy-Logic#761 Signed-off-by: Ân Đoàn <33853760+andoan16@users.noreply.github.com>
|
Warning Review limit reached
More reviews will be available in 14 minutes and 53 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
fix: resolve #761 — Compiling a ST program ending in a comment fails
Problem
Severity:
High| File:configs/ports/compiler-port.tsThe OpenPLC compiler fails when ST programs end directly with comments without trailing newlines. This fix ensures that before compilation, any ST program content is checked and a newline is appended if missing. This prevents the compilation error while maintaining the original file formatting for editing.
Solution
Add a preprocessing step in the compiler port that checks if ST files end with a newline character, and if not, appends one before passing the content to the compiler. This should be done in-memory without modifying the original source files, or alternatively, ensure the saved files always end with newlines.
Changes
configs/ports/compiler-port.ts(new)docs/ports/compiler-port.ts(modified)Testing