aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2022-01-17 12:57:36 +0100
committerDaniel Gavin <danielgavin5@hotmail.com>2022-01-17 12:57:36 +0100
commit189998bc09a28a4387af12e451dcac6fbc656d62 (patch)
tree4c0907535e506856b8f5f409aacd3d23514a786f
parent2bb0365583b0632c80dd1d8f9a6adecec2208129 (diff)
Add checker arg config
-rw-r--r--src/common/config.odin1
-rw-r--r--src/server/check.odin2
-rw-r--r--src/server/requests.odin1
-rw-r--r--src/server/types.odin1
4 files changed, 4 insertions, 1 deletions
diff --git a/src/common/config.odin b/src/common/config.odin
index e3da120..c7bf2da 100644
--- a/src/common/config.odin
+++ b/src/common/config.odin
@@ -19,6 +19,7 @@ Config :: struct {
file_log: bool,
formatter: Format_Config,
odin_command: string,
+ checker_args: string,
}
Format_Config :: struct {
diff --git a/src/server/check.odin b/src/server/check.odin
index 574227e..79fca7d 100644
--- a/src/server/check.odin
+++ b/src/server/check.odin
@@ -49,7 +49,7 @@ when ODIN_OS == "windows" {
command = "odin";
}
- if code, ok, buffer = common.run_executable(fmt.tprintf("%v check %s %s -no-entry-point", command, path.dir(uri.path, context.temp_allocator), strings.to_string(collection_builder)), &data); !ok {
+ if code, ok, buffer = common.run_executable(fmt.tprintf("%v check %s %s -no-entry-point %s", command, path.dir(uri.path, context.temp_allocator), strings.to_string(collection_builder), config.checker_args), &data); !ok {
log.errorf("Odin check failed with code %v for file %v", code, uri.path);
return;
}
diff --git a/src/server/requests.odin b/src/server/requests.odin
index 1dd6b80..ac325d9 100644
--- a/src/server/requests.odin
+++ b/src/server/requests.odin
@@ -419,6 +419,7 @@ request_initialize :: proc (task: ^common.Task) {
config.file_log = ols_config.file_log;
config.formatter = ols_config.formatter;
config.odin_command = strings.clone(ols_config.odin_command, context.allocator);
+ config.checker_args = ols_config.checker_args;
for p in ols_config.collections {
diff --git a/src/server/types.odin b/src/server/types.odin
index d169f57..6663bea 100644
--- a/src/server/types.odin
+++ b/src/server/types.odin
@@ -300,6 +300,7 @@ OlsConfig :: struct {
file_log: bool,
formatter: common.Format_Config,
odin_command: string,
+ checker_args: string,
}
OlsConfigCollection :: struct {