aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/config.odin1
-rw-r--r--src/server/documents.odin2
-rw-r--r--src/server/requests.odin2
-rw-r--r--src/server/types.odin1
4 files changed, 5 insertions, 1 deletions
diff --git a/src/common/config.odin b/src/common/config.odin
index 397545a..9c8e678 100644
--- a/src/common/config.odin
+++ b/src/common/config.odin
@@ -19,6 +19,7 @@ Config :: struct {
enable_rename: bool,
enable_std_references: bool,
enable_import_fixer: bool,
+ disable_parser_errors: bool,
thread_count: int,
file_log: bool,
odin_command: string,
diff --git a/src/server/documents.odin b/src/server/documents.odin
index 5adfdfb..7f99e52 100644
--- a/src/server/documents.odin
+++ b/src/server/documents.odin
@@ -331,7 +331,7 @@ document_refresh :: proc(
return .ParseError
}
- if writer != nil && len(errors) > 0 {
+ if writer != nil && len(errors) > 0 && !config.disable_parser_errors {
document.diagnosed_errors = true
params := NotificationPublishDiagnosticsParams {
diff --git a/src/server/requests.odin b/src/server/requests.odin
index 586a2a1..96df6e3 100644
--- a/src/server/requests.odin
+++ b/src/server/requests.odin
@@ -429,6 +429,8 @@ request_initialize :: proc(
if unmarshal(value, ols_config, context.temp_allocator) ==
nil {
+ config.disable_parser_errors =
+ ols_config.disable_parser_errors
config.thread_count = ols_config.thread_pool_count
config.enable_document_symbols =
ols_config.enable_document_symbols.(bool) or_else true
diff --git a/src/server/types.odin b/src/server/types.odin
index 7e034bc..cbb168f 100644
--- a/src/server/types.odin
+++ b/src/server/types.odin
@@ -327,6 +327,7 @@ OlsConfig :: struct {
enable_snippets: bool,
enable_inlay_hints: bool,
enable_references: bool,
+ disable_parser_errors: bool,
verbose: bool,
file_log: bool,
odin_command: string,