switch (*tokenizer->curr) {
case '\n':
- if (tokenizer->insert_semicolon && context.options->enable_optional_semicolons) {
+ if (tokenizer->insert_semicolon && tokenizer->optional_semicolons) {
OnyxToken semicolon_token;
semicolon_token.type = Token_Type_Inserted_Semicolon;
semicolon_token.text = "; ";
}
tk.length = tokenizer->curr - tk.text - 2;
+
+ if (bh_arr_length(tokenizer->tokens) == 0 && bh_str_starts_with(tk.text, "+optional_semicolons")) {
+ tokenizer->optional_semicolons = 1;
+ }
+
goto token_parsed;
}
.line_start = fc->data,
.tokens = NULL,
+ .optional_semicolons = context.options->enable_optional_semicolons,
.insert_semicolon = 0,
};