From cac294ccb3baf33aa91a7dbcbc17b538c92a23c7 Mon Sep 17 00:00:00 2001 From: Daniel Gavin Date: Fri, 13 May 2022 22:05:52 +0200 Subject: correcting cases for windows to not have to lowercase all the time. --- src/server/documents.odin | 6 ++++++ src/server/requests.odin | 7 +++++++ 2 files changed, 13 insertions(+) (limited to 'src/server') diff --git a/src/server/documents.odin b/src/server/documents.odin index a360bd3..b702e0c 100644 --- a/src/server/documents.odin +++ b/src/server/documents.odin @@ -7,6 +7,7 @@ import "core:os" import "core:odin/parser" import "core:odin/ast" import "core:odin/tokenizer" +import "core:path/filepath" import path "core:path/slashpath" import "core:mem" @@ -352,6 +353,11 @@ parse_imports :: proc(document: ^common.Document, config: ^common.Config) { document.package_name = path.dir(document.uri.path) + when ODIN_OS == .Windows { + forward, _ := filepath.to_slash(common.get_case_sensitive_path(document.package_name), context.temp_allocator) + document.package_name = strings.clone(forward) + } + for imp, index in document.ast.imports { if i := strings.index(imp.fullpath, "\""); i == -1 { continue diff --git a/src/server/requests.odin b/src/server/requests.odin index c7b5c95..b30b18c 100644 --- a/src/server/requests.odin +++ b/src/server/requests.odin @@ -462,6 +462,13 @@ request_initialize :: proc (params: json.Value, id: RequestId, config: ^common.C config.collections["vendor"] = path.join(elems = {forward_path, "vendor"}, allocator = context.allocator) } + when ODIN_OS == .Windows { + for k, v in config.collections { + forward, _ := filepath.to_slash(common.get_case_sensitive_path(v), context.temp_allocator) + config.collections[k] = strings.clone(forward, context.allocator) + } + } + for format in initialize_params.capabilities.textDocument.hover.contentFormat { if format == "markdown" { config.hover_support_md = true -- cgit v1.2.3