aboutsummaryrefslogtreecommitdiff
path: root/src/server/completion.odin
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2021-12-13 21:23:30 +0100
committerDaniel Gavin <danielgavin5@hotmail.com>2021-12-13 21:23:30 +0100
commitf4881fddf7e7c003a709a3ed5fd413270d41d261 (patch)
treeab4cf3008856cdebfa032bb833957c607f2735e0 /src/server/completion.odin
parentc67ba465cbee1c450f75785905ba5d74d03cb3c8 (diff)
Improved type completion + add constants type, add deprecrated tag.
Diffstat (limited to 'src/server/completion.odin')
-rw-r--r--src/server/completion.odin6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin
index 26d6ba2..0aa202e 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -448,6 +448,7 @@ get_selector_completion :: proc(ast_context: ^analysis.AstContext, position_cont
for search in searched {
symbol := search.symbol;
+ resolve_unresolved_symbol(ast_context, &symbol);
build_symbol_return(&symbol);
build_symbol_signature(&symbol);
@@ -462,6 +463,7 @@ get_selector_completion :: proc(ast_context: ^analysis.AstContext, position_cont
item.insertText = fmt.tprintf("%v($0)", item.label);
item.insertTextFormat = .Snippet;
item.command.command = "editor.action.triggerParameterHints";
+ item.deprecated = symbol.is_deprecated;
}
append(&items, item);
@@ -843,6 +845,7 @@ get_identifier_completion :: proc(ast_context: ^analysis.AstContext, position_co
if results, ok := index.fuzzy_search(lookup, pkgs[:]); ok {
for r in results {
r := r;
+ resolve_unresolved_symbol(ast_context, &r.symbol);
build_symbol_return(&r.symbol);
build_symbol_signature(&r.symbol);
if r.symbol.uri != ast_context.uri {
@@ -1010,9 +1013,10 @@ get_identifier_completion :: proc(ast_context: ^analysis.AstContext, position_co
if result.symbol.type == .Function {
item.insertText = fmt.tprintf("%v($0)", item.label);
item.insertTextFormat = .Snippet;
+ item.deprecated = result.symbol.is_deprecated;
item.command.command = "editor.action.triggerParameterHints";
}
-
+
item.detail = concatenate_symbols_information(ast_context, result.symbol, true);
append(&items, item);