aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2020-11-07 21:40:48 +0100
committerDanielGavin <danielgavin5@hotmail.com>2020-11-07 21:40:48 +0100
commit9e37eb68998c99fafe18c591c599bc8a5cca6dee (patch)
treef65eac8f4b3d9667854eafee4eb26cf0fe0a067b /src/server
parent5f5e855af2473bf5ff12ecac296dad37b5d923ac (diff)
fixed json bug that showed up with sublime
Diffstat (limited to 'src/server')
-rw-r--r--src/server/analysis.odin10
-rw-r--r--src/server/documents.odin2
-rw-r--r--src/server/unmarshal.odin4
3 files changed, 8 insertions, 8 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index 8027e6d..7c1977c 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -183,19 +183,13 @@ get_completion_list :: proc(document: ^Document, position: common.Position) -> (
position_context, ok := get_document_position_context(document, position);
symbols: [] index.Symbol;
- empty_dot := false;
#partial switch v in position_context.value {
case DocumentPositionContextVariableDotVariableValue:
symbols, ok = index.fuzzy_search(v.postfix, {v.prefix});
case DocumentPositionContextVariableDotValue:
- empty_dot = true;
- }
-
- if empty_dot {
- list.isIncomplete = true;
- return list, true;
+ symbols, ok = index.fuzzy_search("", {v.prefix});
}
if !ok {
@@ -206,7 +200,7 @@ get_completion_list :: proc(document: ^Document, position: common.Position) -> (
for symbol, i in symbols {
list.items[i].label = symbol.name;
- list.items[i].kind = .Function;
+ list.items[i].kind = cast(CompletionItemKind) symbol.type;
}
return list, true;
diff --git a/src/server/documents.odin b/src/server/documents.odin
index 59eeadd..7765190 100644
--- a/src/server/documents.odin
+++ b/src/server/documents.odin
@@ -232,6 +232,8 @@ document_close :: proc(uri_string: string) -> common.Error {
document.client_owned = false;
+ delete(document.text);
+
return .None;
}
diff --git a/src/server/unmarshal.odin b/src/server/unmarshal.odin
index e5ca619..c658848 100644
--- a/src/server/unmarshal.odin
+++ b/src/server/unmarshal.odin
@@ -16,6 +16,10 @@ unmarshal :: proc(json_value: json.Value, v: any, allocator := context.allocator
return .None;
}
+ if json_value.value == nil {
+ return .None;
+ }
+
type_info := type_info_base(type_info_of(v.id));
#partial