aboutsummaryrefslogtreecommitdiff
path: root/src/server/requests.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/requests.odin')
-rw-r--r--src/server/requests.odin18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/server/requests.odin b/src/server/requests.odin
index cc03cf5..a877c69 100644
--- a/src/server/requests.odin
+++ b/src/server/requests.odin
@@ -17,7 +17,7 @@ import "core:sync"
import "core:thread"
import "core:time"
-import "shared:common"
+import "src:common"
import "base:runtime"
@@ -585,6 +585,17 @@ read_ols_initialize_options :: proc(
allocator = context.allocator,
)
}
+
+ if "shared" not_in config.collections && odin_core_env != "" {
+ forward_path, _ := filepath.to_slash(
+ odin_core_env,
+ context.temp_allocator,
+ )
+ config.collections[strings.clone("shared")] = path.join(
+ elems = {forward_path, "shared"},
+ allocator = context.allocator,
+ )
+ }
}
request_initialize :: proc(
@@ -1172,7 +1183,10 @@ notification_did_save :: proc(
if len(config.profile.checker_path) > 0 {
check(config.profile.checker_path[:], writer, config)
} else {
- if uri, ok := common.parse_uri(config.workspace_folders[0].uri, context.temp_allocator); ok {
+ if uri, ok := common.parse_uri(
+ config.workspace_folders[0].uri,
+ context.temp_allocator,
+ ); ok {
check({uri.path}, writer, config)
}
}