diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/ClientResourceAccessActionNodeContext.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/ClientResourceAccessActionNodeContext.java index 2c8224524e2d..9267f7d2143e 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/ClientResourceAccessActionNodeContext.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/ClientResourceAccessActionNodeContext.java @@ -215,25 +215,38 @@ public void sort(BallerinaCompletionContext context, ClientResourceAccessActionN Optional parameterSymbol = getParameterTypeSymbol(context); for (int i = 0; i < completionItems.size(); i++) { LSCompletionItem completionItem = completionItems.get(i); - if (completionItem.getType() == LSCompletionItem.CompletionItemType.NAMED_ARG) { + LSCompletionItem.CompletionItemType type = completionItem.getType(); + if (type == LSCompletionItem.CompletionItemType.NAMED_ARG) { sortNamedArgCompletionItem(context, completionItem); } else if (parameterSymbol.isEmpty()) { - sortParameterlessCompletionItem(context, completionItem); - } else if (completionItem.getType() == LSCompletionItem.CompletionItemType.SYMBOL) { - SymbolCompletionItem symbolCompletionItem = (SymbolCompletionItem) completionItem; - if (symbolCompletionItem.getSymbol().isPresent() && - symbolCompletionItem.getSymbol().get().kind() == SymbolKind.RESOURCE_METHOD) { - completionItem.getCompletionItem().setSortText( - SortingUtil.genSortTextByAssignability(context, completionItem, parameterSymbol.get()) + - SortingUtil.genSortText(i + 1)); - } - sortDefaultCompletionItem(context, parameterSymbol.get(), completionItem); + sortParameterlessCompletionItem(context, i, completionItem); + } else if (type == LSCompletionItem.CompletionItemType.SYMBOL) { + sortSymbolCompletionItem(context, parameterSymbol.get(), i, completionItem); } else { sortDefaultCompletionItem(context, parameterSymbol.get(), completionItem); } } } + private static void sortParameterlessCompletionItem(BallerinaCompletionContext context, int rank, + LSCompletionItem completionItem) { + completionItem.getCompletionItem().setSortText(SortingUtil.genSortText( + SortingUtil.toRank(context, completionItem)) + SortingUtil.genSortText(rank + 1)); + } + + private static void sortSymbolCompletionItem(BallerinaCompletionContext context, TypeSymbol parameterSymbol, + int rank, LSCompletionItem completionItem) { + SymbolCompletionItem symbolCompletionItem = (SymbolCompletionItem) completionItem; + Optional symbol = symbolCompletionItem.getSymbol(); + if (symbol.isPresent() && symbol.get().kind() == SymbolKind.RESOURCE_METHOD) { + completionItem.getCompletionItem().setSortText( + SortingUtil.genSortTextByAssignability(context, completionItem, parameterSymbol) + + SortingUtil.genSortText(rank + 1)); + return; + } + sortDefaultCompletionItem(context, parameterSymbol, completionItem); + } + private List getPathSegmentCompletionItems(ClientResourceAccessActionNode node, BallerinaCompletionContext context, List resourceMethods, diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/InvocationNodeContextProvider.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/InvocationNodeContextProvider.java index 4bb38c082f4e..1931ec9dd7d2 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/InvocationNodeContextProvider.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/completions/providers/context/InvocationNodeContextProvider.java @@ -125,7 +125,7 @@ protected static void sortNamedArgCompletionItem(BallerinaCompletionContext cont completionItem.getCompletionItem().setSortText(sortText); } - protected static void sortParameterlessCompletionItem(BallerinaCompletionContext context, + private static void sortParameterlessCompletionItem(BallerinaCompletionContext context, LSCompletionItem completionItem) { completionItem.getCompletionItem().setSortText(SortingUtil.genSortText( SortingUtil.toRank(context, completionItem))); diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config10.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config10.json index abf47a17b27f..ef4eed362cf0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config10.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CC", "filterText": "path2|get", "insertText": "/path2;", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CD", "filterText": "path2|post", "insertText": "/path2/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -140,7 +140,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path2|post", "insertText": "/path2/${1:path}.post(${2});", "insertTextFormat": "Snippet", @@ -174,7 +174,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CF", "filterText": "path3|post", "insertText": "/path3.post(${1});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config11.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config11.json index 8a3b46de9952..6b7fc6961f12 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config11.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CC", "filterText": "path2|get", "insertText": "/path2;", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CD", "filterText": "path2|post", "insertText": "/path2/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -140,7 +140,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path2|post", "insertText": "/path2/${1:path}.post(${2});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config12.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config12.json index 51194fa4c777..38f781ff805d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config12.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CC", "filterText": "path3|post", "insertText": "/path3.post(${1});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config13.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config13.json index e0ece29c8abb..0cd7140e8e8a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config13.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config13.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n \n \n**Return** `string` \n \n" } }, - "sortText": "C", + "sortText": "CA", "filterText": "path1|get", "insertText": "/path1;", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` a \n- `int` b" } }, - "sortText": "C", + "sortText": "CB", "filterText": "post", "insertText": "/.post(${1});", "insertTextFormat": "Snippet", @@ -80,7 +80,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CC", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -110,7 +110,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CD", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -140,7 +140,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path1|get", "insertText": "/path1/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -170,7 +170,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1" } }, - "sortText": "C", + "sortText": "CF", "filterText": "path1|get", "insertText": "/path1/${1:path};", "insertTextFormat": "Snippet", @@ -200,7 +200,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CG", "filterText": "path1|path2|get", "insertText": "/path1/[${1:\"path\"}]/path2;", "insertTextFormat": "Snippet", @@ -230,7 +230,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CH", "filterText": "path1|path2|get", "insertText": "/path1/${1:path}/path2;", "insertTextFormat": "Snippet", @@ -260,7 +260,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CI", "filterText": "path1|path2|post", "insertText": "/path1/[${1:\"path\"}]/path2/[${2:\"path\"}].post(${3});", "insertTextFormat": "Snippet", @@ -294,7 +294,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CJ", "filterText": "path1|path2|post", "insertText": "/path1/${1:path}/path2/${2:path}.post(${3});", "insertTextFormat": "Snippet", @@ -328,7 +328,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CK", "filterText": "path1|path3|post", "insertText": "/path1/[${1:\"path\"}]/path3.post(${2});", "insertTextFormat": "Snippet", @@ -362,7 +362,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CL", "filterText": "path1|path3|post", "insertText": "/path1/${1:path}/path3.post(${2});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config14.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config14.json index 0830a0889566..90c35f069725 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config14.json @@ -15,7 +15,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` a \n- `int` b" } }, - "sortText": "C", + "sortText": "CA", "filterText": "post", "insertText": "/.post(${1})", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config15.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config15.json index ed67124e440b..0c70c2a3ad98 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config15.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet" @@ -31,7 +31,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet" @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CC", "filterText": "|post", "insertText": "/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -65,7 +65,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CD", "filterText": "|post", "insertText": "/${1:path}.post(${2});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config16.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config16.json index 848ff2a7df35..b4d6e72bcbe2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config16.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config16.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CC", "filterText": "|post", "insertText": "/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -110,7 +110,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CD", "filterText": "|post", "insertText": "/${1:path}.post(${2});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config17.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config17.json index cde794324373..38f0cc7cfb77 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config17.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config17.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CA", "filterText": "post", "insertText": ".post(${1})", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config18.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config18.json index d7fea157e7fd..40c57b410eb2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config18.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config18.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` params \n- `string` id" } }, - "sortText": "G", + "sortText": "GA", "filterText": "get", "insertText": "(${1})", "insertTextFormat": "Snippet", @@ -50,7 +50,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` params" } }, - "sortText": "G", + "sortText": "GB", "filterText": "post", "insertText": ".post", "insertTextFormat": "Snippet", @@ -80,7 +80,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` params" } }, - "sortText": "G", + "sortText": "GC", "filterText": "put", "insertText": ".put", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config19.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config19.json index dd313618eba9..38b153cdd4aa 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config19.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config19.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `int` id \n- `string[]` params" } }, - "sortText": "G", + "sortText": "GA", "filterText": "post", "insertText": ".post", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config21.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config21.json index 5470aeb0d97c..0a399bd65d72 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config21.json @@ -16,7 +16,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource method.\n \n**Params** \n- `string` id1: Path parameter \n- `string[]` ids: Rest path parameter \n- `string` str: Argument \n- `string[]` ids2: Rest argument \n \n**Return** `module1:Response` \n- The response for the request \n \n" } }, - "sortText": "C", + "sortText": "CA", "filterText": "path1|path2|post", "insertText": "/path1/[${1:\"path\"}]/path2/[${2:\"path\"}].post(${3});", "insertTextFormat": "Snippet", @@ -50,7 +50,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource method.\n \n**Params** \n- `string` id1: Path parameter \n- `string[]` ids: Rest path parameter \n- `string` str: Argument \n- `string[]` ids2: Rest argument \n \n**Return** `module1:Response` \n- The response for the request \n \n" } }, - "sortText": "C", + "sortText": "CB", "filterText": "path1|path2|post", "insertText": "/path1/${1:path}/path2/${2:path}.post(${3});", "insertTextFormat": "Snippet", @@ -84,7 +84,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with java interoperability\n \n**Params** \n- `module1:TargetType` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|module1:ClientError` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CC", "filterText": "path3|get", "insertText": "/path3(${1});", "insertTextFormat": "Snippet", @@ -118,7 +118,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with multiple target types with java interoperability\n \n**Params** \n- `string` pathParam \n- `module1:TargetType` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|module1:ClientError|error` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CD", "filterText": "path4|get", "insertText": "/path4/[${1:\"path\"}](${2});", "insertTextFormat": "Snippet", @@ -152,7 +152,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with multiple target types with java interoperability\n \n**Params** \n- `string` pathParam \n- `module1:TargetType` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|module1:ClientError|error` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path4|get", "insertText": "/path4/${1:path}(${2});", "insertTextFormat": "Snippet", @@ -186,7 +186,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with rest path praram with multiple target types with java interoperability\n \n**Params** \n- `string[]` path: Request path \n- `module1:RequestMessage` message: An HTTP outbound request or any allowed payload \n- `map?` headers: The entity headers(Defaultable) \n- `string?` mediaType: The MIME type header of the request entity(Defaultable) \n- `module1:TargetType` targetType: HTTP response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|module1:ClientError` \n- The response or the payload (if the `targetType` is configured) or an `http:ClientError` if failed to \nestablish the communication with the upstream server or a data binding failure \n \n" } }, - "sortText": "C", + "sortText": "CF", "filterText": "post", "insertText": "/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -220,7 +220,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with rest path praram with multiple target types with java interoperability\n \n**Params** \n- `string[]` path: Request path \n- `module1:RequestMessage` message: An HTTP outbound request or any allowed payload \n- `map?` headers: The entity headers(Defaultable) \n- `string?` mediaType: The MIME type header of the request entity(Defaultable) \n- `module1:TargetType` targetType: HTTP response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|module1:ClientError` \n- The response or the payload (if the `targetType` is configured) or an `http:ClientError` if failed to \nestablish the communication with the upstream server or a data binding failure \n \n" } }, - "sortText": "C", + "sortText": "CG", "filterText": "post", "insertText": "/${1:path}.post(${2});", "insertTextFormat": "Snippet", @@ -254,7 +254,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function to return a stream of objects\n \n**Params** \n- `module1:TargetType2` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `stream` \n- A stream of targetType and/or ClientError \n \n" } }, - "sortText": "C", + "sortText": "CH", "filterText": "responses|get", "insertText": "/responses(${1});", "insertTextFormat": "Snippet", @@ -288,7 +288,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function to return a stream of objects.\n \n**Params** \n- `module1:TargetType2` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `stream` \n- A stream of targetType and/or ClientError \n \n" } }, - "sortText": "C", + "sortText": "CI", "filterText": "responses|delete", "insertText": "/responses.delete(${1});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config22.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config22.json index c91f56bf8694..25ea9eafaf0f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config22.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config22.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `int` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CC", "filterText": "alias|post", "insertText": "/[${1:0}]/alias.post(${2});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config23.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config23.json index 699de1abd025..31b3f66ef2b7 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config23.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config23.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `int` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CA", "filterText": "alias|post", "insertText": "/alias.post(${1});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config24.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config24.json index 304cf0c0f0ac..50df9b8e93dc 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config24.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config24.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "C", + "sortText": "CC", "filterText": "post", "insertText": "/[${1:\"path\"}].post;", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "C", + "sortText": "CD", "filterText": "post", "insertText": "/${1:path}.post;", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config25.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config25.json index cc66934b98f0..1ac3920380d2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config25.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config25.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "C", + "sortText": "CA", "filterText": "path1|post", "insertText": "/path1/[${1:\"path\"}].post;", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "C", + "sortText": "CB", "filterText": "path1|post", "insertText": "/path1/${1:path}.post;", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config3.json index 7b8f9daff432..19067faa978b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config3.json @@ -10,7 +10,7 @@ "label": "start", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QA", "filterText": "start", "insertText": "start ", "insertTextFormat": "Snippet" @@ -19,7 +19,7 @@ "label": "wait", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QB", "filterText": "wait", "insertText": "wait ", "insertTextFormat": "Snippet" @@ -28,7 +28,7 @@ "label": "flush", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QC", "filterText": "flush", "insertText": "flush ", "insertTextFormat": "Snippet" @@ -37,7 +37,7 @@ "label": "from clause", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PD", "filterText": "from", "insertText": "from ${1:var} ${2:item} in ${3}", "insertTextFormat": "Snippet" @@ -46,7 +46,7 @@ "label": "test/project2", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RE", "filterText": "project2", "insertText": "project2", "insertTextFormat": "Snippet", @@ -70,7 +70,7 @@ "label": "test/project1", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RF", "filterText": "project1", "insertText": "project1", "insertTextFormat": "Snippet", @@ -94,7 +94,7 @@ "label": "ballerina/lang.runtime", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RG", "filterText": "runtime", "insertText": "runtime", "insertTextFormat": "Snippet", @@ -118,7 +118,7 @@ "label": "ballerina/module1", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RI", "filterText": "module1", "insertText": "module1", "insertTextFormat": "Snippet", @@ -142,7 +142,7 @@ "label": "ballerina/lang.test", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RJ", "filterText": "test", "insertText": "test1", "insertTextFormat": "Snippet", @@ -166,7 +166,7 @@ "label": "test/local_project2", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RK", "filterText": "local_project2", "insertText": "local_project2", "insertTextFormat": "Snippet", @@ -190,7 +190,7 @@ "label": "test/local_project1", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RL", "filterText": "local_project1", "insertText": "local_project1", "insertTextFormat": "Snippet", @@ -214,7 +214,7 @@ "label": "ballerina/lang.value", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RM", "filterText": "value", "insertText": "value", "insertTextFormat": "Snippet", @@ -238,7 +238,7 @@ "label": "ballerina/jballerina.java", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RN", "filterText": "java", "insertText": "java", "insertTextFormat": "Snippet", @@ -262,7 +262,7 @@ "label": "ballerina/lang.array", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RO", "filterText": "array", "insertText": "array", "insertTextFormat": "Snippet", @@ -286,7 +286,7 @@ "label": "map", "kind": "Unit", "detail": "type", - "sortText": "R", + "sortText": "RV", "insertText": "map", "insertTextFormat": "Snippet" }, @@ -294,7 +294,7 @@ "label": "object", "kind": "Unit", "detail": "type", - "sortText": "R", + "sortText": "RR", "insertText": "object", "insertTextFormat": "Snippet" }, @@ -302,7 +302,7 @@ "label": "stream", "kind": "Unit", "detail": "type", - "sortText": "R", + "sortText": "RW", "insertText": "stream", "insertTextFormat": "Snippet" }, @@ -310,7 +310,7 @@ "label": "table", "kind": "Unit", "detail": "type", - "sortText": "R", + "sortText": "RU", "insertText": "table", "insertTextFormat": "Snippet" }, @@ -318,7 +318,7 @@ "label": "transaction", "kind": "Unit", "detail": "type", - "sortText": "R", + "sortText": "RS", "insertText": "transaction", "insertTextFormat": "Snippet" }, @@ -326,7 +326,7 @@ "label": "service", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZF", "filterText": "service", "insertText": "service", "insertTextFormat": "Snippet" @@ -335,7 +335,7 @@ "label": "new", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZG", "filterText": "new", "insertText": "new ", "insertTextFormat": "Snippet" @@ -344,7 +344,7 @@ "label": "isolated", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZH", "filterText": "isolated", "insertText": "isolated ", "insertTextFormat": "Snippet" @@ -353,7 +353,7 @@ "label": "transactional", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZI", "filterText": "transactional", "insertText": "transactional", "insertTextFormat": "Snippet" @@ -362,7 +362,7 @@ "label": "function", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZJ", "filterText": "function", "insertText": "function ", "insertTextFormat": "Snippet" @@ -371,7 +371,7 @@ "label": "let", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZK", "filterText": "let", "insertText": "let", "insertTextFormat": "Snippet" @@ -380,7 +380,7 @@ "label": "typeof", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZL", "filterText": "typeof", "insertText": "typeof ", "insertTextFormat": "Snippet" @@ -389,7 +389,7 @@ "label": "trap", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZM", "filterText": "trap", "insertText": "trap", "insertTextFormat": "Snippet" @@ -398,7 +398,7 @@ "label": "client", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZN", "filterText": "client", "insertText": "client ", "insertTextFormat": "Snippet" @@ -407,7 +407,7 @@ "label": "true", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZO", "filterText": "true", "insertText": "true", "insertTextFormat": "Snippet" @@ -416,7 +416,7 @@ "label": "false", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZP", "filterText": "false", "insertText": "false", "insertTextFormat": "Snippet" @@ -425,7 +425,7 @@ "label": "null", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZQ", "filterText": "null", "insertText": "null", "insertTextFormat": "Snippet" @@ -434,7 +434,7 @@ "label": "check", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZR", "filterText": "check", "insertText": "check ", "insertTextFormat": "Snippet" @@ -443,7 +443,7 @@ "label": "checkpanic", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZS", "filterText": "checkpanic", "insertText": "checkpanic ", "insertTextFormat": "Snippet" @@ -452,7 +452,7 @@ "label": "is", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZT", "filterText": "is", "insertText": "is", "insertTextFormat": "Snippet" @@ -461,7 +461,7 @@ "label": "error constructor", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZU", "filterText": "error", "insertText": "error(\"${1}\")", "insertTextFormat": "Snippet" @@ -470,7 +470,7 @@ "label": "object constructor", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZV", "filterText": "object", "insertText": "object {${1}}", "insertTextFormat": "Snippet" @@ -479,7 +479,7 @@ "label": "base16", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZW", "filterText": "base16", "insertText": "base16 `${1}`", "insertTextFormat": "Snippet" @@ -488,7 +488,7 @@ "label": "base64", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZX", "filterText": "base64", "insertText": "base64 `${1}`", "insertTextFormat": "Snippet" @@ -497,7 +497,7 @@ "label": "from", "kind": "Keyword", "detail": "Keyword", - "sortText": "Q", + "sortText": "QZZ", "filterText": "from", "insertText": "from ", "insertTextFormat": "Snippet" @@ -506,7 +506,7 @@ "label": "MyClient", "kind": "Interface", "detail": "Class", - "sortText": "K", + "sortText": "KZZD", "insertText": "MyClient", "insertTextFormat": "Snippet" }, @@ -514,7 +514,7 @@ "label": "cl", "kind": "Variable", "detail": "MyClient", - "sortText": "B", + "sortText": "BZZG", "insertText": "cl", "insertTextFormat": "Snippet" }, @@ -525,7 +525,7 @@ "documentation": { "left": "Describes Strand execution details for the runtime.\n" }, - "sortText": "M", + "sortText": "MZZE", "insertText": "StrandData", "insertTextFormat": "Snippet" }, @@ -539,7 +539,7 @@ "value": "**Package:** _._ \n \n \n" } }, - "sortText": "C", + "sortText": "CZZJ", "filterText": "test", "insertText": "test()", "insertTextFormat": "Snippet" @@ -548,7 +548,7 @@ "label": "i", "kind": "Variable", "detail": "int", - "sortText": "B", + "sortText": "BZZH", "insertText": "i", "insertTextFormat": "Snippet" }, @@ -556,7 +556,7 @@ "label": "Thread", "kind": "TypeParameter", "detail": "Union", - "sortText": "N", + "sortText": "NZZF", "insertText": "Thread", "insertTextFormat": "Snippet" }, @@ -564,7 +564,7 @@ "label": "s", "kind": "Variable", "detail": "string", - "sortText": "B", + "sortText": "BZZI", "insertText": "s", "insertTextFormat": "Snippet" }, @@ -572,7 +572,7 @@ "label": "ballerina/lang.regexp", "kind": "Module", "detail": "Module", - "sortText": "R", + "sortText": "RH", "filterText": "regexp", "insertText": "regexp", "insertTextFormat": "Snippet", @@ -596,7 +596,7 @@ "label": "re ``", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZZA", "filterText": "re ``", "insertText": "re `${1}`", "insertTextFormat": "Snippet" @@ -605,7 +605,7 @@ "label": "decimal", "kind": "TypeParameter", "detail": "Decimal", - "sortText": "N", + "sortText": "NP", "insertText": "decimal", "insertTextFormat": "Snippet" }, @@ -613,7 +613,7 @@ "label": "error", "kind": "Event", "detail": "Error", - "sortText": "L", + "sortText": "LQ", "insertText": "error", "insertTextFormat": "Snippet" }, @@ -621,7 +621,7 @@ "label": "xml", "kind": "TypeParameter", "detail": "Xml", - "sortText": "N", + "sortText": "NT", "insertText": "xml", "insertTextFormat": "Snippet" }, @@ -629,7 +629,7 @@ "label": "boolean", "kind": "TypeParameter", "detail": "Boolean", - "sortText": "N", + "sortText": "NX", "insertText": "boolean", "insertTextFormat": "Snippet" }, @@ -637,7 +637,7 @@ "label": "future", "kind": "TypeParameter", "detail": "Future", - "sortText": "N", + "sortText": "NZ", "insertText": "future", "insertTextFormat": "Snippet" }, @@ -645,7 +645,7 @@ "label": "int", "kind": "TypeParameter", "detail": "Int", - "sortText": "N", + "sortText": "NZA", "insertText": "int", "insertTextFormat": "Snippet" }, @@ -653,7 +653,7 @@ "label": "float", "kind": "TypeParameter", "detail": "Float", - "sortText": "N", + "sortText": "NZB", "insertText": "float", "insertTextFormat": "Snippet" }, @@ -661,7 +661,7 @@ "label": "function", "kind": "TypeParameter", "detail": "Function", - "sortText": "N", + "sortText": "NZC", "insertText": "function", "insertTextFormat": "Snippet" }, @@ -669,7 +669,7 @@ "label": "string", "kind": "TypeParameter", "detail": "String", - "sortText": "N", + "sortText": "NZD", "insertText": "string", "insertTextFormat": "Snippet" }, @@ -677,7 +677,7 @@ "label": "typedesc", "kind": "TypeParameter", "detail": "Typedesc", - "sortText": "N", + "sortText": "NZE", "insertText": "typedesc", "insertTextFormat": "Snippet" }, @@ -685,7 +685,7 @@ "label": "readonly", "kind": "TypeParameter", "detail": "Readonly", - "sortText": "N", + "sortText": "NZZK", "insertText": "readonly", "insertTextFormat": "Snippet" }, @@ -693,7 +693,7 @@ "label": "handle", "kind": "TypeParameter", "detail": "Handle", - "sortText": "N", + "sortText": "NZZL", "insertText": "handle", "insertTextFormat": "Snippet" }, @@ -701,7 +701,7 @@ "label": "never", "kind": "TypeParameter", "detail": "Never", - "sortText": "N", + "sortText": "NZZM", "insertText": "never", "insertTextFormat": "Snippet" }, @@ -709,7 +709,7 @@ "label": "json", "kind": "TypeParameter", "detail": "Json", - "sortText": "N", + "sortText": "NZZN", "insertText": "json", "insertTextFormat": "Snippet" }, @@ -717,7 +717,7 @@ "label": "anydata", "kind": "TypeParameter", "detail": "Anydata", - "sortText": "N", + "sortText": "NZZO", "insertText": "anydata", "insertTextFormat": "Snippet" }, @@ -725,7 +725,7 @@ "label": "any", "kind": "TypeParameter", "detail": "Any", - "sortText": "N", + "sortText": "NZZP", "insertText": "any", "insertTextFormat": "Snippet" }, @@ -733,7 +733,7 @@ "label": "byte", "kind": "TypeParameter", "detail": "Byte", - "sortText": "N", + "sortText": "NZZQ", "insertText": "byte", "insertTextFormat": "Snippet" }, @@ -741,7 +741,7 @@ "label": "string ``", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZZB", "filterText": "string ``", "insertText": "string `${1}`", "insertTextFormat": "Snippet" @@ -750,7 +750,7 @@ "label": "xml ``", "kind": "Snippet", "detail": "Snippet", - "sortText": "P", + "sortText": "PZZC", "filterText": "xml ``", "insertText": "xml `${1}`", "insertTextFormat": "Snippet" diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config35.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config35.json index 491556690720..4259b7e6a2f9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config35.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config35.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GC", "filterText": "post", "insertText": "/[${1:\"path\"}].post;", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GD", "filterText": "post", "insertText": "/${1:path}.post;", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config37.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config37.json index af494d68725f..e4a7c8035c32 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config37.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config37.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GC", "filterText": "post", "insertText": "/[${1:\"path\"}].post;", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `PathParamType[]` path" } }, - "sortText": "G", + "sortText": "GD", "filterText": "post", "insertText": "/${1:path}.post;", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config41.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config41.json index e2e5d347c9c0..73bfb7775b17 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config41.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config41.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `\"A31\"` a" } }, - "sortText": "C", + "sortText": "CA", "filterText": "accessor", "insertText": ".accessor", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `\"A31\"|\"A32\"` a" } }, - "sortText": "C", + "sortText": "CB", "filterText": "put", "insertText": ".put", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config42.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config42.json index 0c78be2743e4..5c43a8cca2de 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config42.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config42.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `\"A31\"` a" } }, - "sortText": "C", + "sortText": "CA", "filterText": "accessor", "insertText": ".accessor", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `\"A31\"|\"A32\"` a" } }, - "sortText": "C", + "sortText": "CB", "filterText": "put", "insertText": ".put", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config43.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config43.json index 343b18212b04..c1aa453788fe 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config43.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config43.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string:Char` a" } }, - "sortText": "C", + "sortText": "CA", "filterText": "accessor", "insertText": ".accessor", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string:Char|int` a" } }, - "sortText": "C", + "sortText": "CB", "filterText": "put", "insertText": ".put", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config44.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config44.json index c8d1489e7524..d5946fcc949b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config44.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config44.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" } }, - "sortText": "C", + "sortText": "CA", "filterText": "third|get", "insertText": "/third;", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config45.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config45.json new file mode 100644 index 000000000000..bfe704538bda --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config45.json @@ -0,0 +1,130 @@ +{ + "position": { + "line": 21, + "character": 20 + }, + "source": "action_node_context/source/client_resource_access_action_source38.bal", + "description": "Test completions after a resource path with the same prefix", + "items": [ + { + "label": "/[string second]", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CA", + "filterText": "|get", + "insertText": "/[${1:\"path\"}];", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 19 + }, + "end": { + "line": 21, + "character": 20 + } + }, + "newText": "" + } + ] + }, + { + "label": "/", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CB", + "filterText": "|get", + "insertText": "/${1:path};", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 19 + }, + "end": { + "line": 21, + "character": 20 + } + }, + "newText": "" + } + ] + }, + { + "label": "/[string second]/Third", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CC", + "filterText": "Third|get", + "insertText": "/[${1:\"path\"}]/Third;", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 19 + }, + "end": { + "line": 21, + "character": 20 + } + }, + "newText": "" + } + ] + }, + { + "label": "//Third", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CD", + "filterText": "Third|get", + "insertText": "/${1:path}/Third;", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 19 + }, + "end": { + "line": 21, + "character": 20 + } + }, + "newText": "" + } + ] + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config46.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config46.json new file mode 100644 index 000000000000..5d13a419158f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config46.json @@ -0,0 +1,160 @@ +{ + "position": { + "line": 17, + "character": 14 + }, + "source": "action_node_context/source/client_resource_access_action_source38.bal", + "description": "Test completions after a resource path with the same prefix", + "items": [ + { + "label": "/First", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n" + } + }, + "sortText": "CA", + "filterText": "First|get", + "insertText": "/First;", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 13 + }, + "end": { + "line": 17, + "character": 14 + } + }, + "newText": "" + } + ] + }, + { + "label": "/First/[string second]", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CB", + "filterText": "First|get", + "insertText": "/First/[${1:\"path\"}];", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 13 + }, + "end": { + "line": 17, + "character": 14 + } + }, + "newText": "" + } + ] + }, + { + "label": "/First/", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CC", + "filterText": "First|get", + "insertText": "/First/${1:path};", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 13 + }, + "end": { + "line": 17, + "character": 14 + } + }, + "newText": "" + } + ] + }, + { + "label": "/First/[string second]/Third", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CD", + "filterText": "First|Third|get", + "insertText": "/First/[${1:\"path\"}]/Third;", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 13 + }, + "end": { + "line": 17, + "character": 14 + } + }, + "newText": "" + } + ] + }, + { + "label": "/First//Third", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second" + } + }, + "sortText": "CE", + "filterText": "First|Third|get", + "insertText": "/First/${1:path}/Third;", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 13 + }, + "end": { + "line": 17, + "character": 14 + } + }, + "newText": "" + } + ] + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config47.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config47.json new file mode 100644 index 000000000000..f19e697a47e5 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config47.json @@ -0,0 +1,172 @@ +{ + "position": { + "line": 17, + "character": 24 + }, + "source": "action_node_context/source/client_resource_access_action_source39.bal", + "description": "Test completions after a resource path with the same prefix", + "items": [ + { + "label": "/First(int val)", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `int` val \n \n**Return** `int` \n \n" + } + }, + "sortText": "GA", + "filterText": "First|get", + "insertText": "/First(${1});", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 23 + }, + "end": { + "line": 17, + "character": 24 + } + }, + "newText": "" + } + ], + "command": { + "title": "editor.action.triggerParameterHints", + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "/First/[string second]", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n \n**Return** `int` \n \n" + } + }, + "sortText": "GB", + "filterText": "First|get", + "insertText": "/First/[${1:\"path\"}];", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 23 + }, + "end": { + "line": 17, + "character": 24 + } + }, + "newText": "" + } + ] + }, + { + "label": "/First/", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n \n**Return** `int` \n \n" + } + }, + "sortText": "GC", + "filterText": "First|get", + "insertText": "/First/${1:path};", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 23 + }, + "end": { + "line": 17, + "character": 24 + } + }, + "newText": "" + } + ] + }, + { + "label": "/First/[string second]/Third(string val)", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n- `string` val \n \n**Return** `int` \n \n" + } + }, + "sortText": "GD", + "filterText": "First|Third|get", + "insertText": "/First/[${1:\"path\"}]/Third(${2});", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 23 + }, + "end": { + "line": 17, + "character": 24 + } + }, + "newText": "" + } + ], + "command": { + "title": "editor.action.triggerParameterHints", + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "/First//Third(string val)", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n- `string` val \n \n**Return** `int` \n \n" + } + }, + "sortText": "GE", + "filterText": "First|Third|get", + "insertText": "/First/${1:path}/Third(${2});", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 17, + "character": 23 + }, + "end": { + "line": 17, + "character": 24 + } + }, + "newText": "" + } + ], + "command": { + "title": "editor.action.triggerParameterHints", + "command": "editor.action.triggerParameterHints" + } + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config48.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config48.json new file mode 100644 index 000000000000..b879b2cdcb33 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config48.json @@ -0,0 +1,138 @@ +{ + "position": { + "line": 21, + "character": 30 + }, + "source": "action_node_context/source/client_resource_access_action_source39.bal", + "description": "Test completions after a resource path with the same prefix", + "items": [ + { + "label": "/[string second]", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n \n**Return** `int` \n \n" + } + }, + "sortText": "GA", + "filterText": "|get", + "insertText": "/[${1:\"path\"}];", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 29 + }, + "end": { + "line": 21, + "character": 30 + } + }, + "newText": "" + } + ] + }, + { + "label": "/", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n \n**Return** `int` \n \n" + } + }, + "sortText": "GB", + "filterText": "|get", + "insertText": "/${1:path};", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 29 + }, + "end": { + "line": 21, + "character": 30 + } + }, + "newText": "" + } + ] + }, + { + "label": "/[string second]/Third(string val)", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n- `string` val \n \n**Return** `int` \n \n" + } + }, + "sortText": "GC", + "filterText": "Third|get", + "insertText": "/[${1:\"path\"}]/Third(${2});", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 29 + }, + "end": { + "line": 21, + "character": 30 + } + }, + "newText": "" + } + ], + "command": { + "title": "editor.action.triggerParameterHints", + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "//Third(string val)", + "kind": "Function", + "detail": "int", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n**Params** \n- `string` second \n- `string` val \n \n**Return** `int` \n \n" + } + }, + "sortText": "GD", + "filterText": "Third|get", + "insertText": "/${1:path}/Third(${2});", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 21, + "character": 29 + }, + "end": { + "line": 21, + "character": 30 + } + }, + "newText": "" + } + ], + "command": { + "title": "editor.action.triggerParameterHints", + "command": "editor.action.triggerParameterHints" + } + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config6.json index e91996bc9664..731fdced7b48 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config6.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n \n \n**Return** `string` \n \n" } }, - "sortText": "C", + "sortText": "CA", "filterText": "path1|get", "insertText": "/path1;", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -73,10 +73,10 @@ "documentation": { "right": { "kind": "markdown", - "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" + "value": "**Package:** _._ \n \n \n**Params** \n- `string` ids" } }, - "sortText": "C", + "sortText": "CC", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1" } }, - "sortText": "C", + "sortText": "CD", "filterText": "path1|get", "insertText": "/path1/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -136,7 +136,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path1|get", "insertText": "/path1/${1:path};", "insertTextFormat": "Snippet", @@ -166,7 +166,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CF", "filterText": "path1|path2|get", "insertText": "/path1/[${1:\"path\"}]/path2;", "insertTextFormat": "Snippet", @@ -196,7 +196,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CG", "filterText": "path1|path2|get", "insertText": "/path1/${1:path}/path2;", "insertTextFormat": "Snippet", @@ -226,7 +226,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CH", "filterText": "path1|path2|post", "insertText": "/path1/[${1:\"path\"}]/path2/[${2:\"path\"}].post(${3});", "insertTextFormat": "Snippet", @@ -260,7 +260,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CI", "filterText": "path1|path2|post", "insertText": "/path1/${1:path}/path2/${2:path}.post(${3});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config7.json index dec793c8a895..f44cad27b674 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config7.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1" } }, - "sortText": "C", + "sortText": "CC", "filterText": "|get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1" } }, - "sortText": "C", + "sortText": "CD", "filterText": "|get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -136,7 +136,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path2|get", "insertText": "/[${1:\"path\"}]/path2;", "insertTextFormat": "Snippet", @@ -166,7 +166,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CF", "filterText": "path2|get", "insertText": "/${1:path}/path2;", "insertTextFormat": "Snippet", @@ -196,7 +196,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CG", "filterText": "path2|post", "insertText": "/[${1:\"path\"}]/path2/[${2:\"path\"}].post(${3});", "insertTextFormat": "Snippet", @@ -230,7 +230,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CH", "filterText": "path2|post", "insertText": "/${1:path}/path2/${2:path}.post(${3});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config9.json index 64757da9d530..b71267277126 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_resource_access_action_config9.json @@ -16,7 +16,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CA", "filterText": "get", "insertText": "/[${1:\"path\"}];", "insertTextFormat": "Snippet", @@ -46,7 +46,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string[]` ids" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "/${1:path};", "insertTextFormat": "Snippet", @@ -76,7 +76,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n \n**Return** `int` \n \n" } }, - "sortText": "C", + "sortText": "CC", "filterText": "path2|get", "insertText": "/path2;", "insertTextFormat": "Snippet", @@ -106,7 +106,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CD", "filterText": "path2|post", "insertText": "/path2/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -140,7 +140,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string[]` ids \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CE", "filterText": "path2|post", "insertText": "/path2/${1:path}.post(${2});", "insertTextFormat": "Snippet", @@ -174,7 +174,7 @@ "value": "**Package:** _._ \n \n \n**Params** \n- `string` id1 \n- `string` b \n- `string[]` ids2" } }, - "sortText": "C", + "sortText": "CF", "filterText": "path3|post", "insertText": "/path3.post(${1});", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config3.json index 9ae558f3ecec..907e73b92bbc 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config3.json @@ -16,7 +16,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nThe `Client.post()` function can be used to send HTTP POST requests to HTTP endpoints.\n \n**Params** \n- `string` path: Resource path \n- `mod:RequestMessage` message: An HTTP outbound request message or any payload of type `string`, `xml`, `json`, `byte[]` \n- `string` targetType: Specifies the target type(Defaultable) \n \n**Return** `mod:Response` \n- The response for the request \n \n" } }, - "sortText": "C", + "sortText": "CA", "filterText": "post", "insertText": "post(${1})", "insertTextFormat": "Snippet", @@ -35,7 +35,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample remote method with java interoperability\n \n**Params** \n- `string` path: Resource path \n- `mod:TargetType` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|mod:ClientError` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CB", "filterText": "get", "insertText": "get(${1})", "insertTextFormat": "Snippet", @@ -54,7 +54,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample remote method with java interoperability\n \n**Params** \n- `string` path: Resource path \n- `handle` request: Request need to be forward \n- `mod:TargetType` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType` \n- Response \n \n" } }, - "sortText": "C", + "sortText": "CF", "filterText": "forward", "insertText": "forward(${1})", "insertTextFormat": "Snippet", @@ -73,7 +73,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample remote method with java interoperability\n \n**Params** \n- `mod:TargetType2` targetType: `any`type which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType` \n- Type any \n \n" } }, - "sortText": "C", + "sortText": "CG", "filterText": "delete", "insertText": "delete(${1})", "insertTextFormat": "Snippet", @@ -92,7 +92,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with rest path praram with multiple target types with java interoperability\n \n**Params** \n- `string[]` path: Request path \n- `mod:RequestMessage` message: An HTTP outbound request or any allowed payload \n- `map?` headers: The entity headers(Defaultable) \n- `string?` mediaType: The MIME type header of the request entity(Defaultable) \n- `mod:TargetType` targetType: HTTP response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|mod:ClientError` \n- The response or the payload (if the `targetType` is configured) or an `http:ClientError` if failed to \nestablish the communication with the upstream server or a data binding failure \n \n" } }, - "sortText": "C", + "sortText": "CH", "filterText": "post", "insertText": "/[${1:\"path\"}].post(${2});", "insertTextFormat": "Snippet", @@ -111,7 +111,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample resource function with rest path praram with multiple target types with java interoperability\n \n**Params** \n- `string[]` path: Request path \n- `mod:RequestMessage` message: An HTTP outbound request or any allowed payload \n- `map?` headers: The entity headers(Defaultable) \n- `string?` mediaType: The MIME type header of the request entity(Defaultable) \n- `mod:TargetType` targetType: HTTP response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|mod:ClientError` \n- The response or the payload (if the `targetType` is configured) or an `http:ClientError` if failed to \nestablish the communication with the upstream server or a data binding failure \n \n" } }, - "sortText": "C", + "sortText": "CI", "filterText": "post", "insertText": "/${1:path}.post(${2});", "insertTextFormat": "Snippet", @@ -130,7 +130,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample remote method with java interoperability.\n \n**Params** \n- `string` path: Resource path \n- `mod:TargetType` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|mod2:ClientError2` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CC", "filterText": "push", "insertText": "push(${1})", "insertTextFormat": "Snippet", @@ -149,7 +149,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample remote method with java interoperability.\n \n**Params** \n- `string` path: Resource path \n- `typedesc` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|mod2:ClientError2` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CD", "filterText": "pull", "insertText": "pull(${1})", "insertTextFormat": "Snippet", @@ -168,7 +168,7 @@ "value": "**Package:** _ballerina/module1:0.1.0_ \n \nSample remote method with java interoperability.\n \n**Params** \n- `string` path: Resource path \n- `typedesc` targetType: Response or `anydata`, which is expected to be returned after data binding(Defaultable) \n \n**Return** `targetType|mod:ClientError` \n- The Response or the ClientError \n \n" } }, - "sortText": "C", + "sortText": "CE", "filterText": "clear", "insertText": "clear(${1})", "insertTextFormat": "Snippet", diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/source/client_resource_access_action_source38.bal b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/source/client_resource_access_action_source38.bal new file mode 100644 index 000000000000..9facfe3f8698 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/source/client_resource_access_action_source38.bal @@ -0,0 +1,23 @@ +client class MyClass { + resource function get First() { + + } + + resource function get First/[string second]() { + + } + + resource function get First/[string second]/Third() { + + } +} + +MyClass myClass = new (); + +function fn1() { + myClass->/; +} + +function fn2() { + myClass->/First/ +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/source/client_resource_access_action_source39.bal b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/source/client_resource_access_action_source39.bal new file mode 100644 index 000000000000..0354960d78f6 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/source/client_resource_access_action_source39.bal @@ -0,0 +1,23 @@ +client class MyClass { + resource function get First(int val) returns int { + + } + + resource function get First/[string second]() returns int { + + } + + resource function get First/[string second]/Third(string val) returns int { + + } +} + +MyClass myClass = new (); + +function fn1() { + int val = myClass->/; +} + +function fn2() { + int val = myClass->/First/ +}