diff options
| author | Daniel Gavin <danielgavin5@hotmail.com> | 2021-12-01 19:18:07 +0100 |
|---|---|---|
| committer | Daniel Gavin <danielgavin5@hotmail.com> | 2021-12-01 19:18:07 +0100 |
| commit | 79b14739db2f0c05ba6294d57136f8362740e5be (patch) | |
| tree | ef8814381a8caa719c91ff997b94fd4194c256ae /src | |
| parent | 13993d10e9a6cba6af1b353c67a1bc6431f2abf6 (diff) | |
Support environment variable to specify core path.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/requests.odin | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/requests.odin b/src/server/requests.odin index 0424423..8a93856 100644 --- a/src/server/requests.odin +++ b/src/server/requests.odin @@ -451,11 +451,23 @@ request_initialize :: proc (task: ^common.Task) { project_uri = initialize_params.rootUri; } + //default config + config.enable_hover = true; + config.enable_format = true; + config.enable_document_symbols = true; + if uri, ok := common.parse_uri(project_uri, context.temp_allocator); ok { ols_config_path := path.join(elems = {uri.path, "ols.json"}, allocator = context.temp_allocator); read_ols_config(ols_config_path, config, uri); } + odin_core_env := os.get_env("ODIN_CORE_PATH", context.temp_allocator); + + if "core" not_in config.collections && odin_core_env != "" { + forward_path, _ := filepath.to_slash(odin_core_env, context.temp_allocator); + config.collections["core"] = strings.clone(forward_path); + } + common.pool_init(&pool, config.thread_count); common.pool_start(&pool); |