diff options
| author | Harold Brenes <harold@hbrenes.com> | 2024-04-18 14:12:37 -0400 |
|---|---|---|
| committer | Harold Brenes <harold@hbrenes.com> | 2024-04-18 14:12:37 -0400 |
| commit | bbd6f7fc5226a2b28f7aa15211f957e85f5418f1 (patch) | |
| tree | b3d5b427a1a705ea60020efd677429649d49f005 /src/server/methods.odin | |
| parent | 9d90c60db5c137a20fb3f4100048635459f92cd2 (diff) | |
Fix procs in external packages not getting receiver completion.
Diffstat (limited to 'src/server/methods.odin')
| -rw-r--r-- | src/server/methods.odin | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/server/methods.odin b/src/server/methods.odin index 5190533..4b8efa8 100644 --- a/src/server/methods.odin +++ b/src/server/methods.odin @@ -124,7 +124,7 @@ append_method_completion :: proc( if symbol.pkg != ast_context.document_package { new_text = fmt.tprintf( - "%v.%v($0)", + "%v.%v", path.base( get_symbol_pkg_name(ast_context, symbol), false, @@ -133,23 +133,25 @@ append_method_completion :: proc( symbol.name, ) } else { - if len(symbol.value.(SymbolProcedureValue).arg_types) > 1 { - new_text = fmt.tprintf( - "%v(%v%v%v$0)", - symbol.name, - references, - receiver, - dereferences, - ) - } else { - new_text = fmt.tprintf( - "%v(%v%v%v)$0", - symbol.name, - references, - receiver, - dereferences, - ) - } + new_text = fmt.tprintf("%v", symbol.name) + } + + if len(symbol.value.(SymbolProcedureValue).arg_types) > 1 { + new_text = fmt.tprintf( + "%v(%v%v%v$0)", + new_text, + references, + receiver, + dereferences, + ) + } else { + new_text = fmt.tprintf( + "%v(%v%v%v)$0", + new_text, + references, + receiver, + dereferences, + ) } item := CompletionItem { |