diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/check.odin | 12 | ||||
| -rw-r--r-- | src/server/requests.odin | 1 | ||||
| -rw-r--r-- | src/server/types.odin | 1 |
3 files changed, 11 insertions, 3 deletions
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 { |