Skip to content

Commit 1fa15fe

Browse files
committed
refactor(c-api): use File_Language instead of Linter_Options for QLJS_Web_Demo_Document
QLJS_Web_Demo_Document keeps track of a Linter_Options object. This will be problematic when we allow some linter options to be overwritten by a user quick-lint-js.config file. Refactor QLJS_Web_Demo_Document to work with File_Language instead. Only create a Linter_Options object at the last minute.
1 parent d8b4dd2 commit 1fa15fe

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/quick-lint-js/c-api.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ struct QLJS_Web_Demo_Document final {
2626
C_API_Diag_Reporter<QLJS_Web_Demo_Diagnostic, Web_Demo_Locator>
2727
diag_reporter_;
2828
Configuration config_;
29-
Linter_Options linter_options_;
29+
File_Language language_;
3030
bool is_config_json_ = false;
3131
QLJS_Web_Demo_Document* config_document_ = nullptr;
3232
bool need_update_config_ = true;
@@ -56,16 +56,16 @@ void qljs_web_demo_set_language_options(QLJS_Web_Demo_Document* p,
5656
switch (options & (qljs_language_options_jsx_bit |
5757
qljs_language_options_typescript_bit)) {
5858
case 0:
59-
p->linter_options_.language = File_Language::javascript;
59+
p->language_ = File_Language::javascript;
6060
break;
6161
case qljs_language_options_jsx_bit:
62-
p->linter_options_.language = File_Language::javascript_jsx;
62+
p->language_ = File_Language::javascript_jsx;
6363
break;
6464
case qljs_language_options_typescript_bit:
65-
p->linter_options_.language = File_Language::typescript;
65+
p->language_ = File_Language::typescript;
6666
break;
6767
case qljs_language_options_jsx_bit | qljs_language_options_typescript_bit:
68-
p->linter_options_.language = File_Language::typescript_jsx;
68+
p->language_ = File_Language::typescript_jsx;
6969
break;
7070
default:
7171
QLJS_UNREACHABLE();
@@ -99,7 +99,7 @@ const QLJS_Web_Demo_Diagnostic* qljs_web_demo_lint(QLJS_Web_Demo_Document* p) {
9999
p->diag_reporter_.report(diags);
100100
} else {
101101
parse_and_lint(&p->text_, p->diag_reporter_, p->config_.globals(),
102-
p->linter_options_);
102+
Linter_Options{.language = p->language_});
103103
}
104104
return p->diag_reporter_.get_diagnostics();
105105
}

0 commit comments

Comments
 (0)