aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2021-12-26 21:01:44 +0100
committerDaniel Gavin <danielgavin5@hotmail.com>2021-12-26 21:01:44 +0100
commitc2ae4fa39744087ca34f6201dcf0e5707eb2758d (patch)
treed7766740c4c6387f92f00f23eb93216dd8edbe56
parentcc0415c049f9bff9a13acc67256552a782f3fd7a (diff)
Add odin_command config
-rw-r--r--src/common/config.odin1
-rw-r--r--src/server/check.odin12
-rw-r--r--src/server/requests.odin1
-rw-r--r--src/server/types.odin1
4 files changed, 12 insertions, 3 deletions
diff --git a/src/common/config.odin b/src/common/config.odin
index e80d752..e3da120 100644
--- a/src/common/config.odin
+++ b/src/common/config.odin
@@ -18,6 +18,7 @@ Config :: struct {
thread_count: int,
file_log: bool,
formatter: Format_Config,
+ odin_command: string,
}
Format_Config :: struct {
diff --git a/src/server/check.odin b/src/server/check.odin
index 5ff91d8..f38307c 100644
--- a/src/server/check.odin
+++ b/src/server/check.odin
@@ -36,7 +36,15 @@ when ODIN_OS == "windows" {
strings.write_string(&collection_builder, fmt.aprintf("-collection:%v=%v ", k, v));
}
- if code, ok, buffer = common.run_executable(fmt.tprintf("odin check %s %s -no-entry-point", path.dir(uri.path, context.temp_allocator), strings.to_string(collection_builder)), &data); !ok {
+ command: string;
+
+ if common.config.odin_command != "" {
+ command = common.config.odin_command;
+ } else {
+ command = "aodin";
+ }
+
+ if code, ok, buffer = common.run_executable(fmt.tprintf("%v check %s %s -no-entry-point", path.dir(uri.path, context.temp_allocator), strings.to_string(collection_builder)), &data); !ok {
log.errorf("Odin check failed with code %v for file %v", code, uri.path);
return;
}
@@ -211,8 +219,6 @@ when ODIN_OS == "windows" {
send_notification(notifaction, writer);
}
}
-
-
}
} else {
check :: proc(uri: common.Uri, writer: ^Writer) {
diff --git a/src/server/requests.odin b/src/server/requests.odin
index 85dc44b..e67f7b4 100644
--- a/src/server/requests.odin
+++ b/src/server/requests.odin
@@ -418,6 +418,7 @@ request_initialize :: proc (task: ^common.Task) {
config.verbose = ols_config.verbose;
config.file_log = ols_config.file_log;
config.formatter = ols_config.formatter;
+ config.odin_command = ols_config.odin_command;
for p in ols_config.collections {
diff --git a/src/server/types.odin b/src/server/types.odin
index 9f3c866..d169f57 100644
--- a/src/server/types.odin
+++ b/src/server/types.odin
@@ -299,6 +299,7 @@ OlsConfig :: struct {
verbose: bool,
file_log: bool,
formatter: common.Format_Config,
+ odin_command: string,
}
OlsConfigCollection :: struct {