diff options
| author | gingerBill <bill@gingerbill.org> | 2024-04-15 12:43:27 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2024-04-15 12:43:27 +0100 |
| commit | 7e582dd671addfd2119b0a9016635cdaddc6b22f (patch) | |
| tree | 7f33d74fdaba415ec1e6820292d614b8ab74a290 /src/parser.cpp | |
| parent | 758ace844c6c39acb32adaead87c56caf337de82 (diff) | |
Add basic suggestion to missing `package` name
Diffstat (limited to 'src/parser.cpp')
| -rw-r--r-- | src/parser.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index 01a3069ff..f4d3dc48d 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -6114,7 +6114,13 @@ gb_internal bool parse_file(Parser *p, AstFile *f) { CommentGroup *docs = f->lead_comment; if (f->curr_token.kind != Token_package) { + ERROR_BLOCK(); syntax_error(f->curr_token, "Expected a package declaration at the beginning of the file"); + // IMPORTANT NOTE(bill): this is technically a race condition with the suggestion, but it's ony a suggession + // so in practice is should be "fine" + if (f->pkg && f->pkg->name != "") { + error_line("\tSuggestion: Add 'package %.*s' to the top of the file\n", LIT(f->pkg->name)); + } return false; } |