aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2021-12-01 19:18:07 +0100
committerDaniel Gavin <danielgavin5@hotmail.com>2021-12-01 19:18:07 +0100
commit79b14739db2f0c05ba6294d57136f8362740e5be (patch)
treeef8814381a8caa719c91ff997b94fd4194c256ae /src
parent13993d10e9a6cba6af1b353c67a1bc6431f2abf6 (diff)
Support environment variable to specify core path.
Diffstat (limited to 'src')
-rw-r--r--src/server/requests.odin12
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);