From 04999a16f7d68ffb951316824f3dcb3facd219f3 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 5 Mar 2021 16:25:15 -0800 Subject: [PATCH] Lexically scoped child resources (#1516) Fixes: #1363 This change add support for lexical scoping/nesting of child resources. That it, for a resource type: `My.RP/someType@2020-01-01` there's now a simplified syntax for including a resource: `My.RP/someType/childType@2020-01-01` inside the body of the parent. This syntax also allows simplication of the type name of the child, limits its scope/visibility and implies an automatic `dependsOn` to the parent resource. The goal is to be the most idiomatic way to declare multiple resources to be deployed with a parent/child/grandchild/etc relationship. This also includes the new "nested resource access" operator which allows lookup of a nested resource: ``` output someOutput string = parent:child.properties.size `` --- .../101/azure-automation-account/main.json | 6 +- .../101/deployment-script-no-auth/main.json | 4 +- .../201/cdn-with-storage-account/main.json | 8 +- docs/grammar.md | 1 + docs/spec/expressions.md | 35 +- docs/spec/resources.md | 43 + .../NestedResourceTests.cs | 585 +++ src/Bicep.Core.Samples/DataSets.cs | 2 + .../Completions/symbolsPlusX.json | 5 +- .../Completions/justSymbols.json | 4053 ++++++++-------- .../Completions/oneTwoThreePlusSymbols.json | 4137 +++++++++-------- .../symbolsPlusParamDefaultFunctions.json | 4053 ++++++++-------- .../Completions/arrayPlusSymbols.json | 550 ++- .../cleanupPreferencesPlusSymbols.json | 550 ++- .../cliPropertyAccessIndexesPlusSymbols.json | 555 ++- ...iPropertyAccessIndexesPlusSymbols_for.json | 555 ++- ...liPropertyAccessIndexesPlusSymbols_if.json | 555 ++- .../createModeIndexPlusSymbols.json | 555 ++- .../createModeIndexPlusSymbols_for.json | 555 ++- .../createModeIndexPlusSymbols_if.json | 555 ++- .../Completions/defaultCreateModeIndexes.json | 555 ++- .../defaultCreateModeIndexes_for.json | 555 ++- .../defaultCreateModeIndexes_if.json | 555 ++- .../deploymentScriptKindsPlusSymbols.json | 550 ++- .../deploymentScriptKindsPlusSymbols_for.json | 550 ++- .../deploymentScriptKindsPlusSymbols_if.json | 550 ++- .../Completions/deploymentScriptTopLevel.json | 50 + .../Completions/discriminatorProperty.json | 50 + ...DiscriminatorPropertyIndexPlusSymbols.json | 555 ++- ...riminatorPropertyIndexPlusSymbols_for.json | 555 ++- ...criminatorPropertyIndexPlusSymbols_if.json | 555 ++- .../Completions/objectPlusSymbols.json | 550 ++- .../storageSkuNamePlusSymbols.json | 550 ++- .../Completions/symbols.json | 555 ++- .../Completions/symbolsPlusAccount.json | 550 ++- .../Completions/symbolsPlusAccount2.json | 550 ++- .../symbolsPlusAccountRuleState.json | 550 ++- .../symbolsPlusAccountRuleStateSomething.json | 550 ++- .../Completions/symbolsPlusArrayAndFor.json | 555 ++- .../symbolsPlusArrayWithoutFor.json | 550 ++- .../Completions/symbolsPlusRule.json | 550 ++- .../Completions/topLevelProperties.json | 50 + .../topLevelPropertiesMinusName.json | 50 + .../Files/NestedResources_LF/main.bicep | 82 + .../NestedResources_LF/main.diagnostics.bicep | 94 + .../NestedResources_LF/main.formatted.bicep | 82 + .../Files/NestedResources_LF/main.json | 147 + .../NestedResources_LF/main.symbols.bicep | 102 + .../NestedResources_LF/main.syntax.bicep | 677 +++ .../NestedResources_LF/main.tokens.bicep | 427 ++ .../DiagnosticCollectionExtensions.cs | 8 + .../Parsing/ExpressionTestVisitor.cs | 7 + .../Parsing/ParserTests.cs | 36 + .../Resource/ResourceTypeReferenceTests.cs | 53 +- .../Utils/ParserHelper.cs | 2 +- .../Diagnostics/DiagnosticBuilder.cs | 26 + .../Emit/EmitLimitationCalculator.cs | 14 +- src/Bicep.Core/Emit/ExpressionConverter.cs | 81 +- src/Bicep.Core/Emit/ExpressionEmitter.cs | 6 + .../Emit/ForSyntaxValidatorVisitor.cs | 17 +- .../Emit/ResourceDependencyVisitor.cs | 5 +- src/Bicep.Core/Emit/ScopeHelper.cs | 2 +- src/Bicep.Core/Emit/TemplateWriter.cs | 73 +- src/Bicep.Core/Parsing/ExpressionFlags.cs | 30 + src/Bicep.Core/Parsing/Parser.cs | 183 +- .../PrettyPrint/DocumentBuildVisitor.cs | 3 + .../Resources/ResourceTypeReference.cs | 56 + src/Bicep.Core/Semantics/Binder.cs | 36 +- .../Semantics/DeclarationVisitor.cs | 65 +- src/Bicep.Core/Semantics/FileSymbol.cs | 10 +- src/Bicep.Core/Semantics/IBinder.cs | 6 +- src/Bicep.Core/Semantics/ILanguageScope.cs | 2 +- src/Bicep.Core/Semantics/LocalScope.cs | 9 +- .../Semantics/NameBindingVisitor.cs | 73 +- .../Semantics/ResourceAncestorGraph.cs | 40 + .../Semantics/ResourceAncestorVisitor.cs | 53 + src/Bicep.Core/Semantics/ResourceSymbol.cs | 16 + .../Semantics/ResourceSymbolVisitor.cs | 32 + src/Bicep.Core/Semantics/SemanticModel.cs | 5 + src/Bicep.Core/Semantics/SymbolExtensions.cs | 7 + src/Bicep.Core/Syntax/ISyntaxHierarchy.cs | 66 + src/Bicep.Core/Syntax/ISyntaxVisitor.cs | 2 + src/Bicep.Core/Syntax/ObjectSyntax.cs | 5 + src/Bicep.Core/Syntax/ResourceAccessSyntax.cs | 31 + .../Syntax/ResourceDeclarationSyntax.cs | 77 +- src/Bicep.Core/Syntax/SyntaxHierarchy.cs | 31 +- src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs | 15 + src/Bicep.Core/Syntax/SyntaxVisitor.cs | 15 +- .../TypeSystem/CyclicCheckVisitor.cs | 84 +- .../TypeSystem/DeclaredTypeManager.cs | 56 +- .../TypeSystem/DeployTimeConstantVisitor.cs | 5 +- .../TypeSystem/TypeAssignmentVisitor.cs | 47 +- .../ParentChildResourceNameRewriter.cs | 2 +- .../Helpers/IntegrationTestHelper.cs | 12 +- .../HoverTests.cs | 13 +- .../RenameSymbolTests.cs | 4 +- .../BicepCompletionProviderTests.cs | 4 +- .../Completions/BicepCompletionContext.cs | 77 +- .../Completions/BicepCompletionContextKind.cs | 16 +- .../Completions/BicepCompletionProvider.cs | 98 +- .../Handlers/BicepDocumentSymbolHandler.cs | 2 +- src/Bicep.LangServer/SemanticTokenVisitor.cs | 6 + .../LanguageHelpers/SemanticTokenVisitor.cs | 6 + 103 files changed, 21962 insertions(+), 9331 deletions(-) create mode 100644 src/Bicep.Core.IntegrationTests/NestedResourceTests.cs create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.bicep create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.diagnostics.bicep create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.formatted.bicep create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.json create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbols.bicep create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.syntax.bicep create mode 100644 src/Bicep.Core.Samples/Files/NestedResources_LF/main.tokens.bicep create mode 100644 src/Bicep.Core/Parsing/ExpressionFlags.cs create mode 100644 src/Bicep.Core/Semantics/ResourceAncestorGraph.cs create mode 100644 src/Bicep.Core/Semantics/ResourceAncestorVisitor.cs create mode 100644 src/Bicep.Core/Semantics/ResourceSymbolVisitor.cs create mode 100644 src/Bicep.Core/Syntax/ISyntaxHierarchy.cs create mode 100644 src/Bicep.Core/Syntax/ResourceAccessSyntax.cs diff --git a/docs/examples/101/azure-automation-account/main.json b/docs/examples/101/azure-automation-account/main.json index 029fcb11eea..b68ffae804f 100644 --- a/docs/examples/101/azure-automation-account/main.json +++ b/docs/examples/101/azure-automation-account/main.json @@ -29,8 +29,8 @@ { "type": "Microsoft.OperationalInsights/workspaces", "apiVersion": "2020-03-01-preview", - "location": "[parameters('location')]", "name": "[variables('workspaceName')]", + "location": "[parameters('location')]", "properties": { "sku": { "name": "[parameters('sku')]" @@ -41,8 +41,8 @@ { "type": "Microsoft.Automation/automationAccounts", "apiVersion": "2015-10-31", - "location": "[parameters('location')]", "name": "[variables('automationaccountName')]", + "location": "[parameters('location')]", "properties": { "sku": { "name": "Basic" @@ -73,7 +73,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "17352343791615047991" + "templateHash": "12561374295951696718" } } } \ No newline at end of file diff --git a/docs/examples/101/deployment-script-no-auth/main.json b/docs/examples/101/deployment-script-no-auth/main.json index d3c134cf27f..19052aac0f2 100644 --- a/docs/examples/101/deployment-script-no-auth/main.json +++ b/docs/examples/101/deployment-script-no-auth/main.json @@ -20,8 +20,8 @@ { "type": "Microsoft.Resources/deploymentScripts", "apiVersion": "2020-10-01", - "kind": "AzurePowerShell", "name": "[parameters('dsName')]", + "kind": "AzurePowerShell", "location": "[parameters('location')]", "properties": { "azPowerShellVersion": "3.0", @@ -41,7 +41,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "9459865245622089966" + "templateHash": "5388873385114824013" } } } \ No newline at end of file diff --git a/docs/examples/201/cdn-with-storage-account/main.json b/docs/examples/201/cdn-with-storage-account/main.json index 56eca052734..a4c8c4319e2 100644 --- a/docs/examples/201/cdn-with-storage-account/main.json +++ b/docs/examples/201/cdn-with-storage-account/main.json @@ -17,8 +17,8 @@ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2020-08-01-preview", - "location": "[parameters('location')]", "name": "[variables('storageAccountName')]", + "location": "[parameters('location')]", "kind": "StorageV2", "sku": { "name": "Standard_LRS" @@ -27,8 +27,8 @@ { "type": "Microsoft.Cdn/profiles", "apiVersion": "2020-04-15", - "location": "[parameters('location')]", "name": "[variables('profileName')]", + "location": "[parameters('location')]", "sku": { "name": "Standard_Akamai" } @@ -36,8 +36,8 @@ { "type": "Microsoft.Cdn/profiles/endpoints", "apiVersion": "2020-04-15", - "location": "[parameters('location')]", "name": "[variables('endPointName')]", + "location": "[parameters('location')]", "properties": { "originHostHeader": "[replace(replace(reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))).primaryEndpoints.blob, 'https://', ''), '/', '')]", "isHttpAllowed": true, @@ -79,7 +79,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "8124028730334468476" + "templateHash": "15844009537662063652" } } } \ No newline at end of file diff --git a/docs/grammar.md b/docs/grammar.md index 948139dd5be..fa15113d9ab 100644 --- a/docs/grammar.md +++ b/docs/grammar.md @@ -72,6 +72,7 @@ memberExpression -> memberExpression "[" expression "]" | memberExpression "." IDENTIFIER(property) | memberExpression "." functionCall + memberExpression ":" IDENTIFIER(name) primaryExpression -> functionCall | diff --git a/docs/spec/expressions.md b/docs/spec/expressions.md index 5c4327b93c2..b341d48f302 100644 --- a/docs/spec/expressions.md +++ b/docs/spec/expressions.md @@ -6,7 +6,7 @@ The operators below are listed in descending order of precedence (the higher the | Symbol | Type of Operation | Associativity | |:-|:-|:-| -| `(` `)` `[` `]` `.` | Parentheses, property accessors and array indexers | Left to right | +| `(` `)` `[` `]` `.` `:` | Parentheses, array indexers, property accessors, and nested-resource accessor | Left to right | | `!` `-` | Unary | Right to left | | `%` `*` `/` | Multiplicative | Left to right | | `+` `-` | Additive | Left to right | @@ -106,6 +106,39 @@ Given the above declaration, the expression `x.y.z` would evaluate to the litera Property accessors can be used with any object. This includes parameters and variables of object types and object literals. Using a property accessor on an expression of non-object type is an error. +## Nested resource accessors +Nested resource accessors are used to access resources that are declared inside another resource. The symbolic name declared by a nested resource can normally only be referenced within the body of the containing resource. To reference a nested resource outside the containing resource, it must be qualified with the containing resource name and the `:` operator. Other resources declared within the same containing resource may used the name without qualification. + +``` +resource myParent 'My.Rp/parentType@2020-01-01' = { + name: 'myParent' + location: 'West US' + + // declares a nested resource inside 'myParent' + resource myChild 'childType' = { + name: 'myChild' + properties: { + displayName: 'Child Resource' + } + } + + // 'myChild' can be referened inside the body of 'myParent' + resource mySibling 'childType' = { + name: 'mySibling' + properties: { + displayName: 'Sibling of ${mychild.properties.displayName}' + } + } +} + +// accessing 'myChild' here requires the resource access operator +output displayName string = myParent:myChild.properties.displayName +``` + +Since the declaration of `myChild` is contained within `myParent` the access to `myChild`'s properties must be qualified with `myParent:`. + +The `:` must be parenthesized when it appears inside a ternary expression such as: `useChildValue ? (myParent:myChild.properties.displayName) : 'defaultValue'`. + ## Array indexers Array indexers serve two purposes. Most commonly, they are used to access items in an array. However, they can also be used to access properties of objects via expressions or string literals. diff --git a/docs/spec/resources.md b/docs/spec/resources.md index 109bf6a2b35..2dc9d53ac06 100644 --- a/docs/spec/resources.md +++ b/docs/spec/resources.md @@ -42,6 +42,35 @@ resource dnsZone 'Microsoft.Network/dnszones@2018-05-01' = { } ``` +## Resource nesting + +A resource declaration may appear inside another resource declaration when the inner resource is a child type of the containing resource. A nested resource is considered to have an implicit dependency on its containing resource for creation order. + +``` +resource myParent 'My.Rp/parentType@2020-01-01' = { + name: 'myParent' + location: 'West US' + + // declares a resource of type 'My.Rp/parentType/childType@2020-01-01' + resource myChild 'childType' = { + name: 'myChild' + properties: { + displayName: 'child in ${parent.location}' + } + } +} +``` + +A nested resource must specify a single type segment to declare its type. The full type of the nested resource is the containing resource's type with the additional segment appended to the list of types. In the example above `My.Rp/parentType@2020-01-01` is combined with `childType` resulting in `My.Rp/parentType/childType@2020-01-01`. The nested resource may optionally declare an API version using the syntax `@`. If the nested resource omits the API version the the API version of the containing resource is used. If the nested resource specifies an API version then the API version specified will be used. If the example above were modified so that the nested resource declared its type as `childType@2020-20-20` then the fully-qualified type would be `My.Rp/parentType/childType@2020-20-20`. + +Nested resource declarations should specify their `name` property with a single segment. The the example above the nested resource declares its `name` property with the value `myChild`. In ARM-JSON, child resources must declared their `name` property as a `/`-separated string containing multiple segments like: `myParent/myChild` - this is not required with nested resources. + +A nested resource declaration must appear at the top level of syntax of the containing resource. Declarations may be nested arbirarily deep, as long as each level is a child type of its containing resource. + +The symbolic name of a nested resource is only accessible inside the body of its containing resource. + +A nested resource may access properties of its containing resource. Other resources declared inside the body of the same containing resource may reference each other and the typical rules about cyclic-dependencies apply. A containing resource may not access properties of the resources it contains, this would cause a cyclic-dependency. + ## Resource dependencies All declared resources will be deployed concurrently in the compiled template. Order of resource deployment can be influenced in the following ways: ### Explicit dependency @@ -78,6 +107,20 @@ resource otherResource 'Microsoft.Example/examples@2020-06-01' = { } ``` +A nested resource has an implicit dependency on its containing resource. + +``` +resource myParent 'My.Rp/parentType@2020-01-01' = { + name: 'myParent' + location: 'West US' + + // depends on 'myParent' implicitly + resource myChild 'childType' = { + name: 'myChild' + } +} +``` + ## Conditions > Requires Bicep CLI v0.2.212 or later diff --git a/src/Bicep.Core.IntegrationTests/NestedResourceTests.cs b/src/Bicep.Core.IntegrationTests/NestedResourceTests.cs new file mode 100644 index 00000000000..998c2a817b1 --- /dev/null +++ b/src/Bicep.Core.IntegrationTests/NestedResourceTests.cs @@ -0,0 +1,585 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System.IO; +using System.Linq; +using System.Text; +using Bicep.Core.Diagnostics; +using Bicep.Core.Emit; +using Bicep.Core.Semantics; +using Bicep.Core.TypeSystem; +using Bicep.Core.UnitTests; +using Bicep.Core.UnitTests.Assertions; +using Bicep.Core.UnitTests.Utils; +using FluentAssertions; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Bicep.Core.IntegrationTests +{ + [TestClass] + public class NestedResourceTests + { + [TestMethod] + public void NestedResources_symbols_are_bound() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + size: 'large' + } + + resource child 'childType' = { + name: 'child' + properties: { + style: 'very cool' + } + } + + resource sibling 'childType@2020-01-02' = { + name: 'sibling' + properties: { + style: child.properties.style + size: parent.properties.size + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + + model.GetAllDiagnostics().Should().BeEmpty(); + + var expected = new [] + { + new { name = "child", type = "My.RP/parentType/childType@2020-01-01", }, + new { name = "parent", type = "My.RP/parentType@2020-01-01", }, + new { name = "sibling", type = "My.RP/parentType/childType@2020-01-02", }, + }; + + model.Root.GetAllResourceDeclarations() + .Select(s => new { name = s.Name, type = (s.Type as ResourceType)?.TypeReference.FormatName(), }) + .OrderBy(n => n.name) + .Should().BeEquivalentTo(expected); + } + + [TestMethod] + public void NestedResources_resource_can_contain_property_called_resource() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + size: 'large' + } + resource: 'yes please' + + resource child 'childType' = { + name: 'child' + properties: { + style: 'very cool' + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + + // The property "resource" is not allowed ... + model.GetAllDiagnostics().Should().HaveCount(1); + model.GetAllDiagnostics().Single().Should().HaveCodeAndSeverity("BCP038", DiagnosticLevel.Error); + + var expected = new [] + { + new { name = "child", type = "My.RP/parentType/childType@2020-01-01", }, + new { name = "parent", type = "My.RP/parentType@2020-01-01", }, + }; + + model.Root.GetAllResourceDeclarations() + .Select(s => new { name = s.Name, type = (s.Type as ResourceType)?.TypeReference.FormatName(), }) + .OrderBy(n => n.name) + .Should().BeEquivalentTo(expected); + } + + [TestMethod] + public void NestedResources_valid_resource_references() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + size: 'large' + } + + resource child 'childType' = { + name: 'child' + properties: { + style: 'very cool' + } + + resource grandchild 'grandchildType' = { + name: 'grandchild' + properties: { + temperature: 'ice-cold' + } + } + } + + resource sibling 'childType@2020-01-02' = { + name: 'sibling' + properties: { + style: parent:child.properties.style + size: parent.properties.size + temperatureC: child:grandchild.properties.temperature + temperatureF: parent:child:grandchild.properties.temperature + } + } +} + +output fromChild string = parent:child.properties.style +output fromGrandchild string = parent:child:grandchild.properties.style +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + + model.GetAllDiagnostics().Should().BeEmpty(); + + var parent = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "parent"); + var references = model.FindReferences(parent); + references.Should().HaveCount(6); + + var child = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "child"); + references = model.FindReferences(child); + references.Should().HaveCount(6); + + var grandchild = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "grandchild"); + references = model.FindReferences(grandchild); + references.Should().HaveCount(4); + + var sibling = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "sibling"); + references = model.FindReferences(sibling); + references.Should().HaveCount(1); + + var emitter = new TemplateEmitter(compilation.GetEntrypointSemanticModel(), BicepTestConstants.DevAssemblyFileVersion); + using var outputStream = new MemoryStream(); + emitter.Emit(outputStream); + + outputStream.Seek(0L, SeekOrigin.Begin); + var text = Encoding.UTF8.GetString(outputStream.GetBuffer()); + } + + [TestMethod] + public void NestedResources_invalid_resource_references() + { + var program = @" +var notResource = 'hi' +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + size: 'large' + } + + resource child 'childType' = { + name: 'child' + properties: { + style: 'very cool' + } + + resource grandchild 'grandchildType' = { + name: 'grandchild' + properties: { + temperature: 'ice-cold' + } + } + } +} + +output fromVariable string = notResource:child.properties.style +output fromChildInvalid string = parent:child2.properties.style +output fromGrandchildInvalid string = parent:child:cousin.properties.temperature +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + + model.GetAllDiagnostics().Should().HaveDiagnostics(new []{ + ("BCP158", DiagnosticLevel.Error, "Cannot access nested resources of type \"'hi'\". A resource type is required."), + ("BCP159", DiagnosticLevel.Error, "The resource \"parent\" does not contain a nested resource named \"child2\". Known nested resources are: \"child\"."), + ("BCP159", DiagnosticLevel.Error, "The resource \"child\" does not contain a nested resource named \"cousin\". Known nested resources are: \"grandchild\"."), + }); + } + + [TestMethod] + public void NestedResources_child_cannot_be_referenced_outside_of_scope() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + resource child 'childType' = { + name: 'child' + properties: { + style: 'very cool' + } + } +} + +resource other 'My.RP/parentType@2020-01-01' = { + name: 'other' + properties: { + style: child.properties.style + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var diagnostics = compilation.GetEntrypointSemanticModel().GetAllDiagnostics(); + diagnostics.Should().HaveDiagnostics(new[] { + ("BCP057", DiagnosticLevel.Error, "The name \"child\" does not exist in the current context."), + }); + } + + [TestMethod] + public void NestedResources_child_cannot_specify_qualified_type() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + resource child 'My.RP/parentType/childType@2020-01-01' = { + name: 'child' + properties: { + style: 'very cool' + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var diagnostics = compilation.GetEntrypointSemanticModel().GetAllDiagnostics(); + diagnostics.Should().HaveDiagnostics(new[] { + ("BCP156", DiagnosticLevel.Error, "The resource type segment \"My.RP/parentType/childType@2020-01-01\" is invalid. Nested resources must specify a single type segment, and optionally can specify an api version using the format \"@\"."), + }); + } + + [TestMethod] + public void NestedResources_error_in_base_type() + { + var program = @" +resource parent 'My.RP/parentType@invalid-version' = { + name: 'parent' + properties: { + } + + resource child 'My.RP/parentType/childType@2020-01-01' = { + name: 'child' + properties: { + style: 'very cool' + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var diagnostics = compilation.GetEntrypointSemanticModel().GetAllDiagnostics(); + diagnostics.Should().HaveDiagnostics(new[] { + ("BCP029", DiagnosticLevel.Error, "The resource type is not valid. Specify a valid resource type of format \"/@\"."), + ("BCP157", DiagnosticLevel.Error, "The resource type cannot be determined due to an error in containing resource \"parent\"."), + }); + } + + [TestMethod] + public void NestedResources_error_in_parent_type() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + // Error here + resource child 'My.RP/parentType/childType@2020-01-01' = { + name: 'child' + properties: { + } + + resource grandchild 'granchildType' = { + name: 'grandchild' + properties: { + } + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var diagnostics = compilation.GetEntrypointSemanticModel().GetAllDiagnostics(); + diagnostics.Should().HaveDiagnostics(new[] { + ("BCP156", DiagnosticLevel.Error, "The resource type segment \"My.RP/parentType/childType@2020-01-01\" is invalid. Nested resources must specify a single type segment, and optionally can specify an api version using the format \"@\"."), + ("BCP157", DiagnosticLevel.Error, "The resource type cannot be determined due to an error in containing resource \"child\"."), + }); + } + + [TestMethod] + public void NestedResources_child_cycle_is_detected_correctly() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + style: child.properties.style + } + + resource child 'childType' = { + name: 'child' + properties: { + style: 'very cool' + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + compilation.GetEntrypointSemanticModel().GetAllDiagnostics().Should().HaveDiagnostics(new[] { + ("BCP080", DiagnosticLevel.Error, "The expression is involved in a cycle (\"child\" -> \"parent\")."), + }); + } + + [TestMethod] // With more than one level of nesting the name just isn't visible. + public void NestedResources_grandchild_cycle_results_in_binding_failure() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + style: grandchild.properties.style + } + + resource child 'childType' = { + name: 'child' + properties: { + } + + resource grandchild 'grandchildType' = { + name: 'grandchild' + properties: { + style: 'very cool' + } + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + compilation.GetEntrypointSemanticModel().GetAllDiagnostics().Should().HaveDiagnostics(new[] { + ("BCP057", DiagnosticLevel.Error, "The name \"grandchild\" does not exist in the current context."), + }); + } + + [TestMethod] + public void NestedResources_ancestors_are_detected() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + resource child 'childType' = { + name: 'child' + properties: { + } + + resource grandchild 'grandchildType' = { + name: 'grandchild' + properties: { + } + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + model.GetAllDiagnostics().Should().BeEmpty(); + + var parent = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "parent"); + model.ResourceAncestors.GetAncestors(parent).Should().BeEmpty(); + + var child = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "child"); + model.ResourceAncestors.GetAncestors(child).Should().Equal(new []{ parent, }); + + var grandchild = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "grandchild"); + model.ResourceAncestors.GetAncestors(grandchild).Should().Equal(new []{ parent, child, }); // order matters + } + + [TestMethod] + public void NestedResources_scopes_isolate_names() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + resource child 'childType' = { + name: 'child' + properties: { + } + + resource grandchild 'grandchildType' = { + name: 'grandchild' + properties: { + } + } + } + + resource sibling 'childType' = { + name: 'sibling' + properties: { + } + + resource grandchild 'grandchildType' = { + name: 'grandchild' + properties: { + } + } + } +} +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + model.GetAllDiagnostics().Should().BeEmpty(); + + var parent = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "parent"); + model.ResourceAncestors.GetAncestors(parent).Should().BeEmpty(); + + var child = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "child"); + model.ResourceAncestors.GetAncestors(child).Should().Equal(new []{ parent, }); + + var childGrandChild = (ResourceSymbol)model.GetSymbolInfo(child.DeclaringResource.GetBody().Resources.Single())!; + model.ResourceAncestors.GetAncestors(childGrandChild).Should().Equal(new []{ parent, child, }); + + var sibling = model.Root.GetAllResourceDeclarations().Single(r => r.Name == "sibling"); + model.ResourceAncestors.GetAncestors(child).Should().Equal(new []{ parent, }); + + var siblingGrandChild = (ResourceSymbol)model.GetSymbolInfo(sibling.DeclaringResource.GetBody().Resources.Single())!; + model.ResourceAncestors.GetAncestors(siblingGrandChild).Should().Equal(new []{ parent, sibling, }); + } + + [TestMethod] // Should turn into positive test when support is added. + public void NestedResources_cannot_appear_inside_loops() + { + var program = @" +var items = [ + 'a' + 'b' +] +resource parent 'My.RP/parentType@2020-01-01' = [for item in items: { + name: 'parent' + properties: { + } + + resource child 'childType' = { + name: 'child' + properties: { + } + } +}] +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + compilation.GetEntrypointSemanticModel().GetAllDiagnostics().Should().HaveDiagnostics(new[] { + ("BCP160", DiagnosticLevel.Error, "A nested resource cannot appear inside of a resource with a for-expression."), + }); + } + + [TestMethod] + public void NestedResources_can_have_loops() + { + var program = @" +var items = [ + 'a' + 'b' +] +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + resource child 'childType' = [for item in items: { + name: 'child' + properties: { + } + }] +} + +output loopy string = parent:child[0].name +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + compilation.GetEntrypointSemanticModel().GetAllDiagnostics().Should().BeEmpty(); + + var emitter = new TemplateEmitter(compilation.GetEntrypointSemanticModel(), BicepTestConstants.DevAssemblyFileVersion); + using var outputStream = new MemoryStream(); + emitter.Emit(outputStream); + + outputStream.Seek(0L, SeekOrigin.Begin); + var text = Encoding.UTF8.GetString(outputStream.GetBuffer()); + } + + [TestMethod] + public void NestedResources_can_get_declared_type_for_property_completion() + { + var program = @" +resource parent 'My.RP/parentType@2020-01-01' = { + name: 'parent' + properties: { + } + + resource child 'childType' = { + name: 'child' + properties: { + } + } +} + +output hmmmm string = parent:child.properties +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + + var output = model.Root.OutputDeclarations.Single(); + var expression = output.DeclaringOutput.Value; + var type = model.GetDeclaredType(expression); + type.Should().BeOfType(); + } + + [TestMethod] + public void NestedResources_provides_correct_error_for_resource_access_with_broken_body() + { + var program = @" +resource broken 'Microsoft.Network/virtualNetworks@2020-06-01' = + +output foo string = broken:fake +"; + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateFromText(program)); + var model = compilation.GetEntrypointSemanticModel(); + model.GetAllDiagnostics().Should().HaveDiagnostics(new[] { + ("BCP118", DiagnosticLevel.Error, "Expected the \"{\" character, the \"[\" character, or the \"if\" keyword at this location."), + ("BCP159", DiagnosticLevel.Error, "The resource \"broken\" does not contain a nested resource named \"fake\". Known nested resources are: \"(none)\"."), + }); + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core.Samples/DataSets.cs b/src/Bicep.Core.Samples/DataSets.cs index 0eb2f099a35..b36ba9c2081 100644 --- a/src/Bicep.Core.Samples/DataSets.cs +++ b/src/Bicep.Core.Samples/DataSets.cs @@ -37,6 +37,8 @@ public static class DataSets public static DataSet Outputs_CRLF => CreateDataSet(); + public static DataSet NestedResources_LF => CreateDataSet(); + public static DataSet Parameters_CRLF => CreateDataSet(); public static DataSet Parameters_LF => CreateDataSet(); diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX.json b/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX.json index 8d872d1150f..1f1d31e4ed5 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX.json +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX.json @@ -1858,7 +1858,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "singleModuleForRuntimeCheck", diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/justSymbols.json b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/justSymbols.json index e32f4a3dee3..f645db94f39 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/justSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/justSymbols.json @@ -1,2026 +1,2029 @@ -[ - { - "label": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "kind": "field", - "detail": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "deprecated": false, - "preselect": false, - "sortText": "2_WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong" - } - }, - { - "label": "any", - "kind": "function", - "detail": "any()", - "deprecated": false, - "preselect": false, - "sortText": "3_any", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "any($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "array", - "kind": "function", - "detail": "array()", - "deprecated": false, - "preselect": false, - "sortText": "3_array", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "array($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "az", - "kind": "folder", - "detail": "az", - "deprecated": false, - "preselect": false, - "sortText": "3_az", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "az" - } - }, - { - "label": "badInterpolatedString", - "kind": "field", - "detail": "badInterpolatedString", - "deprecated": false, - "preselect": false, - "sortText": "2_badInterpolatedString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "badInterpolatedString" - } - }, - { - "label": "badInterpolatedString2", - "kind": "field", - "detail": "badInterpolatedString2", - "deprecated": false, - "preselect": false, - "sortText": "2_badInterpolatedString2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "badInterpolatedString2" - } - }, - { - "label": "base64", - "kind": "function", - "detail": "base64()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "base64ToJson", - "kind": "function", - "detail": "base64ToJson()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64ToJson", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64ToJson($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "base64ToString", - "kind": "function", - "detail": "base64ToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64ToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64ToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "bool", - "kind": "function", - "detail": "bool()", - "deprecated": false, - "preselect": false, - "sortText": "3_bool", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "bool($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "coalesce", - "kind": "function", - "detail": "coalesce()", - "deprecated": false, - "preselect": false, - "sortText": "3_coalesce", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "coalesce($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "commaOne", - "kind": "field", - "detail": "commaOne", - "deprecated": false, - "preselect": false, - "sortText": "2_commaOne", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaOne" - } - }, - { - "label": "commaOneWithDecorator", - "kind": "field", - "detail": "commaOneWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_commaOneWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaOneWithDecorator" - } - }, - { - "label": "commaTwo", - "kind": "field", - "detail": "commaTwo", - "deprecated": false, - "preselect": false, - "sortText": "2_commaTwo", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaTwo" - } - }, - { - "label": "concat", - "kind": "function", - "detail": "concat()", - "deprecated": false, - "preselect": false, - "sortText": "3_concat", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "concat($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "contains", - "kind": "function", - "detail": "contains()", - "deprecated": false, - "preselect": false, - "sortText": "3_contains", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "contains($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dataUri", - "kind": "function", - "detail": "dataUri()", - "deprecated": false, - "preselect": false, - "sortText": "3_dataUri", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dataUri($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dataUriToString", - "kind": "function", - "detail": "dataUriToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_dataUriToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dataUriToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dateTimeAdd", - "kind": "function", - "detail": "dateTimeAdd()", - "deprecated": false, - "preselect": false, - "sortText": "3_dateTimeAdd", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dateTimeAdd($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "defaultValueCompletions", - "kind": "field", - "detail": "defaultValueCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_defaultValueCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "defaultValueCompletions" - } - }, - { - "label": "deployment", - "kind": "function", - "detail": "deployment()", - "deprecated": false, - "preselect": false, - "sortText": "3_deployment", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "deployment()$0" - } - }, - { - "label": "duplicatedModifierProperty", - "kind": "field", - "detail": "duplicatedModifierProperty", - "deprecated": false, - "preselect": false, - "sortText": "2_duplicatedModifierProperty", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "duplicatedModifierProperty" - } - }, - { - "label": "empty", - "kind": "function", - "detail": "empty()", - "deprecated": false, - "preselect": false, - "sortText": "3_empty", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "empty($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "emptyAllowedInt", - "kind": "field", - "detail": "emptyAllowedInt", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedInt" - } - }, - { - "label": "emptyAllowedIntWithDecorator", - "kind": "field", - "detail": "emptyAllowedIntWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedIntWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedIntWithDecorator" - } - }, - { - "label": "emptyAllowedString", - "kind": "field", - "detail": "emptyAllowedString", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedString" - } - }, - { - "label": "emptyAllowedStringWithDecorator", - "kind": "field", - "detail": "emptyAllowedStringWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedStringWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedStringWithDecorator" - } - }, - { - "label": "endsWith", - "kind": "function", - "detail": "endsWith()", - "deprecated": false, - "preselect": false, - "sortText": "3_endsWith", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "endsWith($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "environment", - "kind": "function", - "detail": "environment()", - "deprecated": false, - "preselect": false, - "sortText": "3_environment", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "environment()$0" - } - }, - { - "label": "expressionInModifier", - "kind": "field", - "detail": "expressionInModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_expressionInModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "expressionInModifier" - } - }, - { - "label": "expressionInModifierWithDecorator", - "kind": "field", - "detail": "expressionInModifierWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_expressionInModifierWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "expressionInModifierWithDecorator" - } - }, - { - "label": "extensionResourceId", - "kind": "function", - "detail": "extensionResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_extensionResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "extensionResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "fatalErrorInIssue1713", - "kind": "field", - "detail": "fatalErrorInIssue1713", - "deprecated": false, - "preselect": false, - "sortText": "2_fatalErrorInIssue1713", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "fatalErrorInIssue1713" - } - }, - { - "label": "first", - "kind": "function", - "detail": "first()", - "deprecated": false, - "preselect": false, - "sortText": "3_first", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "first($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "format", - "kind": "function", - "detail": "format()", - "deprecated": false, - "preselect": false, - "sortText": "3_format", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "format($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "guid", - "kind": "function", - "detail": "guid()", - "deprecated": false, - "preselect": false, - "sortText": "3_guid", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "guid($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "incompleteDecorators", - "kind": "field", - "detail": "incompleteDecorators", - "deprecated": false, - "preselect": false, - "sortText": "2_incompleteDecorators", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "incompleteDecorators" - } - }, - { - "label": "indexOf", - "kind": "function", - "detail": "indexOf()", - "deprecated": false, - "preselect": false, - "sortText": "3_indexOf", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "indexOf($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "int", - "kind": "function", - "detail": "int()", - "deprecated": false, - "preselect": false, - "sortText": "3_int", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "int($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "intModifierCompletions", - "kind": "field", - "detail": "intModifierCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_intModifierCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "intModifierCompletions" - } - }, - { - "label": "intersection", - "kind": "function", - "detail": "intersection()", - "deprecated": false, - "preselect": false, - "sortText": "3_intersection", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "intersection($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "json", - "kind": "function", - "detail": "json()", - "deprecated": false, - "preselect": false, - "sortText": "3_json", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "json($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "last", - "kind": "function", - "detail": "last()", - "deprecated": false, - "preselect": false, - "sortText": "3_last", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "last($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "lastIndexOf", - "kind": "function", - "detail": "lastIndexOf()", - "deprecated": false, - "preselect": false, - "sortText": "3_lastIndexOf", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "lastIndexOf($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "length", - "kind": "function", - "detail": "length()", - "deprecated": false, - "preselect": false, - "sortText": "3_length", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "length($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "malformedModifier", - "kind": "field", - "detail": "malformedModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedModifier" - } - }, - { - "label": "malformedType", - "kind": "field", - "detail": "malformedType", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedType" - } - }, - { - "label": "malformedType2", - "kind": "field", - "detail": "malformedType2", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedType2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedType2" - } - }, - { - "label": "managementGroup", - "kind": "function", - "detail": "managementGroup()", - "deprecated": false, - "preselect": false, - "sortText": "3_managementGroup", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "managementGroup($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "max", - "kind": "function", - "detail": "max()", - "deprecated": false, - "preselect": false, - "sortText": "3_max", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "max($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "min", - "kind": "function", - "detail": "min()", - "deprecated": false, - "preselect": false, - "sortText": "3_min", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "min($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "missingType", - "kind": "field", - "detail": "missingType", - "deprecated": false, - "preselect": false, - "sortText": "2_missingType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingType" - } - }, - { - "label": "missingTypeWithSpaceAfter", - "kind": "field", - "detail": "missingTypeWithSpaceAfter", - "deprecated": false, - "preselect": false, - "sortText": "2_missingTypeWithSpaceAfter", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingTypeWithSpaceAfter" - } - }, - { - "label": "missingTypeWithTabAfter", - "kind": "field", - "detail": "missingTypeWithTabAfter", - "deprecated": false, - "preselect": false, - "sortText": "2_missingTypeWithTabAfter", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingTypeWithTabAfter" - } - }, - { - "label": "myBool", - "kind": "field", - "detail": "myBool", - "deprecated": false, - "preselect": false, - "sortText": "2_myBool", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myBool" - } - }, - { - "label": "myFalsehood", - "kind": "field", - "detail": "myFalsehood", - "deprecated": false, - "preselect": false, - "sortText": "2_myFalsehood", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myFalsehood" - } - }, - { - "label": "myInt", - "kind": "field", - "detail": "myInt", - "deprecated": false, - "preselect": false, - "sortText": "2_myInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myInt" - } - }, - { - "label": "myInt2", - "kind": "field", - "detail": "myInt2", - "deprecated": false, - "preselect": false, - "sortText": "2_myInt2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myInt2" - } - }, - { - "label": "myString", - "kind": "field", - "detail": "myString", - "deprecated": false, - "preselect": false, - "sortText": "2_myString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myString" - } - }, - { - "label": "myString2", - "kind": "field", - "detail": "myString2", - "deprecated": false, - "preselect": false, - "sortText": "2_myString2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myString2" - } - }, - { - "label": "myTruth", - "kind": "field", - "detail": "myTruth", - "deprecated": false, - "preselect": false, - "sortText": "2_myTruth", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myTruth" - } - }, - { - "label": "newGuid", - "kind": "function", - "detail": "newGuid()", - "deprecated": false, - "preselect": false, - "sortText": "3_newGuid", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "newGuid()$0" - } - }, - { - "label": "noValueAfterColon", - "kind": "field", - "detail": "noValueAfterColon", - "deprecated": false, - "preselect": false, - "sortText": "2_noValueAfterColon", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "noValueAfterColon" - } - }, - { - "label": "nonCompileTimeConstant", - "kind": "field", - "detail": "nonCompileTimeConstant", - "deprecated": false, - "preselect": false, - "sortText": "2_nonCompileTimeConstant", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonCompileTimeConstant" - } - }, - { - "label": "nonCompileTimeConstantWithDecorator", - "kind": "field", - "detail": "nonCompileTimeConstantWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_nonCompileTimeConstantWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonCompileTimeConstantWithDecorator" - } - }, - { - "label": "nonConstantInDecorator", - "kind": "field", - "detail": "nonConstantInDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_nonConstantInDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonConstantInDecorator" - } - }, - { - "label": "padLeft", - "kind": "function", - "detail": "padLeft()", - "deprecated": false, - "preselect": false, - "sortText": "3_padLeft", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "padLeft($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "paramAccessingOutput", - "kind": "field", - "detail": "paramAccessingOutput", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingOutput", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingOutput" - } - }, - { - "label": "paramAccessingOutput2", - "kind": "field", - "detail": "paramAccessingOutput2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingOutput2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingOutput2" - } - }, - { - "label": "paramAccessingResource", - "kind": "field", - "detail": "paramAccessingResource", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingResource", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingResource" - } - }, - { - "label": "paramAccessingResource2", - "kind": "field", - "detail": "paramAccessingResource2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingResource2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingResource2" - } - }, - { - "label": "paramAccessingVar", - "kind": "field", - "detail": "paramAccessingVar", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingVar", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingVar" - } - }, - { - "label": "paramAccessingVar2", - "kind": "field", - "detail": "paramAccessingVar2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingVar2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingVar2" - } - }, - { - "label": "paramDefaultOneCycle", - "kind": "field", - "detail": "paramDefaultOneCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultOneCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultOneCycle" - } - }, - { - "label": "paramDefaultTwoCycle1", - "kind": "field", - "detail": "paramDefaultTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultTwoCycle1" - } - }, - { - "label": "paramDefaultTwoCycle2", - "kind": "field", - "detail": "paramDefaultTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultTwoCycle2" - } - }, - { - "label": "paramMixedTwoCycle1", - "kind": "field", - "detail": "paramMixedTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramMixedTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramMixedTwoCycle1" - } - }, - { - "label": "paramMixedTwoCycle2", - "kind": "field", - "detail": "paramMixedTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramMixedTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramMixedTwoCycle2" - } - }, - { - "label": "paramModifierOneCycle", - "kind": "field", - "detail": "paramModifierOneCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierOneCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierOneCycle" - } - }, - { - "label": "paramModifierSelfCycle", - "kind": "field", - "detail": "paramModifierSelfCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierSelfCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierSelfCycle" - } - }, - { - "label": "paramModifierSelfCycleWithDecorator", - "kind": "field", - "detail": "paramModifierSelfCycleWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierSelfCycleWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierSelfCycleWithDecorator" - } - }, - { - "label": "paramModifierTwoCycle1", - "kind": "field", - "detail": "paramModifierTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierTwoCycle1" - } - }, - { - "label": "paramModifierTwoCycle2", - "kind": "field", - "detail": "paramModifierTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierTwoCycle2" - } - }, - { - "label": "partialType", - "kind": "field", - "detail": "partialType", - "deprecated": false, - "preselect": false, - "sortText": "2_partialType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "partialType" - } - }, - { - "label": "pickZones", - "kind": "function", - "detail": "pickZones()", - "deprecated": false, - "preselect": false, - "sortText": "3_pickZones", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "pickZones($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "providers", - "kind": "function", - "detail": "providers()", - "deprecated": false, - "preselect": false, - "sortText": "3_providers", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "providers($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "range", - "kind": "function", - "detail": "range()", - "deprecated": false, - "preselect": false, - "sortText": "3_range", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "range($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "reference", - "kind": "function", - "detail": "reference()", - "deprecated": false, - "preselect": false, - "sortText": "3_reference", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "reference($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "replace", - "kind": "function", - "detail": "replace()", - "deprecated": false, - "preselect": false, - "sortText": "3_replace", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "replace($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "resourceGroup", - "kind": "function", - "detail": "resourceGroup()", - "deprecated": false, - "preselect": false, - "sortText": "3_resourceGroup", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "resourceGroup($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "resourceId", - "kind": "function", - "detail": "resourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_resourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "resourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "sampleResource", - "kind": "interface", - "detail": "sampleResource", - "deprecated": false, - "preselect": false, - "sortText": "2_sampleResource", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sampleResource" - } - }, - { - "label": "sampleVar", - "kind": "variable", - "detail": "sampleVar", - "deprecated": false, - "preselect": false, - "sortText": "2_sampleVar", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sampleVar" - } - }, - { - "label": "secureInt", - "kind": "field", - "detail": "secureInt", - "deprecated": false, - "preselect": false, - "sortText": "2_secureInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "secureInt" - } - }, - { - "label": "secureIntWithDecorator", - "kind": "field", - "detail": "secureIntWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_secureIntWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "secureIntWithDecorator" - } - }, - { - "label": "skip", - "kind": "function", - "detail": "skip()", - "deprecated": false, - "preselect": false, - "sortText": "3_skip", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "skip($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "someArray", - "kind": "field", - "detail": "someArray", - "deprecated": false, - "preselect": false, - "sortText": "2_someArray", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someArray" - } - }, - { - "label": "someArrayWithDecorator", - "kind": "field", - "detail": "someArrayWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_someArrayWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someArrayWithDecorator" - } - }, - { - "label": "someInteger", - "kind": "field", - "detail": "someInteger", - "deprecated": false, - "preselect": false, - "sortText": "2_someInteger", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someInteger" - } - }, - { - "label": "someString", - "kind": "field", - "detail": "someString", - "deprecated": false, - "preselect": false, - "sortText": "2_someString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someString" - } - }, - { - "label": "split", - "kind": "function", - "detail": "split()", - "deprecated": false, - "preselect": false, - "sortText": "3_split", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "split($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "startsWith", - "kind": "function", - "detail": "startsWith()", - "deprecated": false, - "preselect": false, - "sortText": "3_startsWith", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "startsWith($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "string", - "kind": "function", - "detail": "string()", - "deprecated": false, - "preselect": false, - "sortText": "3_string", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "string($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "stringLiteral", - "kind": "field", - "detail": "stringLiteral", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral" - } - }, - { - "label": "stringLiteral2", - "kind": "field", - "detail": "stringLiteral2", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral2" - } - }, - { - "label": "stringLiteral3", - "kind": "field", - "detail": "stringLiteral3", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral3", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral3" - } - }, - { - "label": "stringModifierCompletions", - "kind": "field", - "detail": "stringModifierCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_stringModifierCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringModifierCompletions" - } - }, - { - "label": "subscription", - "kind": "function", - "detail": "subscription()", - "deprecated": false, - "preselect": false, - "sortText": "3_subscription", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "subscription($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "subscriptionResourceId", - "kind": "function", - "detail": "subscriptionResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_subscriptionResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "subscriptionResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "substring", - "kind": "function", - "detail": "substring()", - "deprecated": false, - "preselect": false, - "sortText": "3_substring", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "substring($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "sys", - "kind": "folder", - "detail": "sys", - "deprecated": false, - "preselect": false, - "sortText": "3_sys", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sys" - } - }, - { - "label": "take", - "kind": "function", - "detail": "take()", - "deprecated": false, - "preselect": false, - "sortText": "3_take", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "take($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "tenant", - "kind": "function", - "detail": "tenant()", - "deprecated": false, - "preselect": false, - "sortText": "3_tenant", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tenant()$0" - } - }, - { - "label": "tenantResourceId", - "kind": "function", - "detail": "tenantResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_tenantResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tenantResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "toLower", - "kind": "function", - "detail": "toLower()", - "deprecated": false, - "preselect": false, - "sortText": "3_toLower", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "toLower($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "toUpper", - "kind": "function", - "detail": "toUpper()", - "deprecated": false, - "preselect": false, - "sortText": "3_toUpper", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "toUpper($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "tooManyArguments1", - "kind": "field", - "detail": "tooManyArguments1", - "deprecated": false, - "preselect": false, - "sortText": "2_tooManyArguments1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tooManyArguments1" - } - }, - { - "label": "tooManyArguments2", - "kind": "field", - "detail": "tooManyArguments2", - "deprecated": false, - "preselect": false, - "sortText": "2_tooManyArguments2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tooManyArguments2" - } - }, - { - "label": "trailingSpace", - "kind": "field", - "detail": "trailingSpace", - "deprecated": false, - "preselect": false, - "sortText": "2_trailingSpace", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "trailingSpace" - } - }, - { - "label": "trim", - "kind": "function", - "detail": "trim()", - "deprecated": false, - "preselect": false, - "sortText": "3_trim", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "trim($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "union", - "kind": "function", - "detail": "union()", - "deprecated": false, - "preselect": false, - "sortText": "3_union", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "union($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uniqueString", - "kind": "function", - "detail": "uniqueString()", - "deprecated": false, - "preselect": false, - "sortText": "3_uniqueString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uniqueString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uri", - "kind": "function", - "detail": "uri()", - "deprecated": false, - "preselect": false, - "sortText": "3_uri", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uri($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uriComponent", - "kind": "function", - "detail": "uriComponent()", - "deprecated": false, - "preselect": false, - "sortText": "3_uriComponent", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uriComponent($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uriComponentToString", - "kind": "function", - "detail": "uriComponentToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_uriComponentToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uriComponentToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "utcNow", - "kind": "function", - "detail": "utcNow()", - "deprecated": false, - "preselect": false, - "sortText": "3_utcNow", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "utcNow($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "wrongAssignmentToken", - "kind": "field", - "detail": "wrongAssignmentToken", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongAssignmentToken", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongAssignmentToken" - } - }, - { - "label": "wrongDefaultValue", - "kind": "field", - "detail": "wrongDefaultValue", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongDefaultValue", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongDefaultValue" - } - }, - { - "label": "wrongIntModifier", - "kind": "field", - "detail": "wrongIntModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongIntModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongIntModifier" - } - }, - { - "label": "wrongIntModifierWithDecorator", - "kind": "field", - "detail": "wrongIntModifierWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongIntModifierWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongIntModifierWithDecorator" - } - }, - { - "label": "wrongMetadataSchema", - "kind": "field", - "detail": "wrongMetadataSchema", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongMetadataSchema", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongMetadataSchema" - } - }, - { - "label": "wrongMetadataSchemaWithDecorator", - "kind": "field", - "detail": "wrongMetadataSchemaWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongMetadataSchemaWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongMetadataSchemaWithDecorator" - } - }, - { - "label": "wrongType", - "kind": "field", - "detail": "wrongType", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongType" - } - } +[ + { + "label": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "kind": "field", + "detail": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "deprecated": false, + "preselect": false, + "sortText": "2_WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong" + } + }, + { + "label": "any", + "kind": "function", + "detail": "any()", + "deprecated": false, + "preselect": false, + "sortText": "3_any", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "any($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "array", + "kind": "function", + "detail": "array()", + "deprecated": false, + "preselect": false, + "sortText": "3_array", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "array($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badInterpolatedString", + "kind": "field", + "detail": "badInterpolatedString", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterpolatedString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterpolatedString" + } + }, + { + "label": "badInterpolatedString2", + "kind": "field", + "detail": "badInterpolatedString2", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterpolatedString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterpolatedString2" + } + }, + { + "label": "base64", + "kind": "function", + "detail": "base64()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "base64ToJson", + "kind": "function", + "detail": "base64ToJson()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64ToJson", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64ToJson($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "base64ToString", + "kind": "function", + "detail": "base64ToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64ToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64ToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "bool", + "kind": "function", + "detail": "bool()", + "deprecated": false, + "preselect": false, + "sortText": "3_bool", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bool($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "coalesce", + "kind": "function", + "detail": "coalesce()", + "deprecated": false, + "preselect": false, + "sortText": "3_coalesce", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "coalesce($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "commaOne", + "kind": "field", + "detail": "commaOne", + "deprecated": false, + "preselect": false, + "sortText": "2_commaOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaOne" + } + }, + { + "label": "commaOneWithDecorator", + "kind": "field", + "detail": "commaOneWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_commaOneWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaOneWithDecorator" + } + }, + { + "label": "commaTwo", + "kind": "field", + "detail": "commaTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_commaTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaTwo" + } + }, + { + "label": "concat", + "kind": "function", + "detail": "concat()", + "deprecated": false, + "preselect": false, + "sortText": "3_concat", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "concat($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "contains", + "kind": "function", + "detail": "contains()", + "deprecated": false, + "preselect": false, + "sortText": "3_contains", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "contains($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dataUri", + "kind": "function", + "detail": "dataUri()", + "deprecated": false, + "preselect": false, + "sortText": "3_dataUri", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dataUri($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dataUriToString", + "kind": "function", + "detail": "dataUriToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_dataUriToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dataUriToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dateTimeAdd", + "kind": "function", + "detail": "dateTimeAdd()", + "deprecated": false, + "preselect": false, + "sortText": "3_dateTimeAdd", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dateTimeAdd($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "defaultValueCompletions", + "kind": "field", + "detail": "defaultValueCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_defaultValueCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "defaultValueCompletions" + } + }, + { + "label": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "duplicatedModifierProperty", + "kind": "field", + "detail": "duplicatedModifierProperty", + "deprecated": false, + "preselect": false, + "sortText": "2_duplicatedModifierProperty", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "duplicatedModifierProperty" + } + }, + { + "label": "empty", + "kind": "function", + "detail": "empty()", + "deprecated": false, + "preselect": false, + "sortText": "3_empty", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "empty($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "emptyAllowedInt", + "kind": "field", + "detail": "emptyAllowedInt", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedInt" + } + }, + { + "label": "emptyAllowedIntWithDecorator", + "kind": "field", + "detail": "emptyAllowedIntWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedIntWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedIntWithDecorator" + } + }, + { + "label": "emptyAllowedString", + "kind": "field", + "detail": "emptyAllowedString", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedString" + } + }, + { + "label": "emptyAllowedStringWithDecorator", + "kind": "field", + "detail": "emptyAllowedStringWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedStringWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedStringWithDecorator" + } + }, + { + "label": "endsWith", + "kind": "function", + "detail": "endsWith()", + "deprecated": false, + "preselect": false, + "sortText": "3_endsWith", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "endsWith($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "environment", + "kind": "function", + "detail": "environment()", + "deprecated": false, + "preselect": false, + "sortText": "3_environment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "environment()$0" + } + }, + { + "label": "expressionInModifier", + "kind": "field", + "detail": "expressionInModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInModifier" + } + }, + { + "label": "expressionInModifierWithDecorator", + "kind": "field", + "detail": "expressionInModifierWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInModifierWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInModifierWithDecorator" + } + }, + { + "label": "extensionResourceId", + "kind": "function", + "detail": "extensionResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_extensionResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "extensionResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "fatalErrorInIssue1713", + "kind": "field", + "detail": "fatalErrorInIssue1713", + "deprecated": false, + "preselect": false, + "sortText": "2_fatalErrorInIssue1713", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fatalErrorInIssue1713" + } + }, + { + "label": "first", + "kind": "function", + "detail": "first()", + "deprecated": false, + "preselect": false, + "sortText": "3_first", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "first($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "format", + "kind": "function", + "detail": "format()", + "deprecated": false, + "preselect": false, + "sortText": "3_format", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "format($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "guid", + "kind": "function", + "detail": "guid()", + "deprecated": false, + "preselect": false, + "sortText": "3_guid", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "guid($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "incompleteDecorators", + "kind": "field", + "detail": "incompleteDecorators", + "deprecated": false, + "preselect": false, + "sortText": "2_incompleteDecorators", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incompleteDecorators" + } + }, + { + "label": "indexOf", + "kind": "function", + "detail": "indexOf()", + "deprecated": false, + "preselect": false, + "sortText": "3_indexOf", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "indexOf($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "int", + "kind": "function", + "detail": "int()", + "deprecated": false, + "preselect": false, + "sortText": "3_int", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "int($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "intModifierCompletions", + "kind": "field", + "detail": "intModifierCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_intModifierCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "intModifierCompletions" + } + }, + { + "label": "intersection", + "kind": "function", + "detail": "intersection()", + "deprecated": false, + "preselect": false, + "sortText": "3_intersection", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "intersection($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "json", + "kind": "function", + "detail": "json()", + "deprecated": false, + "preselect": false, + "sortText": "3_json", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "json($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "last", + "kind": "function", + "detail": "last()", + "deprecated": false, + "preselect": false, + "sortText": "3_last", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "last($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "lastIndexOf", + "kind": "function", + "detail": "lastIndexOf()", + "deprecated": false, + "preselect": false, + "sortText": "3_lastIndexOf", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "lastIndexOf($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "length", + "kind": "function", + "detail": "length()", + "deprecated": false, + "preselect": false, + "sortText": "3_length", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "length($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "malformedModifier", + "kind": "field", + "detail": "malformedModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedModifier" + } + }, + { + "label": "malformedType", + "kind": "field", + "detail": "malformedType", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedType" + } + }, + { + "label": "malformedType2", + "kind": "field", + "detail": "malformedType2", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedType2" + } + }, + { + "label": "managementGroup", + "kind": "function", + "detail": "managementGroup()", + "deprecated": false, + "preselect": false, + "sortText": "3_managementGroup", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "managementGroup($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "max", + "kind": "function", + "detail": "max()", + "deprecated": false, + "preselect": false, + "sortText": "3_max", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "max($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "min", + "kind": "function", + "detail": "min()", + "deprecated": false, + "preselect": false, + "sortText": "3_min", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "min($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "missingType", + "kind": "field", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + } + }, + { + "label": "missingTypeWithSpaceAfter", + "kind": "field", + "detail": "missingTypeWithSpaceAfter", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTypeWithSpaceAfter", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTypeWithSpaceAfter" + } + }, + { + "label": "missingTypeWithTabAfter", + "kind": "field", + "detail": "missingTypeWithTabAfter", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTypeWithTabAfter", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTypeWithTabAfter" + } + }, + { + "label": "myBool", + "kind": "field", + "detail": "myBool", + "deprecated": false, + "preselect": false, + "sortText": "2_myBool", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myBool" + } + }, + { + "label": "myFalsehood", + "kind": "field", + "detail": "myFalsehood", + "deprecated": false, + "preselect": false, + "sortText": "2_myFalsehood", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myFalsehood" + } + }, + { + "label": "myInt", + "kind": "field", + "detail": "myInt", + "deprecated": false, + "preselect": false, + "sortText": "2_myInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myInt" + } + }, + { + "label": "myInt2", + "kind": "field", + "detail": "myInt2", + "deprecated": false, + "preselect": false, + "sortText": "2_myInt2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myInt2" + } + }, + { + "label": "myString", + "kind": "field", + "detail": "myString", + "deprecated": false, + "preselect": false, + "sortText": "2_myString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myString" + } + }, + { + "label": "myString2", + "kind": "field", + "detail": "myString2", + "deprecated": false, + "preselect": false, + "sortText": "2_myString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myString2" + } + }, + { + "label": "myTruth", + "kind": "field", + "detail": "myTruth", + "deprecated": false, + "preselect": false, + "sortText": "2_myTruth", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myTruth" + } + }, + { + "label": "newGuid", + "kind": "function", + "detail": "newGuid()", + "deprecated": false, + "preselect": false, + "sortText": "3_newGuid", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "newGuid()$0" + } + }, + { + "label": "noValueAfterColon", + "kind": "field", + "detail": "noValueAfterColon", + "deprecated": false, + "preselect": false, + "sortText": "2_noValueAfterColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "noValueAfterColon" + } + }, + { + "label": "nonCompileTimeConstant", + "kind": "field", + "detail": "nonCompileTimeConstant", + "deprecated": false, + "preselect": false, + "sortText": "2_nonCompileTimeConstant", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonCompileTimeConstant" + } + }, + { + "label": "nonCompileTimeConstantWithDecorator", + "kind": "field", + "detail": "nonCompileTimeConstantWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_nonCompileTimeConstantWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonCompileTimeConstantWithDecorator" + } + }, + { + "label": "nonConstantInDecorator", + "kind": "field", + "detail": "nonConstantInDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_nonConstantInDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonConstantInDecorator" + } + }, + { + "label": "padLeft", + "kind": "function", + "detail": "padLeft()", + "deprecated": false, + "preselect": false, + "sortText": "3_padLeft", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "padLeft($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "paramAccessingOutput", + "kind": "field", + "detail": "paramAccessingOutput", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingOutput", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingOutput" + } + }, + { + "label": "paramAccessingOutput2", + "kind": "field", + "detail": "paramAccessingOutput2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingOutput2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingOutput2" + } + }, + { + "label": "paramAccessingResource", + "kind": "field", + "detail": "paramAccessingResource", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingResource" + } + }, + { + "label": "paramAccessingResource2", + "kind": "field", + "detail": "paramAccessingResource2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingResource2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingResource2" + } + }, + { + "label": "paramAccessingVar", + "kind": "field", + "detail": "paramAccessingVar", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingVar" + } + }, + { + "label": "paramAccessingVar2", + "kind": "field", + "detail": "paramAccessingVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingVar2" + } + }, + { + "label": "paramDefaultOneCycle", + "kind": "field", + "detail": "paramDefaultOneCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultOneCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultOneCycle" + } + }, + { + "label": "paramDefaultTwoCycle1", + "kind": "field", + "detail": "paramDefaultTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultTwoCycle1" + } + }, + { + "label": "paramDefaultTwoCycle2", + "kind": "field", + "detail": "paramDefaultTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultTwoCycle2" + } + }, + { + "label": "paramMixedTwoCycle1", + "kind": "field", + "detail": "paramMixedTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramMixedTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramMixedTwoCycle1" + } + }, + { + "label": "paramMixedTwoCycle2", + "kind": "field", + "detail": "paramMixedTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramMixedTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramMixedTwoCycle2" + } + }, + { + "label": "paramModifierOneCycle", + "kind": "field", + "detail": "paramModifierOneCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierOneCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierOneCycle" + } + }, + { + "label": "paramModifierSelfCycle", + "kind": "field", + "detail": "paramModifierSelfCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierSelfCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierSelfCycle" + } + }, + { + "label": "paramModifierSelfCycleWithDecorator", + "kind": "field", + "detail": "paramModifierSelfCycleWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierSelfCycleWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierSelfCycleWithDecorator" + } + }, + { + "label": "paramModifierTwoCycle1", + "kind": "field", + "detail": "paramModifierTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierTwoCycle1" + } + }, + { + "label": "paramModifierTwoCycle2", + "kind": "field", + "detail": "paramModifierTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierTwoCycle2" + } + }, + { + "label": "partialType", + "kind": "field", + "detail": "partialType", + "deprecated": false, + "preselect": false, + "sortText": "2_partialType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "partialType" + } + }, + { + "label": "pickZones", + "kind": "function", + "detail": "pickZones()", + "deprecated": false, + "preselect": false, + "sortText": "3_pickZones", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "pickZones($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "providers", + "kind": "function", + "detail": "providers()", + "deprecated": false, + "preselect": false, + "sortText": "3_providers", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "providers($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "range", + "kind": "function", + "detail": "range()", + "deprecated": false, + "preselect": false, + "sortText": "3_range", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "range($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "reference", + "kind": "function", + "detail": "reference()", + "deprecated": false, + "preselect": false, + "sortText": "3_reference", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "reference($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "replace", + "kind": "function", + "detail": "replace()", + "deprecated": false, + "preselect": false, + "sortText": "3_replace", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "replace($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "resourceGroup", + "kind": "function", + "detail": "resourceGroup()", + "deprecated": false, + "preselect": false, + "sortText": "3_resourceGroup", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceGroup($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "resourceId", + "kind": "function", + "detail": "resourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_resourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "sampleResource", + "kind": "interface", + "detail": "sampleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_sampleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sampleResource" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sampleVar", + "kind": "variable", + "detail": "sampleVar", + "deprecated": false, + "preselect": false, + "sortText": "2_sampleVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sampleVar" + } + }, + { + "label": "secureInt", + "kind": "field", + "detail": "secureInt", + "deprecated": false, + "preselect": false, + "sortText": "2_secureInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "secureInt" + } + }, + { + "label": "secureIntWithDecorator", + "kind": "field", + "detail": "secureIntWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_secureIntWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "secureIntWithDecorator" + } + }, + { + "label": "skip", + "kind": "function", + "detail": "skip()", + "deprecated": false, + "preselect": false, + "sortText": "3_skip", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "skip($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "someArray", + "kind": "field", + "detail": "someArray", + "deprecated": false, + "preselect": false, + "sortText": "2_someArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someArray" + } + }, + { + "label": "someArrayWithDecorator", + "kind": "field", + "detail": "someArrayWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_someArrayWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someArrayWithDecorator" + } + }, + { + "label": "someInteger", + "kind": "field", + "detail": "someInteger", + "deprecated": false, + "preselect": false, + "sortText": "2_someInteger", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someInteger" + } + }, + { + "label": "someString", + "kind": "field", + "detail": "someString", + "deprecated": false, + "preselect": false, + "sortText": "2_someString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someString" + } + }, + { + "label": "split", + "kind": "function", + "detail": "split()", + "deprecated": false, + "preselect": false, + "sortText": "3_split", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "split($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "startsWith", + "kind": "function", + "detail": "startsWith()", + "deprecated": false, + "preselect": false, + "sortText": "3_startsWith", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startsWith($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "string", + "kind": "function", + "detail": "string()", + "deprecated": false, + "preselect": false, + "sortText": "3_string", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "string($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "stringLiteral", + "kind": "field", + "detail": "stringLiteral", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral" + } + }, + { + "label": "stringLiteral2", + "kind": "field", + "detail": "stringLiteral2", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral2" + } + }, + { + "label": "stringLiteral3", + "kind": "field", + "detail": "stringLiteral3", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral3" + } + }, + { + "label": "stringModifierCompletions", + "kind": "field", + "detail": "stringModifierCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_stringModifierCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringModifierCompletions" + } + }, + { + "label": "subscription", + "kind": "function", + "detail": "subscription()", + "deprecated": false, + "preselect": false, + "sortText": "3_subscription", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "subscription($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "subscriptionResourceId", + "kind": "function", + "detail": "subscriptionResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_subscriptionResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "subscriptionResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "substring", + "kind": "function", + "detail": "substring()", + "deprecated": false, + "preselect": false, + "sortText": "3_substring", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "substring($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "sys", + "kind": "folder", + "detail": "sys", + "deprecated": false, + "preselect": false, + "sortText": "3_sys", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sys" + } + }, + { + "label": "take", + "kind": "function", + "detail": "take()", + "deprecated": false, + "preselect": false, + "sortText": "3_take", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "take($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "tenant", + "kind": "function", + "detail": "tenant()", + "deprecated": false, + "preselect": false, + "sortText": "3_tenant", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tenant()$0" + } + }, + { + "label": "tenantResourceId", + "kind": "function", + "detail": "tenantResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_tenantResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tenantResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "toLower", + "kind": "function", + "detail": "toLower()", + "deprecated": false, + "preselect": false, + "sortText": "3_toLower", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "toLower($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "toUpper", + "kind": "function", + "detail": "toUpper()", + "deprecated": false, + "preselect": false, + "sortText": "3_toUpper", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "toUpper($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "tooManyArguments1", + "kind": "field", + "detail": "tooManyArguments1", + "deprecated": false, + "preselect": false, + "sortText": "2_tooManyArguments1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tooManyArguments1" + } + }, + { + "label": "tooManyArguments2", + "kind": "field", + "detail": "tooManyArguments2", + "deprecated": false, + "preselect": false, + "sortText": "2_tooManyArguments2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tooManyArguments2" + } + }, + { + "label": "trailingSpace", + "kind": "field", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + } + }, + { + "label": "trim", + "kind": "function", + "detail": "trim()", + "deprecated": false, + "preselect": false, + "sortText": "3_trim", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trim($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "union", + "kind": "function", + "detail": "union()", + "deprecated": false, + "preselect": false, + "sortText": "3_union", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "union($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uniqueString", + "kind": "function", + "detail": "uniqueString()", + "deprecated": false, + "preselect": false, + "sortText": "3_uniqueString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uniqueString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uri", + "kind": "function", + "detail": "uri()", + "deprecated": false, + "preselect": false, + "sortText": "3_uri", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uri($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uriComponent", + "kind": "function", + "detail": "uriComponent()", + "deprecated": false, + "preselect": false, + "sortText": "3_uriComponent", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uriComponent($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uriComponentToString", + "kind": "function", + "detail": "uriComponentToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_uriComponentToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uriComponentToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "utcNow", + "kind": "function", + "detail": "utcNow()", + "deprecated": false, + "preselect": false, + "sortText": "3_utcNow", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "utcNow($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "wrongAssignmentToken", + "kind": "field", + "detail": "wrongAssignmentToken", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongAssignmentToken", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongAssignmentToken" + } + }, + { + "label": "wrongDefaultValue", + "kind": "field", + "detail": "wrongDefaultValue", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongDefaultValue", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongDefaultValue" + } + }, + { + "label": "wrongIntModifier", + "kind": "field", + "detail": "wrongIntModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongIntModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongIntModifier" + } + }, + { + "label": "wrongIntModifierWithDecorator", + "kind": "field", + "detail": "wrongIntModifierWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongIntModifierWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongIntModifierWithDecorator" + } + }, + { + "label": "wrongMetadataSchema", + "kind": "field", + "detail": "wrongMetadataSchema", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongMetadataSchema", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongMetadataSchema" + } + }, + { + "label": "wrongMetadataSchemaWithDecorator", + "kind": "field", + "detail": "wrongMetadataSchemaWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongMetadataSchemaWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongMetadataSchemaWithDecorator" + } + }, + { + "label": "wrongType", + "kind": "field", + "detail": "wrongType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongType" + } + } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/oneTwoThreePlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/oneTwoThreePlusSymbols.json index 5c5e40fdb50..1add53c849f 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/oneTwoThreePlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/oneTwoThreePlusSymbols.json @@ -1,2068 +1,2071 @@ -[ - { - "label": "'one'", - "kind": "enumMember", - "detail": "'one'", - "deprecated": false, - "preselect": true, - "sortText": "2_'one'", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "'one'" - } - }, - { - "label": "'three'", - "kind": "enumMember", - "detail": "'three'", - "deprecated": false, - "preselect": true, - "sortText": "2_'three'", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "'three'" - } - }, - { - "label": "'two'", - "kind": "enumMember", - "detail": "'two'", - "deprecated": false, - "preselect": true, - "sortText": "2_'two'", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "'two'" - } - }, - { - "label": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "kind": "field", - "detail": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "deprecated": false, - "preselect": false, - "sortText": "2_WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong" - } - }, - { - "label": "any", - "kind": "function", - "detail": "any()", - "deprecated": false, - "preselect": false, - "sortText": "3_any", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "any($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "array", - "kind": "function", - "detail": "array()", - "deprecated": false, - "preselect": false, - "sortText": "3_array", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "array($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "az", - "kind": "folder", - "detail": "az", - "deprecated": false, - "preselect": false, - "sortText": "3_az", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "az" - } - }, - { - "label": "badInterpolatedString", - "kind": "field", - "detail": "badInterpolatedString", - "deprecated": false, - "preselect": false, - "sortText": "2_badInterpolatedString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "badInterpolatedString" - } - }, - { - "label": "badInterpolatedString2", - "kind": "field", - "detail": "badInterpolatedString2", - "deprecated": false, - "preselect": false, - "sortText": "2_badInterpolatedString2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "badInterpolatedString2" - } - }, - { - "label": "base64", - "kind": "function", - "detail": "base64()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "base64ToJson", - "kind": "function", - "detail": "base64ToJson()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64ToJson", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64ToJson($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "base64ToString", - "kind": "function", - "detail": "base64ToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64ToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64ToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "bool", - "kind": "function", - "detail": "bool()", - "deprecated": false, - "preselect": false, - "sortText": "3_bool", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "bool($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "coalesce", - "kind": "function", - "detail": "coalesce()", - "deprecated": false, - "preselect": false, - "sortText": "3_coalesce", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "coalesce($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "commaOne", - "kind": "field", - "detail": "commaOne", - "deprecated": false, - "preselect": false, - "sortText": "2_commaOne", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaOne" - } - }, - { - "label": "commaOneWithDecorator", - "kind": "field", - "detail": "commaOneWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_commaOneWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaOneWithDecorator" - } - }, - { - "label": "commaTwo", - "kind": "field", - "detail": "commaTwo", - "deprecated": false, - "preselect": false, - "sortText": "2_commaTwo", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaTwo" - } - }, - { - "label": "concat", - "kind": "function", - "detail": "concat()", - "deprecated": false, - "preselect": false, - "sortText": "3_concat", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "concat($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "contains", - "kind": "function", - "detail": "contains()", - "deprecated": false, - "preselect": false, - "sortText": "3_contains", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "contains($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dataUri", - "kind": "function", - "detail": "dataUri()", - "deprecated": false, - "preselect": false, - "sortText": "3_dataUri", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dataUri($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dataUriToString", - "kind": "function", - "detail": "dataUriToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_dataUriToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dataUriToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dateTimeAdd", - "kind": "function", - "detail": "dateTimeAdd()", - "deprecated": false, - "preselect": false, - "sortText": "3_dateTimeAdd", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dateTimeAdd($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "defaultValueOneLinerCompletions", - "kind": "field", - "detail": "defaultValueOneLinerCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_defaultValueOneLinerCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "defaultValueOneLinerCompletions" - } - }, - { - "label": "deployment", - "kind": "function", - "detail": "deployment()", - "deprecated": false, - "preselect": false, - "sortText": "3_deployment", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "deployment()$0" - } - }, - { - "label": "duplicatedModifierProperty", - "kind": "field", - "detail": "duplicatedModifierProperty", - "deprecated": false, - "preselect": false, - "sortText": "2_duplicatedModifierProperty", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "duplicatedModifierProperty" - } - }, - { - "label": "empty", - "kind": "function", - "detail": "empty()", - "deprecated": false, - "preselect": false, - "sortText": "3_empty", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "empty($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "emptyAllowedInt", - "kind": "field", - "detail": "emptyAllowedInt", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedInt" - } - }, - { - "label": "emptyAllowedIntWithDecorator", - "kind": "field", - "detail": "emptyAllowedIntWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedIntWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedIntWithDecorator" - } - }, - { - "label": "emptyAllowedString", - "kind": "field", - "detail": "emptyAllowedString", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedString" - } - }, - { - "label": "emptyAllowedStringWithDecorator", - "kind": "field", - "detail": "emptyAllowedStringWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedStringWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedStringWithDecorator" - } - }, - { - "label": "endsWith", - "kind": "function", - "detail": "endsWith()", - "deprecated": false, - "preselect": false, - "sortText": "3_endsWith", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "endsWith($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "environment", - "kind": "function", - "detail": "environment()", - "deprecated": false, - "preselect": false, - "sortText": "3_environment", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "environment()$0" - } - }, - { - "label": "expressionInModifier", - "kind": "field", - "detail": "expressionInModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_expressionInModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "expressionInModifier" - } - }, - { - "label": "expressionInModifierWithDecorator", - "kind": "field", - "detail": "expressionInModifierWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_expressionInModifierWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "expressionInModifierWithDecorator" - } - }, - { - "label": "extensionResourceId", - "kind": "function", - "detail": "extensionResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_extensionResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "extensionResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "fatalErrorInIssue1713", - "kind": "field", - "detail": "fatalErrorInIssue1713", - "deprecated": false, - "preselect": false, - "sortText": "2_fatalErrorInIssue1713", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "fatalErrorInIssue1713" - } - }, - { - "label": "first", - "kind": "function", - "detail": "first()", - "deprecated": false, - "preselect": false, - "sortText": "3_first", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "first($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "format", - "kind": "function", - "detail": "format()", - "deprecated": false, - "preselect": false, - "sortText": "3_format", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "format($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "guid", - "kind": "function", - "detail": "guid()", - "deprecated": false, - "preselect": false, - "sortText": "3_guid", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "guid($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "incompleteDecorators", - "kind": "field", - "detail": "incompleteDecorators", - "deprecated": false, - "preselect": false, - "sortText": "2_incompleteDecorators", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "incompleteDecorators" - } - }, - { - "label": "indexOf", - "kind": "function", - "detail": "indexOf()", - "deprecated": false, - "preselect": false, - "sortText": "3_indexOf", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "indexOf($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "int", - "kind": "function", - "detail": "int()", - "deprecated": false, - "preselect": false, - "sortText": "3_int", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "int($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "intModifierCompletions", - "kind": "field", - "detail": "intModifierCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_intModifierCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "intModifierCompletions" - } - }, - { - "label": "intersection", - "kind": "function", - "detail": "intersection()", - "deprecated": false, - "preselect": false, - "sortText": "3_intersection", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "intersection($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "json", - "kind": "function", - "detail": "json()", - "deprecated": false, - "preselect": false, - "sortText": "3_json", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "json($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "last", - "kind": "function", - "detail": "last()", - "deprecated": false, - "preselect": false, - "sortText": "3_last", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "last($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "lastIndexOf", - "kind": "function", - "detail": "lastIndexOf()", - "deprecated": false, - "preselect": false, - "sortText": "3_lastIndexOf", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "lastIndexOf($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "length", - "kind": "function", - "detail": "length()", - "deprecated": false, - "preselect": false, - "sortText": "3_length", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "length($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "malformedModifier", - "kind": "field", - "detail": "malformedModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedModifier" - } - }, - { - "label": "malformedType", - "kind": "field", - "detail": "malformedType", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedType" - } - }, - { - "label": "malformedType2", - "kind": "field", - "detail": "malformedType2", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedType2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedType2" - } - }, - { - "label": "managementGroup", - "kind": "function", - "detail": "managementGroup()", - "deprecated": false, - "preselect": false, - "sortText": "3_managementGroup", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "managementGroup($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "max", - "kind": "function", - "detail": "max()", - "deprecated": false, - "preselect": false, - "sortText": "3_max", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "max($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "min", - "kind": "function", - "detail": "min()", - "deprecated": false, - "preselect": false, - "sortText": "3_min", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "min($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "missingType", - "kind": "field", - "detail": "missingType", - "deprecated": false, - "preselect": false, - "sortText": "2_missingType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingType" - } - }, - { - "label": "missingTypeWithSpaceAfter", - "kind": "field", - "detail": "missingTypeWithSpaceAfter", - "deprecated": false, - "preselect": false, - "sortText": "2_missingTypeWithSpaceAfter", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingTypeWithSpaceAfter" - } - }, - { - "label": "missingTypeWithTabAfter", - "kind": "field", - "detail": "missingTypeWithTabAfter", - "deprecated": false, - "preselect": false, - "sortText": "2_missingTypeWithTabAfter", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingTypeWithTabAfter" - } - }, - { - "label": "myBool", - "kind": "field", - "detail": "myBool", - "deprecated": false, - "preselect": false, - "sortText": "2_myBool", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myBool" - } - }, - { - "label": "myFalsehood", - "kind": "field", - "detail": "myFalsehood", - "deprecated": false, - "preselect": false, - "sortText": "2_myFalsehood", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myFalsehood" - } - }, - { - "label": "myInt", - "kind": "field", - "detail": "myInt", - "deprecated": false, - "preselect": false, - "sortText": "2_myInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myInt" - } - }, - { - "label": "myInt2", - "kind": "field", - "detail": "myInt2", - "deprecated": false, - "preselect": false, - "sortText": "2_myInt2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myInt2" - } - }, - { - "label": "myString", - "kind": "field", - "detail": "myString", - "deprecated": false, - "preselect": false, - "sortText": "2_myString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myString" - } - }, - { - "label": "myString2", - "kind": "field", - "detail": "myString2", - "deprecated": false, - "preselect": false, - "sortText": "2_myString2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myString2" - } - }, - { - "label": "myTruth", - "kind": "field", - "detail": "myTruth", - "deprecated": false, - "preselect": false, - "sortText": "2_myTruth", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myTruth" - } - }, - { - "label": "newGuid", - "kind": "function", - "detail": "newGuid()", - "deprecated": false, - "preselect": false, - "sortText": "3_newGuid", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "newGuid()$0" - } - }, - { - "label": "noValueAfterColon", - "kind": "field", - "detail": "noValueAfterColon", - "deprecated": false, - "preselect": false, - "sortText": "2_noValueAfterColon", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "noValueAfterColon" - } - }, - { - "label": "nonCompileTimeConstant", - "kind": "field", - "detail": "nonCompileTimeConstant", - "deprecated": false, - "preselect": false, - "sortText": "2_nonCompileTimeConstant", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonCompileTimeConstant" - } - }, - { - "label": "nonCompileTimeConstantWithDecorator", - "kind": "field", - "detail": "nonCompileTimeConstantWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_nonCompileTimeConstantWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonCompileTimeConstantWithDecorator" - } - }, - { - "label": "nonConstantInDecorator", - "kind": "field", - "detail": "nonConstantInDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_nonConstantInDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonConstantInDecorator" - } - }, - { - "label": "padLeft", - "kind": "function", - "detail": "padLeft()", - "deprecated": false, - "preselect": false, - "sortText": "3_padLeft", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "padLeft($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "paramAccessingOutput", - "kind": "field", - "detail": "paramAccessingOutput", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingOutput", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingOutput" - } - }, - { - "label": "paramAccessingOutput2", - "kind": "field", - "detail": "paramAccessingOutput2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingOutput2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingOutput2" - } - }, - { - "label": "paramAccessingResource", - "kind": "field", - "detail": "paramAccessingResource", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingResource", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingResource" - } - }, - { - "label": "paramAccessingResource2", - "kind": "field", - "detail": "paramAccessingResource2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingResource2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingResource2" - } - }, - { - "label": "paramAccessingVar", - "kind": "field", - "detail": "paramAccessingVar", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingVar", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingVar" - } - }, - { - "label": "paramAccessingVar2", - "kind": "field", - "detail": "paramAccessingVar2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingVar2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingVar2" - } - }, - { - "label": "paramDefaultOneCycle", - "kind": "field", - "detail": "paramDefaultOneCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultOneCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultOneCycle" - } - }, - { - "label": "paramDefaultTwoCycle1", - "kind": "field", - "detail": "paramDefaultTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultTwoCycle1" - } - }, - { - "label": "paramDefaultTwoCycle2", - "kind": "field", - "detail": "paramDefaultTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultTwoCycle2" - } - }, - { - "label": "paramMixedTwoCycle1", - "kind": "field", - "detail": "paramMixedTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramMixedTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramMixedTwoCycle1" - } - }, - { - "label": "paramMixedTwoCycle2", - "kind": "field", - "detail": "paramMixedTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramMixedTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramMixedTwoCycle2" - } - }, - { - "label": "paramModifierOneCycle", - "kind": "field", - "detail": "paramModifierOneCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierOneCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierOneCycle" - } - }, - { - "label": "paramModifierSelfCycle", - "kind": "field", - "detail": "paramModifierSelfCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierSelfCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierSelfCycle" - } - }, - { - "label": "paramModifierSelfCycleWithDecorator", - "kind": "field", - "detail": "paramModifierSelfCycleWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierSelfCycleWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierSelfCycleWithDecorator" - } - }, - { - "label": "paramModifierTwoCycle1", - "kind": "field", - "detail": "paramModifierTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierTwoCycle1" - } - }, - { - "label": "paramModifierTwoCycle2", - "kind": "field", - "detail": "paramModifierTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierTwoCycle2" - } - }, - { - "label": "partialType", - "kind": "field", - "detail": "partialType", - "deprecated": false, - "preselect": false, - "sortText": "2_partialType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "partialType" - } - }, - { - "label": "pickZones", - "kind": "function", - "detail": "pickZones()", - "deprecated": false, - "preselect": false, - "sortText": "3_pickZones", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "pickZones($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "providers", - "kind": "function", - "detail": "providers()", - "deprecated": false, - "preselect": false, - "sortText": "3_providers", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "providers($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "range", - "kind": "function", - "detail": "range()", - "deprecated": false, - "preselect": false, - "sortText": "3_range", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "range($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "reference", - "kind": "function", - "detail": "reference()", - "deprecated": false, - "preselect": false, - "sortText": "3_reference", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "reference($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "replace", - "kind": "function", - "detail": "replace()", - "deprecated": false, - "preselect": false, - "sortText": "3_replace", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "replace($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "resourceGroup", - "kind": "function", - "detail": "resourceGroup()", - "deprecated": false, - "preselect": false, - "sortText": "3_resourceGroup", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "resourceGroup($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "resourceId", - "kind": "function", - "detail": "resourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_resourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "resourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "sampleResource", - "kind": "interface", - "detail": "sampleResource", - "deprecated": false, - "preselect": false, - "sortText": "2_sampleResource", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sampleResource" - } - }, - { - "label": "sampleVar", - "kind": "variable", - "detail": "sampleVar", - "deprecated": false, - "preselect": false, - "sortText": "2_sampleVar", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sampleVar" - } - }, - { - "label": "secureInt", - "kind": "field", - "detail": "secureInt", - "deprecated": false, - "preselect": false, - "sortText": "2_secureInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "secureInt" - } - }, - { - "label": "secureIntWithDecorator", - "kind": "field", - "detail": "secureIntWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_secureIntWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "secureIntWithDecorator" - } - }, - { - "label": "skip", - "kind": "function", - "detail": "skip()", - "deprecated": false, - "preselect": false, - "sortText": "3_skip", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "skip($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "someArray", - "kind": "field", - "detail": "someArray", - "deprecated": false, - "preselect": false, - "sortText": "2_someArray", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someArray" - } - }, - { - "label": "someArrayWithDecorator", - "kind": "field", - "detail": "someArrayWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_someArrayWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someArrayWithDecorator" - } - }, - { - "label": "someInteger", - "kind": "field", - "detail": "someInteger", - "deprecated": false, - "preselect": false, - "sortText": "2_someInteger", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someInteger" - } - }, - { - "label": "someString", - "kind": "field", - "detail": "someString", - "deprecated": false, - "preselect": false, - "sortText": "2_someString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someString" - } - }, - { - "label": "split", - "kind": "function", - "detail": "split()", - "deprecated": false, - "preselect": false, - "sortText": "3_split", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "split($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "startsWith", - "kind": "function", - "detail": "startsWith()", - "deprecated": false, - "preselect": false, - "sortText": "3_startsWith", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "startsWith($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "string", - "kind": "function", - "detail": "string()", - "deprecated": false, - "preselect": false, - "sortText": "3_string", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "string($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "stringLiteral", - "kind": "field", - "detail": "stringLiteral", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral" - } - }, - { - "label": "stringLiteral2", - "kind": "field", - "detail": "stringLiteral2", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral2" - } - }, - { - "label": "stringLiteral3", - "kind": "field", - "detail": "stringLiteral3", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral3", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral3" - } - }, - { - "label": "stringModifierCompletions", - "kind": "field", - "detail": "stringModifierCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_stringModifierCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringModifierCompletions" - } - }, - { - "label": "subscription", - "kind": "function", - "detail": "subscription()", - "deprecated": false, - "preselect": false, - "sortText": "3_subscription", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "subscription($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "subscriptionResourceId", - "kind": "function", - "detail": "subscriptionResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_subscriptionResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "subscriptionResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "substring", - "kind": "function", - "detail": "substring()", - "deprecated": false, - "preselect": false, - "sortText": "3_substring", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "substring($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "sys", - "kind": "folder", - "detail": "sys", - "deprecated": false, - "preselect": false, - "sortText": "3_sys", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sys" - } - }, - { - "label": "take", - "kind": "function", - "detail": "take()", - "deprecated": false, - "preselect": false, - "sortText": "3_take", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "take($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "tenant", - "kind": "function", - "detail": "tenant()", - "deprecated": false, - "preselect": false, - "sortText": "3_tenant", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tenant()$0" - } - }, - { - "label": "tenantResourceId", - "kind": "function", - "detail": "tenantResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_tenantResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tenantResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "toLower", - "kind": "function", - "detail": "toLower()", - "deprecated": false, - "preselect": false, - "sortText": "3_toLower", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "toLower($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "toUpper", - "kind": "function", - "detail": "toUpper()", - "deprecated": false, - "preselect": false, - "sortText": "3_toUpper", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "toUpper($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "tooManyArguments1", - "kind": "field", - "detail": "tooManyArguments1", - "deprecated": false, - "preselect": false, - "sortText": "2_tooManyArguments1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tooManyArguments1" - } - }, - { - "label": "tooManyArguments2", - "kind": "field", - "detail": "tooManyArguments2", - "deprecated": false, - "preselect": false, - "sortText": "2_tooManyArguments2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tooManyArguments2" - } - }, - { - "label": "trailingSpace", - "kind": "field", - "detail": "trailingSpace", - "deprecated": false, - "preselect": false, - "sortText": "2_trailingSpace", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "trailingSpace" - } - }, - { - "label": "trim", - "kind": "function", - "detail": "trim()", - "deprecated": false, - "preselect": false, - "sortText": "3_trim", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "trim($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "union", - "kind": "function", - "detail": "union()", - "deprecated": false, - "preselect": false, - "sortText": "3_union", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "union($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uniqueString", - "kind": "function", - "detail": "uniqueString()", - "deprecated": false, - "preselect": false, - "sortText": "3_uniqueString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uniqueString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uri", - "kind": "function", - "detail": "uri()", - "deprecated": false, - "preselect": false, - "sortText": "3_uri", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uri($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uriComponent", - "kind": "function", - "detail": "uriComponent()", - "deprecated": false, - "preselect": false, - "sortText": "3_uriComponent", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uriComponent($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uriComponentToString", - "kind": "function", - "detail": "uriComponentToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_uriComponentToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uriComponentToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "utcNow", - "kind": "function", - "detail": "utcNow()", - "deprecated": false, - "preselect": false, - "sortText": "3_utcNow", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "utcNow($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "wrongAssignmentToken", - "kind": "field", - "detail": "wrongAssignmentToken", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongAssignmentToken", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongAssignmentToken" - } - }, - { - "label": "wrongDefaultValue", - "kind": "field", - "detail": "wrongDefaultValue", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongDefaultValue", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongDefaultValue" - } - }, - { - "label": "wrongIntModifier", - "kind": "field", - "detail": "wrongIntModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongIntModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongIntModifier" - } - }, - { - "label": "wrongIntModifierWithDecorator", - "kind": "field", - "detail": "wrongIntModifierWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongIntModifierWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongIntModifierWithDecorator" - } - }, - { - "label": "wrongMetadataSchema", - "kind": "field", - "detail": "wrongMetadataSchema", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongMetadataSchema", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongMetadataSchema" - } - }, - { - "label": "wrongMetadataSchemaWithDecorator", - "kind": "field", - "detail": "wrongMetadataSchemaWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongMetadataSchemaWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongMetadataSchemaWithDecorator" - } - }, - { - "label": "wrongType", - "kind": "field", - "detail": "wrongType", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongType" - } - } +[ + { + "label": "'one'", + "kind": "enumMember", + "detail": "'one'", + "deprecated": false, + "preselect": true, + "sortText": "2_'one'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'one'" + } + }, + { + "label": "'three'", + "kind": "enumMember", + "detail": "'three'", + "deprecated": false, + "preselect": true, + "sortText": "2_'three'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'three'" + } + }, + { + "label": "'two'", + "kind": "enumMember", + "detail": "'two'", + "deprecated": false, + "preselect": true, + "sortText": "2_'two'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'two'" + } + }, + { + "label": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "kind": "field", + "detail": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "deprecated": false, + "preselect": false, + "sortText": "2_WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong" + } + }, + { + "label": "any", + "kind": "function", + "detail": "any()", + "deprecated": false, + "preselect": false, + "sortText": "3_any", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "any($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "array", + "kind": "function", + "detail": "array()", + "deprecated": false, + "preselect": false, + "sortText": "3_array", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "array($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badInterpolatedString", + "kind": "field", + "detail": "badInterpolatedString", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterpolatedString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterpolatedString" + } + }, + { + "label": "badInterpolatedString2", + "kind": "field", + "detail": "badInterpolatedString2", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterpolatedString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterpolatedString2" + } + }, + { + "label": "base64", + "kind": "function", + "detail": "base64()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "base64ToJson", + "kind": "function", + "detail": "base64ToJson()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64ToJson", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64ToJson($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "base64ToString", + "kind": "function", + "detail": "base64ToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64ToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64ToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "bool", + "kind": "function", + "detail": "bool()", + "deprecated": false, + "preselect": false, + "sortText": "3_bool", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bool($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "coalesce", + "kind": "function", + "detail": "coalesce()", + "deprecated": false, + "preselect": false, + "sortText": "3_coalesce", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "coalesce($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "commaOne", + "kind": "field", + "detail": "commaOne", + "deprecated": false, + "preselect": false, + "sortText": "2_commaOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaOne" + } + }, + { + "label": "commaOneWithDecorator", + "kind": "field", + "detail": "commaOneWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_commaOneWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaOneWithDecorator" + } + }, + { + "label": "commaTwo", + "kind": "field", + "detail": "commaTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_commaTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaTwo" + } + }, + { + "label": "concat", + "kind": "function", + "detail": "concat()", + "deprecated": false, + "preselect": false, + "sortText": "3_concat", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "concat($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "contains", + "kind": "function", + "detail": "contains()", + "deprecated": false, + "preselect": false, + "sortText": "3_contains", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "contains($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dataUri", + "kind": "function", + "detail": "dataUri()", + "deprecated": false, + "preselect": false, + "sortText": "3_dataUri", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dataUri($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dataUriToString", + "kind": "function", + "detail": "dataUriToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_dataUriToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dataUriToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dateTimeAdd", + "kind": "function", + "detail": "dateTimeAdd()", + "deprecated": false, + "preselect": false, + "sortText": "3_dateTimeAdd", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dateTimeAdd($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "defaultValueOneLinerCompletions", + "kind": "field", + "detail": "defaultValueOneLinerCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_defaultValueOneLinerCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "defaultValueOneLinerCompletions" + } + }, + { + "label": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "duplicatedModifierProperty", + "kind": "field", + "detail": "duplicatedModifierProperty", + "deprecated": false, + "preselect": false, + "sortText": "2_duplicatedModifierProperty", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "duplicatedModifierProperty" + } + }, + { + "label": "empty", + "kind": "function", + "detail": "empty()", + "deprecated": false, + "preselect": false, + "sortText": "3_empty", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "empty($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "emptyAllowedInt", + "kind": "field", + "detail": "emptyAllowedInt", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedInt" + } + }, + { + "label": "emptyAllowedIntWithDecorator", + "kind": "field", + "detail": "emptyAllowedIntWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedIntWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedIntWithDecorator" + } + }, + { + "label": "emptyAllowedString", + "kind": "field", + "detail": "emptyAllowedString", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedString" + } + }, + { + "label": "emptyAllowedStringWithDecorator", + "kind": "field", + "detail": "emptyAllowedStringWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedStringWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedStringWithDecorator" + } + }, + { + "label": "endsWith", + "kind": "function", + "detail": "endsWith()", + "deprecated": false, + "preselect": false, + "sortText": "3_endsWith", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "endsWith($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "environment", + "kind": "function", + "detail": "environment()", + "deprecated": false, + "preselect": false, + "sortText": "3_environment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "environment()$0" + } + }, + { + "label": "expressionInModifier", + "kind": "field", + "detail": "expressionInModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInModifier" + } + }, + { + "label": "expressionInModifierWithDecorator", + "kind": "field", + "detail": "expressionInModifierWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInModifierWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInModifierWithDecorator" + } + }, + { + "label": "extensionResourceId", + "kind": "function", + "detail": "extensionResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_extensionResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "extensionResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "fatalErrorInIssue1713", + "kind": "field", + "detail": "fatalErrorInIssue1713", + "deprecated": false, + "preselect": false, + "sortText": "2_fatalErrorInIssue1713", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fatalErrorInIssue1713" + } + }, + { + "label": "first", + "kind": "function", + "detail": "first()", + "deprecated": false, + "preselect": false, + "sortText": "3_first", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "first($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "format", + "kind": "function", + "detail": "format()", + "deprecated": false, + "preselect": false, + "sortText": "3_format", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "format($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "guid", + "kind": "function", + "detail": "guid()", + "deprecated": false, + "preselect": false, + "sortText": "3_guid", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "guid($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "incompleteDecorators", + "kind": "field", + "detail": "incompleteDecorators", + "deprecated": false, + "preselect": false, + "sortText": "2_incompleteDecorators", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incompleteDecorators" + } + }, + { + "label": "indexOf", + "kind": "function", + "detail": "indexOf()", + "deprecated": false, + "preselect": false, + "sortText": "3_indexOf", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "indexOf($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "int", + "kind": "function", + "detail": "int()", + "deprecated": false, + "preselect": false, + "sortText": "3_int", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "int($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "intModifierCompletions", + "kind": "field", + "detail": "intModifierCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_intModifierCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "intModifierCompletions" + } + }, + { + "label": "intersection", + "kind": "function", + "detail": "intersection()", + "deprecated": false, + "preselect": false, + "sortText": "3_intersection", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "intersection($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "json", + "kind": "function", + "detail": "json()", + "deprecated": false, + "preselect": false, + "sortText": "3_json", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "json($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "last", + "kind": "function", + "detail": "last()", + "deprecated": false, + "preselect": false, + "sortText": "3_last", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "last($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "lastIndexOf", + "kind": "function", + "detail": "lastIndexOf()", + "deprecated": false, + "preselect": false, + "sortText": "3_lastIndexOf", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "lastIndexOf($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "length", + "kind": "function", + "detail": "length()", + "deprecated": false, + "preselect": false, + "sortText": "3_length", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "length($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "malformedModifier", + "kind": "field", + "detail": "malformedModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedModifier" + } + }, + { + "label": "malformedType", + "kind": "field", + "detail": "malformedType", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedType" + } + }, + { + "label": "malformedType2", + "kind": "field", + "detail": "malformedType2", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedType2" + } + }, + { + "label": "managementGroup", + "kind": "function", + "detail": "managementGroup()", + "deprecated": false, + "preselect": false, + "sortText": "3_managementGroup", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "managementGroup($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "max", + "kind": "function", + "detail": "max()", + "deprecated": false, + "preselect": false, + "sortText": "3_max", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "max($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "min", + "kind": "function", + "detail": "min()", + "deprecated": false, + "preselect": false, + "sortText": "3_min", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "min($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "missingType", + "kind": "field", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + } + }, + { + "label": "missingTypeWithSpaceAfter", + "kind": "field", + "detail": "missingTypeWithSpaceAfter", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTypeWithSpaceAfter", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTypeWithSpaceAfter" + } + }, + { + "label": "missingTypeWithTabAfter", + "kind": "field", + "detail": "missingTypeWithTabAfter", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTypeWithTabAfter", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTypeWithTabAfter" + } + }, + { + "label": "myBool", + "kind": "field", + "detail": "myBool", + "deprecated": false, + "preselect": false, + "sortText": "2_myBool", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myBool" + } + }, + { + "label": "myFalsehood", + "kind": "field", + "detail": "myFalsehood", + "deprecated": false, + "preselect": false, + "sortText": "2_myFalsehood", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myFalsehood" + } + }, + { + "label": "myInt", + "kind": "field", + "detail": "myInt", + "deprecated": false, + "preselect": false, + "sortText": "2_myInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myInt" + } + }, + { + "label": "myInt2", + "kind": "field", + "detail": "myInt2", + "deprecated": false, + "preselect": false, + "sortText": "2_myInt2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myInt2" + } + }, + { + "label": "myString", + "kind": "field", + "detail": "myString", + "deprecated": false, + "preselect": false, + "sortText": "2_myString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myString" + } + }, + { + "label": "myString2", + "kind": "field", + "detail": "myString2", + "deprecated": false, + "preselect": false, + "sortText": "2_myString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myString2" + } + }, + { + "label": "myTruth", + "kind": "field", + "detail": "myTruth", + "deprecated": false, + "preselect": false, + "sortText": "2_myTruth", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myTruth" + } + }, + { + "label": "newGuid", + "kind": "function", + "detail": "newGuid()", + "deprecated": false, + "preselect": false, + "sortText": "3_newGuid", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "newGuid()$0" + } + }, + { + "label": "noValueAfterColon", + "kind": "field", + "detail": "noValueAfterColon", + "deprecated": false, + "preselect": false, + "sortText": "2_noValueAfterColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "noValueAfterColon" + } + }, + { + "label": "nonCompileTimeConstant", + "kind": "field", + "detail": "nonCompileTimeConstant", + "deprecated": false, + "preselect": false, + "sortText": "2_nonCompileTimeConstant", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonCompileTimeConstant" + } + }, + { + "label": "nonCompileTimeConstantWithDecorator", + "kind": "field", + "detail": "nonCompileTimeConstantWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_nonCompileTimeConstantWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonCompileTimeConstantWithDecorator" + } + }, + { + "label": "nonConstantInDecorator", + "kind": "field", + "detail": "nonConstantInDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_nonConstantInDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonConstantInDecorator" + } + }, + { + "label": "padLeft", + "kind": "function", + "detail": "padLeft()", + "deprecated": false, + "preselect": false, + "sortText": "3_padLeft", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "padLeft($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "paramAccessingOutput", + "kind": "field", + "detail": "paramAccessingOutput", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingOutput", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingOutput" + } + }, + { + "label": "paramAccessingOutput2", + "kind": "field", + "detail": "paramAccessingOutput2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingOutput2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingOutput2" + } + }, + { + "label": "paramAccessingResource", + "kind": "field", + "detail": "paramAccessingResource", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingResource" + } + }, + { + "label": "paramAccessingResource2", + "kind": "field", + "detail": "paramAccessingResource2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingResource2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingResource2" + } + }, + { + "label": "paramAccessingVar", + "kind": "field", + "detail": "paramAccessingVar", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingVar" + } + }, + { + "label": "paramAccessingVar2", + "kind": "field", + "detail": "paramAccessingVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingVar2" + } + }, + { + "label": "paramDefaultOneCycle", + "kind": "field", + "detail": "paramDefaultOneCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultOneCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultOneCycle" + } + }, + { + "label": "paramDefaultTwoCycle1", + "kind": "field", + "detail": "paramDefaultTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultTwoCycle1" + } + }, + { + "label": "paramDefaultTwoCycle2", + "kind": "field", + "detail": "paramDefaultTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultTwoCycle2" + } + }, + { + "label": "paramMixedTwoCycle1", + "kind": "field", + "detail": "paramMixedTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramMixedTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramMixedTwoCycle1" + } + }, + { + "label": "paramMixedTwoCycle2", + "kind": "field", + "detail": "paramMixedTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramMixedTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramMixedTwoCycle2" + } + }, + { + "label": "paramModifierOneCycle", + "kind": "field", + "detail": "paramModifierOneCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierOneCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierOneCycle" + } + }, + { + "label": "paramModifierSelfCycle", + "kind": "field", + "detail": "paramModifierSelfCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierSelfCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierSelfCycle" + } + }, + { + "label": "paramModifierSelfCycleWithDecorator", + "kind": "field", + "detail": "paramModifierSelfCycleWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierSelfCycleWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierSelfCycleWithDecorator" + } + }, + { + "label": "paramModifierTwoCycle1", + "kind": "field", + "detail": "paramModifierTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierTwoCycle1" + } + }, + { + "label": "paramModifierTwoCycle2", + "kind": "field", + "detail": "paramModifierTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierTwoCycle2" + } + }, + { + "label": "partialType", + "kind": "field", + "detail": "partialType", + "deprecated": false, + "preselect": false, + "sortText": "2_partialType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "partialType" + } + }, + { + "label": "pickZones", + "kind": "function", + "detail": "pickZones()", + "deprecated": false, + "preselect": false, + "sortText": "3_pickZones", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "pickZones($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "providers", + "kind": "function", + "detail": "providers()", + "deprecated": false, + "preselect": false, + "sortText": "3_providers", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "providers($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "range", + "kind": "function", + "detail": "range()", + "deprecated": false, + "preselect": false, + "sortText": "3_range", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "range($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "reference", + "kind": "function", + "detail": "reference()", + "deprecated": false, + "preselect": false, + "sortText": "3_reference", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "reference($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "replace", + "kind": "function", + "detail": "replace()", + "deprecated": false, + "preselect": false, + "sortText": "3_replace", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "replace($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "resourceGroup", + "kind": "function", + "detail": "resourceGroup()", + "deprecated": false, + "preselect": false, + "sortText": "3_resourceGroup", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceGroup($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "resourceId", + "kind": "function", + "detail": "resourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_resourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "sampleResource", + "kind": "interface", + "detail": "sampleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_sampleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sampleResource" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sampleVar", + "kind": "variable", + "detail": "sampleVar", + "deprecated": false, + "preselect": false, + "sortText": "2_sampleVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sampleVar" + } + }, + { + "label": "secureInt", + "kind": "field", + "detail": "secureInt", + "deprecated": false, + "preselect": false, + "sortText": "2_secureInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "secureInt" + } + }, + { + "label": "secureIntWithDecorator", + "kind": "field", + "detail": "secureIntWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_secureIntWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "secureIntWithDecorator" + } + }, + { + "label": "skip", + "kind": "function", + "detail": "skip()", + "deprecated": false, + "preselect": false, + "sortText": "3_skip", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "skip($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "someArray", + "kind": "field", + "detail": "someArray", + "deprecated": false, + "preselect": false, + "sortText": "2_someArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someArray" + } + }, + { + "label": "someArrayWithDecorator", + "kind": "field", + "detail": "someArrayWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_someArrayWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someArrayWithDecorator" + } + }, + { + "label": "someInteger", + "kind": "field", + "detail": "someInteger", + "deprecated": false, + "preselect": false, + "sortText": "2_someInteger", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someInteger" + } + }, + { + "label": "someString", + "kind": "field", + "detail": "someString", + "deprecated": false, + "preselect": false, + "sortText": "2_someString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someString" + } + }, + { + "label": "split", + "kind": "function", + "detail": "split()", + "deprecated": false, + "preselect": false, + "sortText": "3_split", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "split($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "startsWith", + "kind": "function", + "detail": "startsWith()", + "deprecated": false, + "preselect": false, + "sortText": "3_startsWith", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startsWith($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "string", + "kind": "function", + "detail": "string()", + "deprecated": false, + "preselect": false, + "sortText": "3_string", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "string($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "stringLiteral", + "kind": "field", + "detail": "stringLiteral", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral" + } + }, + { + "label": "stringLiteral2", + "kind": "field", + "detail": "stringLiteral2", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral2" + } + }, + { + "label": "stringLiteral3", + "kind": "field", + "detail": "stringLiteral3", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral3" + } + }, + { + "label": "stringModifierCompletions", + "kind": "field", + "detail": "stringModifierCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_stringModifierCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringModifierCompletions" + } + }, + { + "label": "subscription", + "kind": "function", + "detail": "subscription()", + "deprecated": false, + "preselect": false, + "sortText": "3_subscription", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "subscription($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "subscriptionResourceId", + "kind": "function", + "detail": "subscriptionResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_subscriptionResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "subscriptionResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "substring", + "kind": "function", + "detail": "substring()", + "deprecated": false, + "preselect": false, + "sortText": "3_substring", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "substring($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "sys", + "kind": "folder", + "detail": "sys", + "deprecated": false, + "preselect": false, + "sortText": "3_sys", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sys" + } + }, + { + "label": "take", + "kind": "function", + "detail": "take()", + "deprecated": false, + "preselect": false, + "sortText": "3_take", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "take($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "tenant", + "kind": "function", + "detail": "tenant()", + "deprecated": false, + "preselect": false, + "sortText": "3_tenant", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tenant()$0" + } + }, + { + "label": "tenantResourceId", + "kind": "function", + "detail": "tenantResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_tenantResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tenantResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "toLower", + "kind": "function", + "detail": "toLower()", + "deprecated": false, + "preselect": false, + "sortText": "3_toLower", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "toLower($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "toUpper", + "kind": "function", + "detail": "toUpper()", + "deprecated": false, + "preselect": false, + "sortText": "3_toUpper", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "toUpper($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "tooManyArguments1", + "kind": "field", + "detail": "tooManyArguments1", + "deprecated": false, + "preselect": false, + "sortText": "2_tooManyArguments1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tooManyArguments1" + } + }, + { + "label": "tooManyArguments2", + "kind": "field", + "detail": "tooManyArguments2", + "deprecated": false, + "preselect": false, + "sortText": "2_tooManyArguments2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tooManyArguments2" + } + }, + { + "label": "trailingSpace", + "kind": "field", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + } + }, + { + "label": "trim", + "kind": "function", + "detail": "trim()", + "deprecated": false, + "preselect": false, + "sortText": "3_trim", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trim($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "union", + "kind": "function", + "detail": "union()", + "deprecated": false, + "preselect": false, + "sortText": "3_union", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "union($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uniqueString", + "kind": "function", + "detail": "uniqueString()", + "deprecated": false, + "preselect": false, + "sortText": "3_uniqueString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uniqueString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uri", + "kind": "function", + "detail": "uri()", + "deprecated": false, + "preselect": false, + "sortText": "3_uri", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uri($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uriComponent", + "kind": "function", + "detail": "uriComponent()", + "deprecated": false, + "preselect": false, + "sortText": "3_uriComponent", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uriComponent($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uriComponentToString", + "kind": "function", + "detail": "uriComponentToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_uriComponentToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uriComponentToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "utcNow", + "kind": "function", + "detail": "utcNow()", + "deprecated": false, + "preselect": false, + "sortText": "3_utcNow", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "utcNow($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "wrongAssignmentToken", + "kind": "field", + "detail": "wrongAssignmentToken", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongAssignmentToken", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongAssignmentToken" + } + }, + { + "label": "wrongDefaultValue", + "kind": "field", + "detail": "wrongDefaultValue", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongDefaultValue", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongDefaultValue" + } + }, + { + "label": "wrongIntModifier", + "kind": "field", + "detail": "wrongIntModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongIntModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongIntModifier" + } + }, + { + "label": "wrongIntModifierWithDecorator", + "kind": "field", + "detail": "wrongIntModifierWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongIntModifierWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongIntModifierWithDecorator" + } + }, + { + "label": "wrongMetadataSchema", + "kind": "field", + "detail": "wrongMetadataSchema", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongMetadataSchema", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongMetadataSchema" + } + }, + { + "label": "wrongMetadataSchemaWithDecorator", + "kind": "field", + "detail": "wrongMetadataSchemaWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongMetadataSchemaWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongMetadataSchemaWithDecorator" + } + }, + { + "label": "wrongType", + "kind": "field", + "detail": "wrongType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongType" + } + } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/symbolsPlusParamDefaultFunctions.json b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/symbolsPlusParamDefaultFunctions.json index fb529c808e0..04c14c33b3c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/symbolsPlusParamDefaultFunctions.json +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/symbolsPlusParamDefaultFunctions.json @@ -1,2026 +1,2029 @@ -[ - { - "label": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "kind": "field", - "detail": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "deprecated": false, - "preselect": false, - "sortText": "2_WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong" - } - }, - { - "label": "any", - "kind": "function", - "detail": "any()", - "deprecated": false, - "preselect": false, - "sortText": "3_any", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "any($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "array", - "kind": "function", - "detail": "array()", - "deprecated": false, - "preselect": false, - "sortText": "3_array", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "array($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "az", - "kind": "folder", - "detail": "az", - "deprecated": false, - "preselect": false, - "sortText": "3_az", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "az" - } - }, - { - "label": "badInterpolatedString", - "kind": "field", - "detail": "badInterpolatedString", - "deprecated": false, - "preselect": false, - "sortText": "2_badInterpolatedString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "badInterpolatedString" - } - }, - { - "label": "badInterpolatedString2", - "kind": "field", - "detail": "badInterpolatedString2", - "deprecated": false, - "preselect": false, - "sortText": "2_badInterpolatedString2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "badInterpolatedString2" - } - }, - { - "label": "base64", - "kind": "function", - "detail": "base64()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "base64ToJson", - "kind": "function", - "detail": "base64ToJson()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64ToJson", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64ToJson($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "base64ToString", - "kind": "function", - "detail": "base64ToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_base64ToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "base64ToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "bool", - "kind": "function", - "detail": "bool()", - "deprecated": false, - "preselect": false, - "sortText": "3_bool", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "bool($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "coalesce", - "kind": "function", - "detail": "coalesce()", - "deprecated": false, - "preselect": false, - "sortText": "3_coalesce", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "coalesce($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "commaOne", - "kind": "field", - "detail": "commaOne", - "deprecated": false, - "preselect": false, - "sortText": "2_commaOne", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaOne" - } - }, - { - "label": "commaOneWithDecorator", - "kind": "field", - "detail": "commaOneWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_commaOneWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaOneWithDecorator" - } - }, - { - "label": "commaTwo", - "kind": "field", - "detail": "commaTwo", - "deprecated": false, - "preselect": false, - "sortText": "2_commaTwo", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "commaTwo" - } - }, - { - "label": "concat", - "kind": "function", - "detail": "concat()", - "deprecated": false, - "preselect": false, - "sortText": "3_concat", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "concat($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "contains", - "kind": "function", - "detail": "contains()", - "deprecated": false, - "preselect": false, - "sortText": "3_contains", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "contains($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dataUri", - "kind": "function", - "detail": "dataUri()", - "deprecated": false, - "preselect": false, - "sortText": "3_dataUri", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dataUri($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dataUriToString", - "kind": "function", - "detail": "dataUriToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_dataUriToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dataUriToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "dateTimeAdd", - "kind": "function", - "detail": "dateTimeAdd()", - "deprecated": false, - "preselect": false, - "sortText": "3_dateTimeAdd", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "dateTimeAdd($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "defaultValueCompletions", - "kind": "field", - "detail": "defaultValueCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_defaultValueCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "defaultValueCompletions" - } - }, - { - "label": "defaultValueOneLinerCompletions", - "kind": "field", - "detail": "defaultValueOneLinerCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_defaultValueOneLinerCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "defaultValueOneLinerCompletions" - } - }, - { - "label": "deployment", - "kind": "function", - "detail": "deployment()", - "deprecated": false, - "preselect": false, - "sortText": "3_deployment", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "deployment()$0" - } - }, - { - "label": "duplicatedModifierProperty", - "kind": "field", - "detail": "duplicatedModifierProperty", - "deprecated": false, - "preselect": false, - "sortText": "2_duplicatedModifierProperty", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "duplicatedModifierProperty" - } - }, - { - "label": "empty", - "kind": "function", - "detail": "empty()", - "deprecated": false, - "preselect": false, - "sortText": "3_empty", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "empty($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "emptyAllowedInt", - "kind": "field", - "detail": "emptyAllowedInt", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedInt" - } - }, - { - "label": "emptyAllowedIntWithDecorator", - "kind": "field", - "detail": "emptyAllowedIntWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedIntWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedIntWithDecorator" - } - }, - { - "label": "emptyAllowedString", - "kind": "field", - "detail": "emptyAllowedString", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedString" - } - }, - { - "label": "emptyAllowedStringWithDecorator", - "kind": "field", - "detail": "emptyAllowedStringWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_emptyAllowedStringWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "emptyAllowedStringWithDecorator" - } - }, - { - "label": "endsWith", - "kind": "function", - "detail": "endsWith()", - "deprecated": false, - "preselect": false, - "sortText": "3_endsWith", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "endsWith($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "environment", - "kind": "function", - "detail": "environment()", - "deprecated": false, - "preselect": false, - "sortText": "3_environment", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "environment()$0" - } - }, - { - "label": "expressionInModifierWithDecorator", - "kind": "field", - "detail": "expressionInModifierWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_expressionInModifierWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "expressionInModifierWithDecorator" - } - }, - { - "label": "extensionResourceId", - "kind": "function", - "detail": "extensionResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_extensionResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "extensionResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "fatalErrorInIssue1713", - "kind": "field", - "detail": "fatalErrorInIssue1713", - "deprecated": false, - "preselect": false, - "sortText": "2_fatalErrorInIssue1713", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "fatalErrorInIssue1713" - } - }, - { - "label": "first", - "kind": "function", - "detail": "first()", - "deprecated": false, - "preselect": false, - "sortText": "3_first", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "first($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "format", - "kind": "function", - "detail": "format()", - "deprecated": false, - "preselect": false, - "sortText": "3_format", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "format($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "guid", - "kind": "function", - "detail": "guid()", - "deprecated": false, - "preselect": false, - "sortText": "3_guid", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "guid($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "incompleteDecorators", - "kind": "field", - "detail": "incompleteDecorators", - "deprecated": false, - "preselect": false, - "sortText": "2_incompleteDecorators", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "incompleteDecorators" - } - }, - { - "label": "indexOf", - "kind": "function", - "detail": "indexOf()", - "deprecated": false, - "preselect": false, - "sortText": "3_indexOf", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "indexOf($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "int", - "kind": "function", - "detail": "int()", - "deprecated": false, - "preselect": false, - "sortText": "3_int", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "int($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "intModifierCompletions", - "kind": "field", - "detail": "intModifierCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_intModifierCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "intModifierCompletions" - } - }, - { - "label": "intersection", - "kind": "function", - "detail": "intersection()", - "deprecated": false, - "preselect": false, - "sortText": "3_intersection", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "intersection($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "json", - "kind": "function", - "detail": "json()", - "deprecated": false, - "preselect": false, - "sortText": "3_json", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "json($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "last", - "kind": "function", - "detail": "last()", - "deprecated": false, - "preselect": false, - "sortText": "3_last", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "last($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "lastIndexOf", - "kind": "function", - "detail": "lastIndexOf()", - "deprecated": false, - "preselect": false, - "sortText": "3_lastIndexOf", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "lastIndexOf($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "length", - "kind": "function", - "detail": "length()", - "deprecated": false, - "preselect": false, - "sortText": "3_length", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "length($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "malformedModifier", - "kind": "field", - "detail": "malformedModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedModifier" - } - }, - { - "label": "malformedType", - "kind": "field", - "detail": "malformedType", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedType" - } - }, - { - "label": "malformedType2", - "kind": "field", - "detail": "malformedType2", - "deprecated": false, - "preselect": false, - "sortText": "2_malformedType2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "malformedType2" - } - }, - { - "label": "managementGroup", - "kind": "function", - "detail": "managementGroup()", - "deprecated": false, - "preselect": false, - "sortText": "3_managementGroup", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "managementGroup($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "max", - "kind": "function", - "detail": "max()", - "deprecated": false, - "preselect": false, - "sortText": "3_max", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "max($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "min", - "kind": "function", - "detail": "min()", - "deprecated": false, - "preselect": false, - "sortText": "3_min", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "min($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "missingType", - "kind": "field", - "detail": "missingType", - "deprecated": false, - "preselect": false, - "sortText": "2_missingType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingType" - } - }, - { - "label": "missingTypeWithSpaceAfter", - "kind": "field", - "detail": "missingTypeWithSpaceAfter", - "deprecated": false, - "preselect": false, - "sortText": "2_missingTypeWithSpaceAfter", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingTypeWithSpaceAfter" - } - }, - { - "label": "missingTypeWithTabAfter", - "kind": "field", - "detail": "missingTypeWithTabAfter", - "deprecated": false, - "preselect": false, - "sortText": "2_missingTypeWithTabAfter", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "missingTypeWithTabAfter" - } - }, - { - "label": "myBool", - "kind": "field", - "detail": "myBool", - "deprecated": false, - "preselect": false, - "sortText": "2_myBool", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myBool" - } - }, - { - "label": "myFalsehood", - "kind": "field", - "detail": "myFalsehood", - "deprecated": false, - "preselect": false, - "sortText": "2_myFalsehood", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myFalsehood" - } - }, - { - "label": "myInt", - "kind": "field", - "detail": "myInt", - "deprecated": false, - "preselect": false, - "sortText": "2_myInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myInt" - } - }, - { - "label": "myInt2", - "kind": "field", - "detail": "myInt2", - "deprecated": false, - "preselect": false, - "sortText": "2_myInt2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myInt2" - } - }, - { - "label": "myString", - "kind": "field", - "detail": "myString", - "deprecated": false, - "preselect": false, - "sortText": "2_myString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myString" - } - }, - { - "label": "myString2", - "kind": "field", - "detail": "myString2", - "deprecated": false, - "preselect": false, - "sortText": "2_myString2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myString2" - } - }, - { - "label": "myTruth", - "kind": "field", - "detail": "myTruth", - "deprecated": false, - "preselect": false, - "sortText": "2_myTruth", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "myTruth" - } - }, - { - "label": "newGuid", - "kind": "function", - "detail": "newGuid()", - "deprecated": false, - "preselect": false, - "sortText": "3_newGuid", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "newGuid()$0" - } - }, - { - "label": "noValueAfterColon", - "kind": "field", - "detail": "noValueAfterColon", - "deprecated": false, - "preselect": false, - "sortText": "2_noValueAfterColon", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "noValueAfterColon" - } - }, - { - "label": "nonCompileTimeConstant", - "kind": "field", - "detail": "nonCompileTimeConstant", - "deprecated": false, - "preselect": false, - "sortText": "2_nonCompileTimeConstant", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonCompileTimeConstant" - } - }, - { - "label": "nonCompileTimeConstantWithDecorator", - "kind": "field", - "detail": "nonCompileTimeConstantWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_nonCompileTimeConstantWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonCompileTimeConstantWithDecorator" - } - }, - { - "label": "nonConstantInDecorator", - "kind": "field", - "detail": "nonConstantInDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_nonConstantInDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "nonConstantInDecorator" - } - }, - { - "label": "padLeft", - "kind": "function", - "detail": "padLeft()", - "deprecated": false, - "preselect": false, - "sortText": "3_padLeft", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "padLeft($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "paramAccessingOutput", - "kind": "field", - "detail": "paramAccessingOutput", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingOutput", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingOutput" - } - }, - { - "label": "paramAccessingOutput2", - "kind": "field", - "detail": "paramAccessingOutput2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingOutput2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingOutput2" - } - }, - { - "label": "paramAccessingResource", - "kind": "field", - "detail": "paramAccessingResource", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingResource", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingResource" - } - }, - { - "label": "paramAccessingResource2", - "kind": "field", - "detail": "paramAccessingResource2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingResource2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingResource2" - } - }, - { - "label": "paramAccessingVar", - "kind": "field", - "detail": "paramAccessingVar", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingVar", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingVar" - } - }, - { - "label": "paramAccessingVar2", - "kind": "field", - "detail": "paramAccessingVar2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramAccessingVar2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramAccessingVar2" - } - }, - { - "label": "paramDefaultOneCycle", - "kind": "field", - "detail": "paramDefaultOneCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultOneCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultOneCycle" - } - }, - { - "label": "paramDefaultTwoCycle1", - "kind": "field", - "detail": "paramDefaultTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultTwoCycle1" - } - }, - { - "label": "paramDefaultTwoCycle2", - "kind": "field", - "detail": "paramDefaultTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramDefaultTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramDefaultTwoCycle2" - } - }, - { - "label": "paramMixedTwoCycle1", - "kind": "field", - "detail": "paramMixedTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramMixedTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramMixedTwoCycle1" - } - }, - { - "label": "paramMixedTwoCycle2", - "kind": "field", - "detail": "paramMixedTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramMixedTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramMixedTwoCycle2" - } - }, - { - "label": "paramModifierOneCycle", - "kind": "field", - "detail": "paramModifierOneCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierOneCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierOneCycle" - } - }, - { - "label": "paramModifierSelfCycle", - "kind": "field", - "detail": "paramModifierSelfCycle", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierSelfCycle", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierSelfCycle" - } - }, - { - "label": "paramModifierSelfCycleWithDecorator", - "kind": "field", - "detail": "paramModifierSelfCycleWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierSelfCycleWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierSelfCycleWithDecorator" - } - }, - { - "label": "paramModifierTwoCycle1", - "kind": "field", - "detail": "paramModifierTwoCycle1", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierTwoCycle1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierTwoCycle1" - } - }, - { - "label": "paramModifierTwoCycle2", - "kind": "field", - "detail": "paramModifierTwoCycle2", - "deprecated": false, - "preselect": false, - "sortText": "2_paramModifierTwoCycle2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "paramModifierTwoCycle2" - } - }, - { - "label": "partialType", - "kind": "field", - "detail": "partialType", - "deprecated": false, - "preselect": false, - "sortText": "2_partialType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "partialType" - } - }, - { - "label": "pickZones", - "kind": "function", - "detail": "pickZones()", - "deprecated": false, - "preselect": false, - "sortText": "3_pickZones", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "pickZones($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "providers", - "kind": "function", - "detail": "providers()", - "deprecated": false, - "preselect": false, - "sortText": "3_providers", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "providers($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "range", - "kind": "function", - "detail": "range()", - "deprecated": false, - "preselect": false, - "sortText": "3_range", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "range($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "reference", - "kind": "function", - "detail": "reference()", - "deprecated": false, - "preselect": false, - "sortText": "3_reference", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "reference($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "replace", - "kind": "function", - "detail": "replace()", - "deprecated": false, - "preselect": false, - "sortText": "3_replace", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "replace($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "resourceGroup", - "kind": "function", - "detail": "resourceGroup()", - "deprecated": false, - "preselect": false, - "sortText": "3_resourceGroup", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "resourceGroup($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "resourceId", - "kind": "function", - "detail": "resourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_resourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "resourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "sampleResource", - "kind": "interface", - "detail": "sampleResource", - "deprecated": false, - "preselect": false, - "sortText": "2_sampleResource", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sampleResource" - } - }, - { - "label": "sampleVar", - "kind": "variable", - "detail": "sampleVar", - "deprecated": false, - "preselect": false, - "sortText": "2_sampleVar", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sampleVar" - } - }, - { - "label": "secureInt", - "kind": "field", - "detail": "secureInt", - "deprecated": false, - "preselect": false, - "sortText": "2_secureInt", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "secureInt" - } - }, - { - "label": "secureIntWithDecorator", - "kind": "field", - "detail": "secureIntWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_secureIntWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "secureIntWithDecorator" - } - }, - { - "label": "skip", - "kind": "function", - "detail": "skip()", - "deprecated": false, - "preselect": false, - "sortText": "3_skip", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "skip($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "someArray", - "kind": "field", - "detail": "someArray", - "deprecated": false, - "preselect": false, - "sortText": "2_someArray", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someArray" - } - }, - { - "label": "someArrayWithDecorator", - "kind": "field", - "detail": "someArrayWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_someArrayWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someArrayWithDecorator" - } - }, - { - "label": "someInteger", - "kind": "field", - "detail": "someInteger", - "deprecated": false, - "preselect": false, - "sortText": "2_someInteger", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someInteger" - } - }, - { - "label": "someString", - "kind": "field", - "detail": "someString", - "deprecated": false, - "preselect": false, - "sortText": "2_someString", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "someString" - } - }, - { - "label": "split", - "kind": "function", - "detail": "split()", - "deprecated": false, - "preselect": false, - "sortText": "3_split", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "split($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "startsWith", - "kind": "function", - "detail": "startsWith()", - "deprecated": false, - "preselect": false, - "sortText": "3_startsWith", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "startsWith($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "string", - "kind": "function", - "detail": "string()", - "deprecated": false, - "preselect": false, - "sortText": "3_string", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "string($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "stringLiteral", - "kind": "field", - "detail": "stringLiteral", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral" - } - }, - { - "label": "stringLiteral2", - "kind": "field", - "detail": "stringLiteral2", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral2" - } - }, - { - "label": "stringLiteral3", - "kind": "field", - "detail": "stringLiteral3", - "deprecated": false, - "preselect": false, - "sortText": "2_stringLiteral3", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringLiteral3" - } - }, - { - "label": "stringModifierCompletions", - "kind": "field", - "detail": "stringModifierCompletions", - "deprecated": false, - "preselect": false, - "sortText": "2_stringModifierCompletions", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "stringModifierCompletions" - } - }, - { - "label": "subscription", - "kind": "function", - "detail": "subscription()", - "deprecated": false, - "preselect": false, - "sortText": "3_subscription", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "subscription($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "subscriptionResourceId", - "kind": "function", - "detail": "subscriptionResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_subscriptionResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "subscriptionResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "substring", - "kind": "function", - "detail": "substring()", - "deprecated": false, - "preselect": false, - "sortText": "3_substring", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "substring($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "sys", - "kind": "folder", - "detail": "sys", - "deprecated": false, - "preselect": false, - "sortText": "3_sys", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "sys" - } - }, - { - "label": "take", - "kind": "function", - "detail": "take()", - "deprecated": false, - "preselect": false, - "sortText": "3_take", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "take($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "tenant", - "kind": "function", - "detail": "tenant()", - "deprecated": false, - "preselect": false, - "sortText": "3_tenant", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tenant()$0" - } - }, - { - "label": "tenantResourceId", - "kind": "function", - "detail": "tenantResourceId()", - "deprecated": false, - "preselect": false, - "sortText": "3_tenantResourceId", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tenantResourceId($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "toLower", - "kind": "function", - "detail": "toLower()", - "deprecated": false, - "preselect": false, - "sortText": "3_toLower", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "toLower($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "toUpper", - "kind": "function", - "detail": "toUpper()", - "deprecated": false, - "preselect": false, - "sortText": "3_toUpper", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "toUpper($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "tooManyArguments1", - "kind": "field", - "detail": "tooManyArguments1", - "deprecated": false, - "preselect": false, - "sortText": "2_tooManyArguments1", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tooManyArguments1" - } - }, - { - "label": "tooManyArguments2", - "kind": "field", - "detail": "tooManyArguments2", - "deprecated": false, - "preselect": false, - "sortText": "2_tooManyArguments2", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "tooManyArguments2" - } - }, - { - "label": "trailingSpace", - "kind": "field", - "detail": "trailingSpace", - "deprecated": false, - "preselect": false, - "sortText": "2_trailingSpace", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "trailingSpace" - } - }, - { - "label": "trim", - "kind": "function", - "detail": "trim()", - "deprecated": false, - "preselect": false, - "sortText": "3_trim", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "trim($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "union", - "kind": "function", - "detail": "union()", - "deprecated": false, - "preselect": false, - "sortText": "3_union", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "union($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uniqueString", - "kind": "function", - "detail": "uniqueString()", - "deprecated": false, - "preselect": false, - "sortText": "3_uniqueString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uniqueString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uri", - "kind": "function", - "detail": "uri()", - "deprecated": false, - "preselect": false, - "sortText": "3_uri", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uri($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uriComponent", - "kind": "function", - "detail": "uriComponent()", - "deprecated": false, - "preselect": false, - "sortText": "3_uriComponent", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uriComponent($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "uriComponentToString", - "kind": "function", - "detail": "uriComponentToString()", - "deprecated": false, - "preselect": false, - "sortText": "3_uriComponentToString", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "uriComponentToString($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "utcNow", - "kind": "function", - "detail": "utcNow()", - "deprecated": false, - "preselect": false, - "sortText": "3_utcNow", - "insertTextFormat": "snippet", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "utcNow($0)" - }, - "command": { - "command": "editor.action.triggerParameterHints" - } - }, - { - "label": "wrongAssignmentToken", - "kind": "field", - "detail": "wrongAssignmentToken", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongAssignmentToken", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongAssignmentToken" - } - }, - { - "label": "wrongDefaultValue", - "kind": "field", - "detail": "wrongDefaultValue", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongDefaultValue", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongDefaultValue" - } - }, - { - "label": "wrongIntModifier", - "kind": "field", - "detail": "wrongIntModifier", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongIntModifier", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongIntModifier" - } - }, - { - "label": "wrongIntModifierWithDecorator", - "kind": "field", - "detail": "wrongIntModifierWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongIntModifierWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongIntModifierWithDecorator" - } - }, - { - "label": "wrongMetadataSchema", - "kind": "field", - "detail": "wrongMetadataSchema", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongMetadataSchema", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongMetadataSchema" - } - }, - { - "label": "wrongMetadataSchemaWithDecorator", - "kind": "field", - "detail": "wrongMetadataSchemaWithDecorator", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongMetadataSchemaWithDecorator", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongMetadataSchemaWithDecorator" - } - }, - { - "label": "wrongType", - "kind": "field", - "detail": "wrongType", - "deprecated": false, - "preselect": false, - "sortText": "2_wrongType", - "insertTextFormat": "plainText", - "insertTextMode": "asIs", - "textEdit": { - "range": {}, - "newText": "wrongType" - } - } +[ + { + "label": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "kind": "field", + "detail": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "deprecated": false, + "preselect": false, + "sortText": "2_WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "WhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLongWhySoLong" + } + }, + { + "label": "any", + "kind": "function", + "detail": "any()", + "deprecated": false, + "preselect": false, + "sortText": "3_any", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "any($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "array", + "kind": "function", + "detail": "array()", + "deprecated": false, + "preselect": false, + "sortText": "3_array", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "array($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badInterpolatedString", + "kind": "field", + "detail": "badInterpolatedString", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterpolatedString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterpolatedString" + } + }, + { + "label": "badInterpolatedString2", + "kind": "field", + "detail": "badInterpolatedString2", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterpolatedString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterpolatedString2" + } + }, + { + "label": "base64", + "kind": "function", + "detail": "base64()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "base64ToJson", + "kind": "function", + "detail": "base64ToJson()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64ToJson", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64ToJson($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "base64ToString", + "kind": "function", + "detail": "base64ToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_base64ToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "base64ToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "bool", + "kind": "function", + "detail": "bool()", + "deprecated": false, + "preselect": false, + "sortText": "3_bool", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bool($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "coalesce", + "kind": "function", + "detail": "coalesce()", + "deprecated": false, + "preselect": false, + "sortText": "3_coalesce", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "coalesce($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "commaOne", + "kind": "field", + "detail": "commaOne", + "deprecated": false, + "preselect": false, + "sortText": "2_commaOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaOne" + } + }, + { + "label": "commaOneWithDecorator", + "kind": "field", + "detail": "commaOneWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_commaOneWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaOneWithDecorator" + } + }, + { + "label": "commaTwo", + "kind": "field", + "detail": "commaTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_commaTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "commaTwo" + } + }, + { + "label": "concat", + "kind": "function", + "detail": "concat()", + "deprecated": false, + "preselect": false, + "sortText": "3_concat", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "concat($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "contains", + "kind": "function", + "detail": "contains()", + "deprecated": false, + "preselect": false, + "sortText": "3_contains", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "contains($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dataUri", + "kind": "function", + "detail": "dataUri()", + "deprecated": false, + "preselect": false, + "sortText": "3_dataUri", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dataUri($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dataUriToString", + "kind": "function", + "detail": "dataUriToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_dataUriToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dataUriToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "dateTimeAdd", + "kind": "function", + "detail": "dateTimeAdd()", + "deprecated": false, + "preselect": false, + "sortText": "3_dateTimeAdd", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dateTimeAdd($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "defaultValueCompletions", + "kind": "field", + "detail": "defaultValueCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_defaultValueCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "defaultValueCompletions" + } + }, + { + "label": "defaultValueOneLinerCompletions", + "kind": "field", + "detail": "defaultValueOneLinerCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_defaultValueOneLinerCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "defaultValueOneLinerCompletions" + } + }, + { + "label": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "duplicatedModifierProperty", + "kind": "field", + "detail": "duplicatedModifierProperty", + "deprecated": false, + "preselect": false, + "sortText": "2_duplicatedModifierProperty", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "duplicatedModifierProperty" + } + }, + { + "label": "empty", + "kind": "function", + "detail": "empty()", + "deprecated": false, + "preselect": false, + "sortText": "3_empty", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "empty($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "emptyAllowedInt", + "kind": "field", + "detail": "emptyAllowedInt", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedInt" + } + }, + { + "label": "emptyAllowedIntWithDecorator", + "kind": "field", + "detail": "emptyAllowedIntWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedIntWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedIntWithDecorator" + } + }, + { + "label": "emptyAllowedString", + "kind": "field", + "detail": "emptyAllowedString", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedString" + } + }, + { + "label": "emptyAllowedStringWithDecorator", + "kind": "field", + "detail": "emptyAllowedStringWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyAllowedStringWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyAllowedStringWithDecorator" + } + }, + { + "label": "endsWith", + "kind": "function", + "detail": "endsWith()", + "deprecated": false, + "preselect": false, + "sortText": "3_endsWith", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "endsWith($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "environment", + "kind": "function", + "detail": "environment()", + "deprecated": false, + "preselect": false, + "sortText": "3_environment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "environment()$0" + } + }, + { + "label": "expressionInModifierWithDecorator", + "kind": "field", + "detail": "expressionInModifierWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInModifierWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInModifierWithDecorator" + } + }, + { + "label": "extensionResourceId", + "kind": "function", + "detail": "extensionResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_extensionResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "extensionResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "fatalErrorInIssue1713", + "kind": "field", + "detail": "fatalErrorInIssue1713", + "deprecated": false, + "preselect": false, + "sortText": "2_fatalErrorInIssue1713", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fatalErrorInIssue1713" + } + }, + { + "label": "first", + "kind": "function", + "detail": "first()", + "deprecated": false, + "preselect": false, + "sortText": "3_first", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "first($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "format", + "kind": "function", + "detail": "format()", + "deprecated": false, + "preselect": false, + "sortText": "3_format", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "format($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "guid", + "kind": "function", + "detail": "guid()", + "deprecated": false, + "preselect": false, + "sortText": "3_guid", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "guid($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "incompleteDecorators", + "kind": "field", + "detail": "incompleteDecorators", + "deprecated": false, + "preselect": false, + "sortText": "2_incompleteDecorators", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incompleteDecorators" + } + }, + { + "label": "indexOf", + "kind": "function", + "detail": "indexOf()", + "deprecated": false, + "preselect": false, + "sortText": "3_indexOf", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "indexOf($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "int", + "kind": "function", + "detail": "int()", + "deprecated": false, + "preselect": false, + "sortText": "3_int", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "int($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "intModifierCompletions", + "kind": "field", + "detail": "intModifierCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_intModifierCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "intModifierCompletions" + } + }, + { + "label": "intersection", + "kind": "function", + "detail": "intersection()", + "deprecated": false, + "preselect": false, + "sortText": "3_intersection", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "intersection($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "json", + "kind": "function", + "detail": "json()", + "deprecated": false, + "preselect": false, + "sortText": "3_json", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "json($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "last", + "kind": "function", + "detail": "last()", + "deprecated": false, + "preselect": false, + "sortText": "3_last", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "last($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "lastIndexOf", + "kind": "function", + "detail": "lastIndexOf()", + "deprecated": false, + "preselect": false, + "sortText": "3_lastIndexOf", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "lastIndexOf($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "length", + "kind": "function", + "detail": "length()", + "deprecated": false, + "preselect": false, + "sortText": "3_length", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "length($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "malformedModifier", + "kind": "field", + "detail": "malformedModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedModifier" + } + }, + { + "label": "malformedType", + "kind": "field", + "detail": "malformedType", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedType" + } + }, + { + "label": "malformedType2", + "kind": "field", + "detail": "malformedType2", + "deprecated": false, + "preselect": false, + "sortText": "2_malformedType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "malformedType2" + } + }, + { + "label": "managementGroup", + "kind": "function", + "detail": "managementGroup()", + "deprecated": false, + "preselect": false, + "sortText": "3_managementGroup", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "managementGroup($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "max", + "kind": "function", + "detail": "max()", + "deprecated": false, + "preselect": false, + "sortText": "3_max", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "max($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "min", + "kind": "function", + "detail": "min()", + "deprecated": false, + "preselect": false, + "sortText": "3_min", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "min($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "missingType", + "kind": "field", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + } + }, + { + "label": "missingTypeWithSpaceAfter", + "kind": "field", + "detail": "missingTypeWithSpaceAfter", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTypeWithSpaceAfter", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTypeWithSpaceAfter" + } + }, + { + "label": "missingTypeWithTabAfter", + "kind": "field", + "detail": "missingTypeWithTabAfter", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTypeWithTabAfter", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTypeWithTabAfter" + } + }, + { + "label": "myBool", + "kind": "field", + "detail": "myBool", + "deprecated": false, + "preselect": false, + "sortText": "2_myBool", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myBool" + } + }, + { + "label": "myFalsehood", + "kind": "field", + "detail": "myFalsehood", + "deprecated": false, + "preselect": false, + "sortText": "2_myFalsehood", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myFalsehood" + } + }, + { + "label": "myInt", + "kind": "field", + "detail": "myInt", + "deprecated": false, + "preselect": false, + "sortText": "2_myInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myInt" + } + }, + { + "label": "myInt2", + "kind": "field", + "detail": "myInt2", + "deprecated": false, + "preselect": false, + "sortText": "2_myInt2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myInt2" + } + }, + { + "label": "myString", + "kind": "field", + "detail": "myString", + "deprecated": false, + "preselect": false, + "sortText": "2_myString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myString" + } + }, + { + "label": "myString2", + "kind": "field", + "detail": "myString2", + "deprecated": false, + "preselect": false, + "sortText": "2_myString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myString2" + } + }, + { + "label": "myTruth", + "kind": "field", + "detail": "myTruth", + "deprecated": false, + "preselect": false, + "sortText": "2_myTruth", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "myTruth" + } + }, + { + "label": "newGuid", + "kind": "function", + "detail": "newGuid()", + "deprecated": false, + "preselect": false, + "sortText": "3_newGuid", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "newGuid()$0" + } + }, + { + "label": "noValueAfterColon", + "kind": "field", + "detail": "noValueAfterColon", + "deprecated": false, + "preselect": false, + "sortText": "2_noValueAfterColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "noValueAfterColon" + } + }, + { + "label": "nonCompileTimeConstant", + "kind": "field", + "detail": "nonCompileTimeConstant", + "deprecated": false, + "preselect": false, + "sortText": "2_nonCompileTimeConstant", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonCompileTimeConstant" + } + }, + { + "label": "nonCompileTimeConstantWithDecorator", + "kind": "field", + "detail": "nonCompileTimeConstantWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_nonCompileTimeConstantWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonCompileTimeConstantWithDecorator" + } + }, + { + "label": "nonConstantInDecorator", + "kind": "field", + "detail": "nonConstantInDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_nonConstantInDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonConstantInDecorator" + } + }, + { + "label": "padLeft", + "kind": "function", + "detail": "padLeft()", + "deprecated": false, + "preselect": false, + "sortText": "3_padLeft", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "padLeft($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "paramAccessingOutput", + "kind": "field", + "detail": "paramAccessingOutput", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingOutput", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingOutput" + } + }, + { + "label": "paramAccessingOutput2", + "kind": "field", + "detail": "paramAccessingOutput2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingOutput2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingOutput2" + } + }, + { + "label": "paramAccessingResource", + "kind": "field", + "detail": "paramAccessingResource", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingResource" + } + }, + { + "label": "paramAccessingResource2", + "kind": "field", + "detail": "paramAccessingResource2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingResource2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingResource2" + } + }, + { + "label": "paramAccessingVar", + "kind": "field", + "detail": "paramAccessingVar", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingVar" + } + }, + { + "label": "paramAccessingVar2", + "kind": "field", + "detail": "paramAccessingVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramAccessingVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramAccessingVar2" + } + }, + { + "label": "paramDefaultOneCycle", + "kind": "field", + "detail": "paramDefaultOneCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultOneCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultOneCycle" + } + }, + { + "label": "paramDefaultTwoCycle1", + "kind": "field", + "detail": "paramDefaultTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultTwoCycle1" + } + }, + { + "label": "paramDefaultTwoCycle2", + "kind": "field", + "detail": "paramDefaultTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramDefaultTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramDefaultTwoCycle2" + } + }, + { + "label": "paramMixedTwoCycle1", + "kind": "field", + "detail": "paramMixedTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramMixedTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramMixedTwoCycle1" + } + }, + { + "label": "paramMixedTwoCycle2", + "kind": "field", + "detail": "paramMixedTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramMixedTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramMixedTwoCycle2" + } + }, + { + "label": "paramModifierOneCycle", + "kind": "field", + "detail": "paramModifierOneCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierOneCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierOneCycle" + } + }, + { + "label": "paramModifierSelfCycle", + "kind": "field", + "detail": "paramModifierSelfCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierSelfCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierSelfCycle" + } + }, + { + "label": "paramModifierSelfCycleWithDecorator", + "kind": "field", + "detail": "paramModifierSelfCycleWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierSelfCycleWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierSelfCycleWithDecorator" + } + }, + { + "label": "paramModifierTwoCycle1", + "kind": "field", + "detail": "paramModifierTwoCycle1", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierTwoCycle1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierTwoCycle1" + } + }, + { + "label": "paramModifierTwoCycle2", + "kind": "field", + "detail": "paramModifierTwoCycle2", + "deprecated": false, + "preselect": false, + "sortText": "2_paramModifierTwoCycle2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramModifierTwoCycle2" + } + }, + { + "label": "partialType", + "kind": "field", + "detail": "partialType", + "deprecated": false, + "preselect": false, + "sortText": "2_partialType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "partialType" + } + }, + { + "label": "pickZones", + "kind": "function", + "detail": "pickZones()", + "deprecated": false, + "preselect": false, + "sortText": "3_pickZones", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "pickZones($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "providers", + "kind": "function", + "detail": "providers()", + "deprecated": false, + "preselect": false, + "sortText": "3_providers", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "providers($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "range", + "kind": "function", + "detail": "range()", + "deprecated": false, + "preselect": false, + "sortText": "3_range", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "range($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "reference", + "kind": "function", + "detail": "reference()", + "deprecated": false, + "preselect": false, + "sortText": "3_reference", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "reference($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "replace", + "kind": "function", + "detail": "replace()", + "deprecated": false, + "preselect": false, + "sortText": "3_replace", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "replace($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "resourceGroup", + "kind": "function", + "detail": "resourceGroup()", + "deprecated": false, + "preselect": false, + "sortText": "3_resourceGroup", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceGroup($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "resourceId", + "kind": "function", + "detail": "resourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_resourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "sampleResource", + "kind": "interface", + "detail": "sampleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_sampleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sampleResource" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sampleVar", + "kind": "variable", + "detail": "sampleVar", + "deprecated": false, + "preselect": false, + "sortText": "2_sampleVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sampleVar" + } + }, + { + "label": "secureInt", + "kind": "field", + "detail": "secureInt", + "deprecated": false, + "preselect": false, + "sortText": "2_secureInt", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "secureInt" + } + }, + { + "label": "secureIntWithDecorator", + "kind": "field", + "detail": "secureIntWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_secureIntWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "secureIntWithDecorator" + } + }, + { + "label": "skip", + "kind": "function", + "detail": "skip()", + "deprecated": false, + "preselect": false, + "sortText": "3_skip", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "skip($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "someArray", + "kind": "field", + "detail": "someArray", + "deprecated": false, + "preselect": false, + "sortText": "2_someArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someArray" + } + }, + { + "label": "someArrayWithDecorator", + "kind": "field", + "detail": "someArrayWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_someArrayWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someArrayWithDecorator" + } + }, + { + "label": "someInteger", + "kind": "field", + "detail": "someInteger", + "deprecated": false, + "preselect": false, + "sortText": "2_someInteger", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someInteger" + } + }, + { + "label": "someString", + "kind": "field", + "detail": "someString", + "deprecated": false, + "preselect": false, + "sortText": "2_someString", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "someString" + } + }, + { + "label": "split", + "kind": "function", + "detail": "split()", + "deprecated": false, + "preselect": false, + "sortText": "3_split", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "split($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "startsWith", + "kind": "function", + "detail": "startsWith()", + "deprecated": false, + "preselect": false, + "sortText": "3_startsWith", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startsWith($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "string", + "kind": "function", + "detail": "string()", + "deprecated": false, + "preselect": false, + "sortText": "3_string", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "string($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "stringLiteral", + "kind": "field", + "detail": "stringLiteral", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral" + } + }, + { + "label": "stringLiteral2", + "kind": "field", + "detail": "stringLiteral2", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral2" + } + }, + { + "label": "stringLiteral3", + "kind": "field", + "detail": "stringLiteral3", + "deprecated": false, + "preselect": false, + "sortText": "2_stringLiteral3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringLiteral3" + } + }, + { + "label": "stringModifierCompletions", + "kind": "field", + "detail": "stringModifierCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_stringModifierCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stringModifierCompletions" + } + }, + { + "label": "subscription", + "kind": "function", + "detail": "subscription()", + "deprecated": false, + "preselect": false, + "sortText": "3_subscription", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "subscription($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "subscriptionResourceId", + "kind": "function", + "detail": "subscriptionResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_subscriptionResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "subscriptionResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "substring", + "kind": "function", + "detail": "substring()", + "deprecated": false, + "preselect": false, + "sortText": "3_substring", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "substring($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "sys", + "kind": "folder", + "detail": "sys", + "deprecated": false, + "preselect": false, + "sortText": "3_sys", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sys" + } + }, + { + "label": "take", + "kind": "function", + "detail": "take()", + "deprecated": false, + "preselect": false, + "sortText": "3_take", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "take($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "tenant", + "kind": "function", + "detail": "tenant()", + "deprecated": false, + "preselect": false, + "sortText": "3_tenant", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tenant()$0" + } + }, + { + "label": "tenantResourceId", + "kind": "function", + "detail": "tenantResourceId()", + "deprecated": false, + "preselect": false, + "sortText": "3_tenantResourceId", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tenantResourceId($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "toLower", + "kind": "function", + "detail": "toLower()", + "deprecated": false, + "preselect": false, + "sortText": "3_toLower", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "toLower($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "toUpper", + "kind": "function", + "detail": "toUpper()", + "deprecated": false, + "preselect": false, + "sortText": "3_toUpper", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "toUpper($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "tooManyArguments1", + "kind": "field", + "detail": "tooManyArguments1", + "deprecated": false, + "preselect": false, + "sortText": "2_tooManyArguments1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tooManyArguments1" + } + }, + { + "label": "tooManyArguments2", + "kind": "field", + "detail": "tooManyArguments2", + "deprecated": false, + "preselect": false, + "sortText": "2_tooManyArguments2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "tooManyArguments2" + } + }, + { + "label": "trailingSpace", + "kind": "field", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + } + }, + { + "label": "trim", + "kind": "function", + "detail": "trim()", + "deprecated": false, + "preselect": false, + "sortText": "3_trim", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trim($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "union", + "kind": "function", + "detail": "union()", + "deprecated": false, + "preselect": false, + "sortText": "3_union", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "union($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uniqueString", + "kind": "function", + "detail": "uniqueString()", + "deprecated": false, + "preselect": false, + "sortText": "3_uniqueString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uniqueString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uri", + "kind": "function", + "detail": "uri()", + "deprecated": false, + "preselect": false, + "sortText": "3_uri", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uri($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uriComponent", + "kind": "function", + "detail": "uriComponent()", + "deprecated": false, + "preselect": false, + "sortText": "3_uriComponent", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uriComponent($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "uriComponentToString", + "kind": "function", + "detail": "uriComponentToString()", + "deprecated": false, + "preselect": false, + "sortText": "3_uriComponentToString", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "uriComponentToString($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "utcNow", + "kind": "function", + "detail": "utcNow()", + "deprecated": false, + "preselect": false, + "sortText": "3_utcNow", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "utcNow($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "wrongAssignmentToken", + "kind": "field", + "detail": "wrongAssignmentToken", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongAssignmentToken", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongAssignmentToken" + } + }, + { + "label": "wrongDefaultValue", + "kind": "field", + "detail": "wrongDefaultValue", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongDefaultValue", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongDefaultValue" + } + }, + { + "label": "wrongIntModifier", + "kind": "field", + "detail": "wrongIntModifier", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongIntModifier", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongIntModifier" + } + }, + { + "label": "wrongIntModifierWithDecorator", + "kind": "field", + "detail": "wrongIntModifierWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongIntModifierWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongIntModifierWithDecorator" + } + }, + { + "label": "wrongMetadataSchema", + "kind": "field", + "detail": "wrongMetadataSchema", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongMetadataSchema", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongMetadataSchema" + } + }, + { + "label": "wrongMetadataSchemaWithDecorator", + "kind": "field", + "detail": "wrongMetadataSchemaWithDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongMetadataSchemaWithDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongMetadataSchemaWithDecorator" + } + }, + { + "label": "wrongType", + "kind": "field", + "detail": "wrongType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongType" + } + } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/arrayPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/arrayPlusSymbols.json index 37ee3807270..ab20b5e1b8b 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/arrayPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/arrayPlusSymbols.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "for", @@ -1399,7 +1516,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1478,7 +1598,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1492,7 +1615,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1506,7 +1632,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1520,7 +1649,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1534,7 +1666,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1548,7 +1683,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1562,7 +1700,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1576,7 +1717,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1590,7 +1734,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1717,7 +1864,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1731,7 +1881,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1745,7 +1898,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1759,7 +1915,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1852,7 +2011,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1866,7 +2028,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1880,7 +2045,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1894,7 +2062,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1908,7 +2079,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1936,7 +2110,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2160,7 +2337,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2300,7 +2480,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2314,7 +2497,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2328,7 +2514,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2342,7 +2531,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2356,7 +2548,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2370,7 +2565,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2384,7 +2582,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2398,7 +2599,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2474,7 +2678,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2488,7 +2695,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2502,7 +2712,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2702,7 +2915,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2716,7 +2932,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2730,7 +2949,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2744,7 +2966,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2758,7 +2983,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2772,7 +3000,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2786,7 +3017,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2800,7 +3034,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2814,7 +3051,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2828,7 +3068,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2842,7 +3085,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2856,7 +3102,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2870,7 +3119,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2884,7 +3136,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2898,7 +3153,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2912,7 +3170,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2926,7 +3187,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2940,7 +3204,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2968,7 +3235,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2982,7 +3252,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2996,7 +3269,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3010,7 +3286,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3024,7 +3303,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3038,7 +3320,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3052,7 +3337,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3066,7 +3354,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3080,7 +3371,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3150,7 +3444,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3178,7 +3475,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3226,7 +3526,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3240,7 +3543,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3288,7 +3594,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3449,7 +3758,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3480,7 +3792,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3593,7 +3908,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3635,7 +3953,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3649,7 +3970,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3663,7 +3987,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3677,6 +4004,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cleanupPreferencesPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cleanupPreferencesPlusSymbols.json index 7168f00957c..1ed1b9b5bda 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cleanupPreferencesPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cleanupPreferencesPlusSymbols.json @@ -87,7 +87,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -115,7 +118,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -129,7 +135,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -143,7 +152,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -157,7 +169,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -171,7 +186,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -185,7 +203,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -199,7 +220,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -264,7 +288,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -346,7 +373,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -360,7 +390,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -374,7 +407,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -453,7 +489,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -467,7 +506,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -481,7 +523,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -495,7 +540,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -523,7 +571,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -537,7 +588,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -551,7 +605,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -565,7 +622,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -705,7 +765,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -719,7 +782,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -733,7 +799,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -915,7 +984,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -929,7 +1001,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -943,7 +1018,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1083,7 +1161,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1097,7 +1178,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1173,7 +1257,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1187,7 +1274,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1201,7 +1291,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1215,7 +1308,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1229,7 +1325,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1243,7 +1342,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1257,7 +1359,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1271,7 +1376,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1299,7 +1407,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1347,7 +1458,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1361,7 +1475,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1409,7 +1526,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1488,7 +1608,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1502,7 +1625,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1516,7 +1642,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1530,7 +1659,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1544,7 +1676,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1558,7 +1693,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1572,7 +1710,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1586,7 +1727,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1600,7 +1744,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1727,7 +1874,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1741,7 +1891,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1755,7 +1908,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1769,7 +1925,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1862,7 +2021,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1876,7 +2038,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1890,7 +2055,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1904,7 +2072,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1918,7 +2089,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1946,7 +2120,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2170,7 +2347,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2310,7 +2490,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2324,7 +2507,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2338,7 +2524,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2352,7 +2541,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2366,7 +2558,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2380,7 +2575,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2394,7 +2592,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2408,7 +2609,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2484,7 +2688,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2498,7 +2705,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2512,7 +2722,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2712,7 +2925,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2726,7 +2942,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2740,7 +2959,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2754,7 +2976,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2768,7 +2993,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2782,7 +3010,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2796,7 +3027,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2810,7 +3044,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2824,7 +3061,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2838,7 +3078,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2852,7 +3095,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2866,7 +3112,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2880,7 +3129,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2894,7 +3146,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2908,7 +3163,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2922,7 +3180,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2936,7 +3197,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2950,7 +3214,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2978,7 +3245,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2992,7 +3262,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3006,7 +3279,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3020,7 +3296,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3034,7 +3313,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3048,7 +3330,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3062,7 +3347,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3076,7 +3364,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3090,7 +3381,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3160,7 +3454,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3188,7 +3485,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3236,7 +3536,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3250,7 +3553,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3298,7 +3604,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3459,7 +3768,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3490,7 +3802,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3603,7 +3918,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3645,7 +3963,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3659,7 +3980,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3673,7 +3997,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3687,6 +4014,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols.json index cabcfddaf9f..f90f6f74b39 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols.json @@ -315,7 +315,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -343,7 +346,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -357,7 +363,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -371,7 +380,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -385,7 +397,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -399,7 +414,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -413,7 +431,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -427,7 +448,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -492,7 +516,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -574,7 +601,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -588,7 +618,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -602,7 +635,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -681,7 +717,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -695,7 +734,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -709,7 +751,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -723,7 +768,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -751,7 +799,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -765,7 +816,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -779,7 +833,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -793,7 +850,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -919,7 +979,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -933,7 +996,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -947,7 +1013,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -1129,7 +1198,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1143,7 +1215,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1157,7 +1232,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1297,7 +1375,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1311,7 +1392,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1387,7 +1471,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1401,7 +1488,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1415,7 +1505,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1429,7 +1522,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1443,7 +1539,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1457,7 +1556,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1471,7 +1573,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1485,7 +1590,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1513,7 +1621,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1561,7 +1672,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1575,7 +1689,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1623,7 +1740,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1637,7 +1757,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1716,7 +1839,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1730,7 +1856,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1744,7 +1873,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1758,7 +1890,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1772,7 +1907,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1786,7 +1924,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1800,7 +1941,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1814,7 +1958,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1828,7 +1975,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1955,7 +2105,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1969,7 +2122,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1983,7 +2139,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1997,7 +2156,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -2090,7 +2252,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -2104,7 +2269,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -2118,7 +2286,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2132,7 +2303,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2146,7 +2320,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2174,7 +2351,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2398,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2538,7 +2721,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2552,7 +2738,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2566,7 +2755,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2580,7 +2772,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2594,7 +2789,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2608,7 +2806,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2622,7 +2823,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2636,7 +2840,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2712,7 +2919,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2726,7 +2936,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2740,7 +2953,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2940,7 +3156,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2954,7 +3173,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2968,7 +3190,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2982,7 +3207,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2996,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -3010,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -3024,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -3038,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -3052,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -3066,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -3080,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -3094,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -3108,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -3122,7 +3377,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -3136,7 +3394,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3150,7 +3411,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3164,7 +3428,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3178,7 +3445,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3206,7 +3476,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3220,7 +3493,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3234,7 +3510,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3248,7 +3527,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3262,7 +3544,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3276,7 +3561,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3290,7 +3578,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3304,7 +3595,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3318,7 +3612,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3388,7 +3685,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3416,7 +3716,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3464,7 +3767,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3478,7 +3784,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3526,7 +3835,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3687,7 +3999,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3718,7 +4033,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3831,7 +4149,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3873,7 +4194,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3887,7 +4211,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3901,7 +4228,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3915,6 +4245,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for.json index 3221da4c789..a0c182f85b6 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for.json @@ -315,7 +315,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -343,7 +346,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -357,7 +363,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -371,7 +380,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -385,7 +397,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -399,7 +414,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -413,7 +431,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -427,7 +448,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -492,7 +516,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -574,7 +601,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -588,7 +618,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -602,7 +635,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -681,7 +717,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -695,7 +734,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -709,7 +751,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -723,7 +768,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -751,7 +799,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -765,7 +816,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -779,7 +833,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -793,7 +850,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -919,7 +979,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -933,7 +996,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -947,7 +1013,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -1129,7 +1198,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1143,7 +1215,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1157,7 +1232,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1297,7 +1375,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1311,7 +1392,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1387,7 +1471,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1401,7 +1488,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1415,7 +1505,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1429,7 +1522,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1443,7 +1539,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1457,7 +1556,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1471,7 +1573,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1485,7 +1590,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1513,7 +1621,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1561,7 +1672,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1575,7 +1689,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1623,7 +1740,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1637,7 +1757,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1716,7 +1839,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1730,7 +1856,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1744,7 +1873,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1758,7 +1890,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1772,7 +1907,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1786,7 +1924,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1800,7 +1941,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1814,7 +1958,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1828,7 +1975,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1955,7 +2105,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1969,7 +2122,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1983,7 +2139,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1997,7 +2156,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -2090,7 +2252,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -2104,7 +2269,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -2118,7 +2286,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2132,7 +2303,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2146,7 +2320,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2174,7 +2351,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2398,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2538,7 +2721,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2552,7 +2738,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2566,7 +2755,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2580,7 +2772,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2594,7 +2789,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2608,7 +2806,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2622,7 +2823,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2636,7 +2840,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2712,7 +2919,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2726,7 +2936,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2740,7 +2953,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2940,7 +3156,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2954,7 +3173,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2968,7 +3190,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2982,7 +3207,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2996,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -3010,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -3024,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -3038,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -3052,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -3066,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -3080,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -3094,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -3108,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -3122,7 +3377,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -3136,7 +3394,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3150,7 +3411,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3164,7 +3428,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3178,7 +3445,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3206,7 +3476,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3220,7 +3493,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3234,7 +3510,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3248,7 +3527,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3262,7 +3544,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3276,7 +3561,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3290,7 +3578,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3304,7 +3595,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3318,7 +3612,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3388,7 +3685,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3416,7 +3716,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3464,7 +3767,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3478,7 +3784,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3526,7 +3835,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3687,7 +3999,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3718,7 +4033,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3831,7 +4149,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3873,7 +4194,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3887,7 +4211,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3901,7 +4228,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3915,6 +4245,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_if.json index 1aac3d31ef9..0cd23e81cc8 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_if.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_if.json @@ -315,7 +315,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -343,7 +346,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -357,7 +363,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -371,7 +380,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -385,7 +397,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -399,7 +414,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -413,7 +431,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -427,7 +448,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -492,7 +516,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -574,7 +601,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -588,7 +618,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -602,7 +635,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -681,7 +717,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -695,7 +734,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -709,7 +751,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -723,7 +768,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -751,7 +799,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -765,7 +816,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -779,7 +833,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -793,7 +850,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -919,7 +979,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -933,7 +996,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -947,7 +1013,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -1129,7 +1198,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1143,7 +1215,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1157,7 +1232,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1297,7 +1375,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1311,7 +1392,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1387,7 +1471,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1401,7 +1488,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1415,7 +1505,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1429,7 +1522,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1443,7 +1539,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1457,7 +1556,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1471,7 +1573,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1485,7 +1590,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1513,7 +1621,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1561,7 +1672,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1575,7 +1689,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1623,7 +1740,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1637,7 +1757,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1716,7 +1839,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1730,7 +1856,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1744,7 +1873,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1758,7 +1890,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1772,7 +1907,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1786,7 +1924,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1800,7 +1941,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1814,7 +1958,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1828,7 +1975,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1955,7 +2105,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1969,7 +2122,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1983,7 +2139,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1997,7 +2156,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -2090,7 +2252,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -2104,7 +2269,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -2118,7 +2286,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2132,7 +2303,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2146,7 +2320,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2174,7 +2351,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2398,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2538,7 +2721,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2552,7 +2738,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2566,7 +2755,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2580,7 +2772,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2594,7 +2789,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2608,7 +2806,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2622,7 +2823,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2636,7 +2840,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2712,7 +2919,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2726,7 +2936,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2740,7 +2953,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2940,7 +3156,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2954,7 +3173,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2968,7 +3190,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2982,7 +3207,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2996,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -3010,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -3024,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -3038,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -3052,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -3066,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -3080,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -3094,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -3108,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -3122,7 +3377,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -3136,7 +3394,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3150,7 +3411,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3164,7 +3428,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3178,7 +3445,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3206,7 +3476,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3220,7 +3493,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3234,7 +3510,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3248,7 +3527,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3262,7 +3544,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3276,7 +3561,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3290,7 +3578,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3304,7 +3595,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3318,7 +3612,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3388,7 +3685,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3416,7 +3716,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3464,7 +3767,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3478,7 +3784,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3526,7 +3835,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3687,7 +3999,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3718,7 +4033,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3831,7 +4149,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3873,7 +4194,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3887,7 +4211,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3901,7 +4228,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3915,6 +4245,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols.json index 1d7e6ef3fe4..32231d903c5 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols.json @@ -63,7 +63,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -91,7 +94,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -105,7 +111,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -119,7 +128,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -133,7 +145,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -147,7 +162,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -161,7 +179,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -175,7 +196,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -240,7 +264,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -322,7 +349,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -336,7 +366,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -350,7 +383,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -429,7 +465,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -443,7 +482,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -457,7 +499,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -471,7 +516,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -499,7 +547,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -513,7 +564,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -527,7 +581,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -541,7 +598,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -681,7 +741,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -695,7 +758,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -709,7 +775,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -891,7 +960,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -905,7 +977,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -919,7 +994,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1059,7 +1137,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1073,7 +1154,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1149,7 +1233,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1163,7 +1250,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1177,7 +1267,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1191,7 +1284,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1205,7 +1301,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1219,7 +1318,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1233,7 +1335,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1247,7 +1352,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1275,7 +1383,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1323,7 +1434,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1337,7 +1451,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1385,7 +1502,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1399,7 +1519,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1478,7 +1601,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1492,7 +1618,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1506,7 +1635,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1520,7 +1652,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1534,7 +1669,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1548,7 +1686,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1562,7 +1703,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1576,7 +1720,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1590,7 +1737,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1717,7 +1867,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1731,7 +1884,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1745,7 +1901,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1759,7 +1918,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1852,7 +2014,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1866,7 +2031,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1880,7 +2048,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1894,7 +2065,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1908,7 +2082,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1936,7 +2113,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2160,7 +2340,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2286,7 +2469,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2300,7 +2486,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2314,7 +2503,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2328,7 +2520,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2342,7 +2537,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2356,7 +2554,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2370,7 +2571,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2384,7 +2588,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2460,7 +2667,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2474,7 +2684,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2488,7 +2701,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2688,7 +2904,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2702,7 +2921,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2716,7 +2938,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2730,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2744,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2758,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2772,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2786,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2800,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2814,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2828,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2842,7 +3091,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2856,7 +3108,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2870,7 +3125,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2884,7 +3142,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2898,7 +3159,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2912,7 +3176,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2926,7 +3193,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2954,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2968,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2982,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2996,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3010,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3024,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3038,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3052,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3066,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3136,7 +3433,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3164,7 +3464,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3212,7 +3515,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3226,7 +3532,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3274,7 +3583,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3435,7 +3747,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3466,7 +3781,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3579,7 +3897,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3621,7 +3942,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3635,7 +3959,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3649,7 +3976,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3663,6 +3993,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for.json index 1c961db1637..60420214e82 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for.json @@ -63,7 +63,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -91,7 +94,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -105,7 +111,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -119,7 +128,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -133,7 +145,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -147,7 +162,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -161,7 +179,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -175,7 +196,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -240,7 +264,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -322,7 +349,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -336,7 +366,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -350,7 +383,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -429,7 +465,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -443,7 +482,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -457,7 +499,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -471,7 +516,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -499,7 +547,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -513,7 +564,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -527,7 +581,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -541,7 +598,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -681,7 +741,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -695,7 +758,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -709,7 +775,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -891,7 +960,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -905,7 +977,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -919,7 +994,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1059,7 +1137,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1073,7 +1154,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1149,7 +1233,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1163,7 +1250,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1177,7 +1267,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1191,7 +1284,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1205,7 +1301,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1219,7 +1318,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1233,7 +1335,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1247,7 +1352,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1275,7 +1383,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1323,7 +1434,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1337,7 +1451,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1385,7 +1502,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1399,7 +1519,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1478,7 +1601,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1492,7 +1618,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1506,7 +1635,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1520,7 +1652,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1534,7 +1669,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1548,7 +1686,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1562,7 +1703,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1576,7 +1720,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1590,7 +1737,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1717,7 +1867,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1731,7 +1884,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1745,7 +1901,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1759,7 +1918,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1852,7 +2014,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1866,7 +2031,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1880,7 +2048,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1894,7 +2065,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1908,7 +2082,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1936,7 +2113,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2160,7 +2340,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2286,7 +2469,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2300,7 +2486,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2314,7 +2503,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2328,7 +2520,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2342,7 +2537,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2356,7 +2554,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2370,7 +2571,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2384,7 +2588,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2460,7 +2667,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2474,7 +2684,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2488,7 +2701,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2688,7 +2904,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2702,7 +2921,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2716,7 +2938,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2730,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2744,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2758,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2772,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2786,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2800,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2814,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2828,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2842,7 +3091,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2856,7 +3108,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2870,7 +3125,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2884,7 +3142,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2898,7 +3159,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2912,7 +3176,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2926,7 +3193,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2954,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2968,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2982,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2996,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3010,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3024,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3038,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3052,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3066,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3136,7 +3433,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3164,7 +3464,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3212,7 +3515,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3226,7 +3532,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3274,7 +3583,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3435,7 +3747,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3466,7 +3781,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3579,7 +3897,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3621,7 +3942,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3635,7 +3959,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3649,7 +3976,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3663,6 +3993,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_if.json index 5ad0bb26bcb..7121e23af7a 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_if.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_if.json @@ -63,7 +63,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -91,7 +94,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -105,7 +111,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -119,7 +128,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -133,7 +145,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -147,7 +162,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -161,7 +179,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -175,7 +196,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -240,7 +264,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -322,7 +349,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -336,7 +366,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -350,7 +383,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -429,7 +465,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -443,7 +482,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -457,7 +499,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -471,7 +516,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -499,7 +547,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -513,7 +564,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -527,7 +581,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -541,7 +598,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -681,7 +741,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -695,7 +758,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -709,7 +775,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -891,7 +960,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -905,7 +977,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -919,7 +994,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1059,7 +1137,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1073,7 +1154,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1149,7 +1233,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1163,7 +1250,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1177,7 +1267,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1191,7 +1284,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1205,7 +1301,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1219,7 +1318,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1233,7 +1335,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1247,7 +1352,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1275,7 +1383,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1323,7 +1434,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1337,7 +1451,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1385,7 +1502,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1399,7 +1519,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1478,7 +1601,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1492,7 +1618,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1506,7 +1635,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1520,7 +1652,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1534,7 +1669,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1548,7 +1686,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1562,7 +1703,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1576,7 +1720,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1590,7 +1737,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1717,7 +1867,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1731,7 +1884,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1745,7 +1901,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1759,7 +1918,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1852,7 +2014,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1866,7 +2031,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1880,7 +2048,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1894,7 +2065,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1908,7 +2082,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1936,7 +2113,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2160,7 +2340,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2286,7 +2469,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2300,7 +2486,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2314,7 +2503,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2328,7 +2520,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2342,7 +2537,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2356,7 +2554,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2370,7 +2571,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2384,7 +2588,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2460,7 +2667,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2474,7 +2684,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2488,7 +2701,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2688,7 +2904,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2702,7 +2921,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2716,7 +2938,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2730,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2744,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2758,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2772,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2786,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2800,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2814,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2828,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2842,7 +3091,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2856,7 +3108,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2870,7 +3125,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2884,7 +3142,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2898,7 +3159,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2912,7 +3176,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2926,7 +3193,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2954,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2968,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2982,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2996,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3010,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3024,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3038,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3052,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3066,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3136,7 +3433,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3164,7 +3464,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3212,7 +3515,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3226,7 +3532,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3274,7 +3583,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3435,7 +3747,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3466,7 +3781,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3579,7 +3897,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3621,7 +3942,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3635,7 +3959,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3649,7 +3976,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3663,6 +3993,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes.json index f10edf02bad..1d2d71c60be 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes.json @@ -549,7 +549,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -577,7 +580,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -591,7 +597,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -605,7 +614,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -619,7 +631,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -633,7 +648,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -647,7 +665,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -661,7 +682,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -726,7 +750,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -808,7 +835,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -822,7 +852,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -836,7 +869,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -915,7 +951,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -929,7 +968,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -943,7 +985,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -957,7 +1002,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -985,7 +1033,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -999,7 +1050,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -1013,7 +1067,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -1027,7 +1084,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -1167,7 +1227,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -1181,7 +1244,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -1195,7 +1261,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -1377,7 +1446,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1391,7 +1463,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1405,7 +1480,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1545,7 +1623,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1559,7 +1640,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1635,7 +1719,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1649,7 +1736,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1663,7 +1753,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1677,7 +1770,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1691,7 +1787,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1705,7 +1804,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1719,7 +1821,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1733,7 +1838,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1761,7 +1869,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1809,7 +1920,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1823,7 +1937,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1871,7 +1988,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1885,7 +2005,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1964,7 +2087,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1978,7 +2104,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1992,7 +2121,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -2006,7 +2138,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -2020,7 +2155,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -2034,7 +2172,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -2048,7 +2189,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -2062,7 +2206,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -2076,7 +2223,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -2203,7 +2353,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -2217,7 +2370,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -2231,7 +2387,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -2245,7 +2404,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -2338,7 +2500,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -2352,7 +2517,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -2366,7 +2534,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2380,7 +2551,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2394,7 +2568,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2422,7 +2599,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions_for", @@ -2632,7 +2812,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2772,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2786,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2800,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2814,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2828,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2842,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2856,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2870,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2946,7 +3153,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2960,7 +3170,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2974,7 +3187,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -3174,7 +3390,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -3188,7 +3407,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -3202,7 +3424,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -3216,7 +3441,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -3230,7 +3458,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -3244,7 +3475,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -3258,7 +3492,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -3272,7 +3509,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -3286,7 +3526,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -3300,7 +3543,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -3314,7 +3560,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -3328,7 +3577,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -3342,7 +3594,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -3356,7 +3611,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -3370,7 +3628,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3384,7 +3645,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3398,7 +3662,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3412,7 +3679,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3440,7 +3710,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3454,7 +3727,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3468,7 +3744,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3482,7 +3761,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3496,7 +3778,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3510,7 +3795,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3524,7 +3812,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3538,7 +3829,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3552,7 +3846,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3622,7 +3919,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3650,7 +3950,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3698,7 +4001,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3712,7 +4018,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3760,7 +4069,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3921,7 +4233,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3952,7 +4267,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -4065,7 +4383,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -4107,7 +4428,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -4121,7 +4445,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -4135,7 +4462,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -4149,6 +4479,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for.json index 1a1e2e93a2b..e1ef0ea5c6d 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for.json @@ -549,7 +549,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -577,7 +580,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -591,7 +597,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -605,7 +614,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -619,7 +631,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -633,7 +648,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -647,7 +665,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -661,7 +682,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -726,7 +750,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -808,7 +835,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -822,7 +852,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -836,7 +869,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -915,7 +951,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -929,7 +968,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -943,7 +985,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -957,7 +1002,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -985,7 +1033,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -999,7 +1050,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -1013,7 +1067,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -1027,7 +1084,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -1167,7 +1227,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -1181,7 +1244,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -1195,7 +1261,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -1377,7 +1446,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1391,7 +1463,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1405,7 +1480,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1545,7 +1623,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1559,7 +1640,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1635,7 +1719,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1649,7 +1736,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1663,7 +1753,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1677,7 +1770,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1691,7 +1787,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1705,7 +1804,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1719,7 +1821,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1733,7 +1838,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1761,7 +1869,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1809,7 +1920,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1823,7 +1937,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1871,7 +1988,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1885,7 +2005,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1964,7 +2087,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1978,7 +2104,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1992,7 +2121,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -2006,7 +2138,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -2020,7 +2155,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -2034,7 +2172,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -2048,7 +2189,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -2062,7 +2206,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -2076,7 +2223,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -2203,7 +2353,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -2217,7 +2370,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -2231,7 +2387,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -2245,7 +2404,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -2338,7 +2500,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -2352,7 +2517,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -2366,7 +2534,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2380,7 +2551,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2394,7 +2568,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2422,7 +2599,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2632,7 +2812,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2772,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2786,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2800,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2814,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2828,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2842,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2856,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2870,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2946,7 +3153,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2960,7 +3170,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2974,7 +3187,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -3174,7 +3390,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -3188,7 +3407,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -3202,7 +3424,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -3216,7 +3441,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -3230,7 +3458,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -3244,7 +3475,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -3258,7 +3492,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -3272,7 +3509,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -3286,7 +3526,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -3300,7 +3543,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -3314,7 +3560,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -3328,7 +3577,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -3342,7 +3594,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -3356,7 +3611,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -3370,7 +3628,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3384,7 +3645,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3398,7 +3662,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3412,7 +3679,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3440,7 +3710,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3454,7 +3727,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3468,7 +3744,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3482,7 +3761,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3496,7 +3778,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3510,7 +3795,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3524,7 +3812,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3538,7 +3829,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3552,7 +3846,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3622,7 +3919,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3650,7 +3950,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3698,7 +4001,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3712,7 +4018,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3760,7 +4069,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3921,7 +4233,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3952,7 +4267,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -4065,7 +4383,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -4107,7 +4428,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -4121,7 +4445,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -4135,7 +4462,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -4149,6 +4479,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_if.json index 65e11882830..f8ac10326c3 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_if.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_if.json @@ -549,7 +549,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -577,7 +580,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -591,7 +597,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -605,7 +614,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -619,7 +631,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -633,7 +648,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -647,7 +665,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -661,7 +682,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -726,7 +750,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -808,7 +835,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -822,7 +852,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -836,7 +869,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -915,7 +951,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -929,7 +968,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -943,7 +985,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -957,7 +1002,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -985,7 +1033,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -999,7 +1050,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -1013,7 +1067,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -1027,7 +1084,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -1167,7 +1227,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -1181,7 +1244,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -1195,7 +1261,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -1377,7 +1446,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1391,7 +1463,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1405,7 +1480,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1545,7 +1623,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1559,7 +1640,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1635,7 +1719,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1649,7 +1736,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1663,7 +1753,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1677,7 +1770,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1691,7 +1787,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1705,7 +1804,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1719,7 +1821,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1733,7 +1838,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1761,7 +1869,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1809,7 +1920,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1823,7 +1937,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1871,7 +1988,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1885,7 +2005,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1964,7 +2087,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1978,7 +2104,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1992,7 +2121,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -2006,7 +2138,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -2020,7 +2155,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -2034,7 +2172,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -2048,7 +2189,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -2062,7 +2206,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -2076,7 +2223,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -2203,7 +2353,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -2217,7 +2370,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -2231,7 +2387,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -2245,7 +2404,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -2338,7 +2500,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -2352,7 +2517,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -2366,7 +2534,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2380,7 +2551,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2394,7 +2568,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2422,7 +2599,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2632,7 +2812,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2772,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2786,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2800,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2814,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2828,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2842,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2856,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2870,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2946,7 +3153,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2960,7 +3170,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2974,7 +3187,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -3174,7 +3390,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -3188,7 +3407,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -3202,7 +3424,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -3216,7 +3441,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -3230,7 +3458,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -3244,7 +3475,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -3258,7 +3492,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -3272,7 +3509,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -3286,7 +3526,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -3300,7 +3543,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -3314,7 +3560,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -3328,7 +3577,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -3342,7 +3594,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -3356,7 +3611,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -3370,7 +3628,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3384,7 +3645,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3398,7 +3662,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3412,7 +3679,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3440,7 +3710,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3454,7 +3727,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3468,7 +3744,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3482,7 +3761,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3496,7 +3778,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3510,7 +3795,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3524,7 +3812,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3538,7 +3829,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3552,7 +3846,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3622,7 +3919,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3650,7 +3950,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3698,7 +4001,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3712,7 +4018,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3760,7 +4069,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3921,7 +4233,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3952,7 +4267,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -4065,7 +4383,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -4107,7 +4428,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -4121,7 +4445,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -4135,7 +4462,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -4149,6 +4479,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols.json index 4519cc708b4..e5e3196da9c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols.json @@ -73,7 +73,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -101,7 +104,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -115,7 +121,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -129,7 +138,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -143,7 +155,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -157,7 +172,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -171,7 +189,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -185,7 +206,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -250,7 +274,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -332,7 +359,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -346,7 +376,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -360,7 +393,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -439,7 +475,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -453,7 +492,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -467,7 +509,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -481,7 +526,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -509,7 +557,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -523,7 +574,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -537,7 +591,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -551,7 +608,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -691,7 +751,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -705,7 +768,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -719,7 +785,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -901,7 +970,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -915,7 +987,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1130,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1147,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1226,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1243,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1260,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1277,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1294,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1311,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1328,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1345,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1376,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1427,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1444,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1495,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1512,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1594,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1611,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1628,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1645,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1662,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1679,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1696,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1713,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1730,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1860,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1877,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1894,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1911,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2007,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2024,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2041,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2058,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2075,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2106,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2333,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2476,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2493,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2510,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2527,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2544,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2561,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2595,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2674,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2691,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2498,7 +2708,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2698,7 +2911,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2964,7 +3231,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3146,7 +3440,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3174,7 +3471,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3222,7 +3522,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3236,7 +3539,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3284,7 +3590,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3445,7 +3754,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3476,7 +3788,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3589,7 +3904,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3631,7 +3949,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3645,7 +3966,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3659,7 +3983,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3673,6 +4000,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for.json index ce85a44db00..04a69ec5eef 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for.json @@ -73,7 +73,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -101,7 +104,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -115,7 +121,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -129,7 +138,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -143,7 +155,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -157,7 +172,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -171,7 +189,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -185,7 +206,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -250,7 +274,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -332,7 +359,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -346,7 +376,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -360,7 +393,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -439,7 +475,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -453,7 +492,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -467,7 +509,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -481,7 +526,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -509,7 +557,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -523,7 +574,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -537,7 +591,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -551,7 +608,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -691,7 +751,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -705,7 +768,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -719,7 +785,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -901,7 +970,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -915,7 +987,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -929,7 +1004,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1069,7 +1147,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1226,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1243,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1260,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1277,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1294,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1311,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1328,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1345,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1376,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1427,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1444,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1495,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1512,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1594,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1611,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1628,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1645,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1662,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1679,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1696,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1713,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1730,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1860,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1877,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1894,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1911,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2007,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2024,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2041,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2058,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2075,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2106,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2333,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2476,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2493,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2510,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2527,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2544,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2561,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2595,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2674,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2691,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2498,7 +2708,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2698,7 +2911,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2964,7 +3231,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3146,7 +3440,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3174,7 +3471,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3222,7 +3522,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3236,7 +3539,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3284,7 +3590,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3459,7 +3768,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3490,7 +3802,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3603,7 +3918,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3645,7 +3963,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3659,7 +3980,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3673,7 +3997,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3687,6 +4014,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_if.json index b42e3c644fb..da8915ffa72 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_if.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_if.json @@ -73,7 +73,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -101,7 +104,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -115,7 +121,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -129,7 +138,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -143,7 +155,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -157,7 +172,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -171,7 +189,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -185,7 +206,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -250,7 +274,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -332,7 +359,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -346,7 +376,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -360,7 +393,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -439,7 +475,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -453,7 +492,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -467,7 +509,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -481,7 +526,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -509,7 +557,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -523,7 +574,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -537,7 +591,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -551,7 +608,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -691,7 +751,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -705,7 +768,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -719,7 +785,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -901,7 +970,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -915,7 +987,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -929,7 +1004,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1069,7 +1147,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1226,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1243,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1260,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1277,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1294,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1311,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1328,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1345,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1376,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1427,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1444,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1495,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1512,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1594,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1611,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1628,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1645,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1662,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1679,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1696,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1713,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1730,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1860,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1877,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1894,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1911,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2007,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2024,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2041,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2058,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2075,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2106,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2333,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2476,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2493,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2510,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2527,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2544,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2561,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2595,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2674,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2691,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2498,7 +2708,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2698,7 +2911,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2964,7 +3231,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3146,7 +3440,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3174,7 +3471,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3222,7 +3522,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3236,7 +3539,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3284,7 +3590,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3445,7 +3754,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3476,7 +3788,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3589,7 +3904,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3631,7 +3949,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3645,7 +3966,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3659,7 +3983,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3673,6 +4000,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptTopLevel.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptTopLevel.json index 3339a0f7e8c..62762e0d44f 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptTopLevel.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptTopLevel.json @@ -83,6 +83,56 @@ ":" ] }, + { + "label": "resource", + "kind": "keyword", + "detail": "Resource keyword", + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resource" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource with defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n properties: {\n \n }\n}\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n properties: {\n $0\n }\n}" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource without defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n \n}\n\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n $0\n}\n" + } + }, { "label": "tags", "kind": "property", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/discriminatorProperty.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/discriminatorProperty.json index 6d72e2127c4..7867694f267 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/discriminatorProperty.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/discriminatorProperty.json @@ -19,5 +19,55 @@ "commitCharacters": [ ":" ] + }, + { + "label": "resource", + "kind": "keyword", + "detail": "Resource keyword", + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resource" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource with defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n properties: {\n \n }\n}\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n properties: {\n $0\n }\n}" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource without defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n \n}\n\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n $0\n}\n" + } } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols.json index 0c62a940628..af9a99b6a73 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols.json @@ -63,7 +63,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -91,7 +94,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -105,7 +111,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -119,7 +128,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -133,7 +145,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -147,7 +162,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -161,7 +179,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -175,7 +196,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -240,7 +264,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -322,7 +349,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -336,7 +366,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -350,7 +383,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -429,7 +465,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -443,7 +482,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -457,7 +499,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -471,7 +516,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -499,7 +547,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -513,7 +564,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -527,7 +581,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -541,7 +598,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -681,7 +741,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -695,7 +758,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -709,7 +775,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -891,7 +960,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -905,7 +977,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -919,7 +994,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1045,7 +1123,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1059,7 +1140,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1135,7 +1219,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1149,7 +1236,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1163,7 +1253,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1177,7 +1270,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1191,7 +1287,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1205,7 +1304,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1219,7 +1321,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1233,7 +1338,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1261,7 +1369,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1309,7 +1420,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1323,7 +1437,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1371,7 +1488,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1385,7 +1505,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1464,7 +1587,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1478,7 +1604,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1492,7 +1621,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1506,7 +1638,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1520,7 +1655,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1534,7 +1672,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1548,7 +1689,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1562,7 +1706,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1576,7 +1723,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1703,7 +1853,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1717,7 +1870,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1731,7 +1887,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1745,7 +1904,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1838,7 +2000,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1852,7 +2017,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1866,7 +2034,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1880,7 +2051,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1894,7 +2068,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1922,7 +2099,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2146,7 +2326,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2286,7 +2469,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2300,7 +2486,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2314,7 +2503,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2328,7 +2520,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2342,7 +2537,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2356,7 +2554,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2370,7 +2571,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2384,7 +2588,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2460,7 +2667,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2474,7 +2684,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2488,7 +2701,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2688,7 +2904,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2702,7 +2921,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2716,7 +2938,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2730,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2744,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2758,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2772,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2786,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2800,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2814,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2828,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2842,7 +3091,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2856,7 +3108,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2870,7 +3125,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2884,7 +3142,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2898,7 +3159,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2912,7 +3176,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2926,7 +3193,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2954,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2968,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2982,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2996,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3010,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3024,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3038,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3052,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3066,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3136,7 +3433,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3164,7 +3464,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3212,7 +3515,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3226,7 +3532,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3274,7 +3583,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3435,7 +3747,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3466,7 +3781,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3579,7 +3897,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3621,7 +3942,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3635,7 +3959,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3649,7 +3976,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3663,6 +3993,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for.json index 244b5a01fac..2e28952ea08 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for.json @@ -63,7 +63,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -91,7 +94,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -105,7 +111,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -119,7 +128,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -133,7 +145,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -147,7 +162,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -161,7 +179,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -175,7 +196,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -240,7 +264,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -322,7 +349,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -336,7 +366,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -350,7 +383,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -429,7 +465,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -443,7 +482,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -457,7 +499,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -471,7 +516,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -499,7 +547,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -513,7 +564,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -527,7 +581,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -541,7 +598,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -681,7 +741,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -695,7 +758,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -709,7 +775,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -891,7 +960,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -905,7 +977,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -919,7 +994,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1045,7 +1123,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1059,7 +1140,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1135,7 +1219,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1149,7 +1236,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1163,7 +1253,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1177,7 +1270,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1191,7 +1287,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1205,7 +1304,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1219,7 +1321,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1233,7 +1338,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1261,7 +1369,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1309,7 +1420,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1323,7 +1437,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1371,7 +1488,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1385,7 +1505,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1464,7 +1587,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1478,7 +1604,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1492,7 +1621,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1506,7 +1638,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1520,7 +1655,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1534,7 +1672,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1548,7 +1689,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1562,7 +1706,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1576,7 +1723,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1703,7 +1853,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1717,7 +1870,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1731,7 +1887,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1745,7 +1904,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1838,7 +2000,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1852,7 +2017,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1866,7 +2034,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1880,7 +2051,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1894,7 +2068,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1922,7 +2099,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2146,7 +2326,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2286,7 +2469,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2300,7 +2486,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2314,7 +2503,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2328,7 +2520,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2342,7 +2537,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2356,7 +2554,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2370,7 +2571,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2384,7 +2588,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2460,7 +2667,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2474,7 +2684,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2488,7 +2701,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2688,7 +2904,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2702,7 +2921,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2716,7 +2938,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2730,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2744,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2758,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2772,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2786,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2800,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2814,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2828,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2842,7 +3091,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2856,7 +3108,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2870,7 +3125,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2884,7 +3142,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2898,7 +3159,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2912,7 +3176,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2926,7 +3193,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2954,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2968,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2982,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2996,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3010,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3024,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3038,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3052,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3066,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3136,7 +3433,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3164,7 +3464,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3212,7 +3515,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3226,7 +3532,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3274,7 +3583,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3435,7 +3747,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3466,7 +3781,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3579,7 +3897,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3621,7 +3942,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3635,7 +3959,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3649,7 +3976,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3663,6 +3993,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_if.json index 33145f7f3bd..78241acf0d2 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_if.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_if.json @@ -63,7 +63,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -91,7 +94,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -105,7 +111,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -119,7 +128,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -133,7 +145,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -147,7 +162,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -161,7 +179,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -175,7 +196,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -240,7 +264,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -322,7 +349,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -336,7 +366,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -350,7 +383,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -429,7 +465,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -443,7 +482,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -457,7 +499,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -471,7 +516,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -499,7 +547,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -513,7 +564,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -527,7 +581,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -541,7 +598,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -681,7 +741,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -695,7 +758,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -709,7 +775,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -891,7 +960,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -905,7 +977,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -919,7 +994,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1045,7 +1123,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1059,7 +1140,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1135,7 +1219,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1149,7 +1236,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1163,7 +1253,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1177,7 +1270,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1191,7 +1287,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1205,7 +1304,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1219,7 +1321,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1233,7 +1338,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1261,7 +1369,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1309,7 +1420,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1323,7 +1437,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1371,7 +1488,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1385,7 +1505,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1464,7 +1587,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1478,7 +1604,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1492,7 +1621,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1506,7 +1638,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1520,7 +1655,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1534,7 +1672,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1548,7 +1689,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1562,7 +1706,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1576,7 +1723,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1703,7 +1853,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1717,7 +1870,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1731,7 +1887,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1745,7 +1904,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1838,7 +2000,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1852,7 +2017,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1866,7 +2034,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1880,7 +2051,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1894,7 +2068,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1922,7 +2099,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2146,7 +2326,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2286,7 +2469,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2300,7 +2486,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2314,7 +2503,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2328,7 +2520,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2342,7 +2537,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2356,7 +2554,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2370,7 +2571,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2384,7 +2588,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2460,7 +2667,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2474,7 +2684,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2488,7 +2701,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2688,7 +2904,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2702,7 +2921,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2716,7 +2938,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2730,7 +2955,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2744,7 +2972,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2758,7 +2989,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2772,7 +3006,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2786,7 +3023,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2800,7 +3040,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2814,7 +3057,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2828,7 +3074,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2842,7 +3091,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2856,7 +3108,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2870,7 +3125,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2884,7 +3142,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2898,7 +3159,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2912,7 +3176,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2926,7 +3193,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2954,7 +3224,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2968,7 +3241,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2982,7 +3258,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2996,7 +3275,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3010,7 +3292,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3024,7 +3309,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3038,7 +3326,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3052,7 +3343,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3066,7 +3360,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3136,7 +3433,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3164,7 +3464,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3212,7 +3515,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3226,7 +3532,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3274,7 +3583,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3435,7 +3747,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3466,7 +3781,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3579,7 +3897,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3621,7 +3942,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3635,7 +3959,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3649,7 +3976,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3663,6 +3993,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusSymbols.json index b7d6fd073f5..a578cae3c2d 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusSymbols.json @@ -45,7 +45,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -73,7 +76,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -87,7 +93,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -101,7 +110,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -115,7 +127,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -129,7 +144,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -143,7 +161,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -157,7 +178,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -222,7 +246,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -304,7 +331,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -318,7 +348,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -332,7 +365,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -411,7 +447,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -425,7 +464,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -439,7 +481,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -453,7 +498,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -481,7 +529,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -495,7 +546,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -509,7 +563,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -523,7 +580,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -663,7 +723,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -677,7 +740,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -691,7 +757,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -873,7 +942,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -887,7 +959,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -901,7 +976,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1041,7 +1119,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1055,7 +1136,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1131,7 +1215,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1145,7 +1232,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1159,7 +1249,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1173,7 +1266,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1187,7 +1283,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1201,7 +1300,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1215,7 +1317,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1229,7 +1334,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1257,7 +1365,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1305,7 +1416,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1319,7 +1433,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1367,7 +1484,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1446,7 +1566,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1460,7 +1583,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1474,7 +1600,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1488,7 +1617,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1502,7 +1634,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1516,7 +1651,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1530,7 +1668,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1544,7 +1685,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1558,7 +1702,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1685,7 +1832,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1699,7 +1849,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1713,7 +1866,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1727,7 +1883,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1820,7 +1979,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1834,7 +1996,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1848,7 +2013,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1862,7 +2030,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1876,7 +2047,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1904,7 +2078,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2128,7 +2305,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2268,7 +2448,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2282,7 +2465,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2296,7 +2482,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2310,7 +2499,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2324,7 +2516,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2338,7 +2533,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2352,7 +2550,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2366,7 +2567,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2442,7 +2646,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2456,7 +2663,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2470,7 +2680,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2670,7 +2883,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2684,7 +2900,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2698,7 +2917,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2712,7 +2934,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2726,7 +2951,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2740,7 +2968,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2754,7 +2985,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2768,7 +3002,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2782,7 +3019,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2796,7 +3036,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2810,7 +3053,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2824,7 +3070,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2838,7 +3087,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2852,7 +3104,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2866,7 +3121,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2880,7 +3138,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2894,7 +3155,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2908,7 +3172,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2936,7 +3203,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2950,7 +3220,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2964,7 +3237,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2978,7 +3254,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -2992,7 +3271,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3006,7 +3288,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3020,7 +3305,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3034,7 +3322,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3048,7 +3339,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3118,7 +3412,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3146,7 +3443,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3194,7 +3494,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3208,7 +3511,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3256,7 +3562,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3417,7 +3726,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3448,7 +3760,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3561,7 +3876,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3603,7 +3921,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3617,7 +3938,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3631,7 +3955,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3645,7 +3972,10 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "{}", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/storageSkuNamePlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/storageSkuNamePlusSymbols.json index 74d69e97035..9cad6d75798 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/storageSkuNamePlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/storageSkuNamePlusSymbols.json @@ -171,7 +171,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -199,7 +202,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -213,7 +219,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -227,7 +236,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -241,7 +253,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -255,7 +270,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -269,7 +287,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -283,7 +304,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -348,7 +372,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -430,7 +457,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -444,7 +474,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -458,7 +491,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -537,7 +573,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -551,7 +590,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -565,7 +607,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -579,7 +624,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -607,7 +655,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -621,7 +672,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -635,7 +689,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -649,7 +706,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -789,7 +849,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -803,7 +866,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -817,7 +883,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -999,7 +1068,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -1013,7 +1085,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -1027,7 +1102,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1167,7 +1245,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1181,7 +1262,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1257,7 +1341,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1271,7 +1358,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1285,7 +1375,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1299,7 +1392,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1313,7 +1409,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1327,7 +1426,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1341,7 +1443,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1355,7 +1460,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1383,7 +1491,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1431,7 +1542,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1445,7 +1559,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1493,7 +1610,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1507,7 +1627,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1586,7 +1709,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1600,7 +1726,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1614,7 +1743,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1628,7 +1760,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1642,7 +1777,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1656,7 +1794,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1670,7 +1811,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1684,7 +1828,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1698,7 +1845,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1825,7 +1975,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1839,7 +1992,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1853,7 +2009,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1867,7 +2026,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1960,7 +2122,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1974,7 +2139,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1988,7 +2156,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -2002,7 +2173,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -2016,7 +2190,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -2044,7 +2221,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2268,7 +2448,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2408,7 +2591,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2422,7 +2608,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2436,7 +2625,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2450,7 +2642,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2464,7 +2659,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2478,7 +2676,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2492,7 +2693,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2506,7 +2710,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2582,7 +2789,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2596,7 +2806,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2796,7 +3009,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2810,7 +3026,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2824,7 +3043,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2838,7 +3060,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2852,7 +3077,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2866,7 +3094,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2880,7 +3111,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2894,7 +3128,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2908,7 +3145,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2922,7 +3162,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2936,7 +3179,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2950,7 +3196,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2964,7 +3213,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2978,7 +3230,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2992,7 +3247,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -3006,7 +3264,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -3020,7 +3281,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -3034,7 +3298,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -3062,7 +3329,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3076,7 +3346,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3090,7 +3363,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3104,7 +3380,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3118,7 +3397,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3132,7 +3414,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3146,7 +3431,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3160,7 +3448,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3174,7 +3465,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3244,7 +3538,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3272,7 +3569,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3320,7 +3620,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3334,7 +3637,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3382,7 +3688,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3543,7 +3852,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3574,7 +3886,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3687,7 +4002,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3729,7 +4047,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3743,7 +4064,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3757,7 +4081,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3771,6 +4098,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbols.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbols.json index c05b2a5023e..7de26072e30 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbols.json @@ -45,7 +45,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -73,7 +76,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -87,7 +93,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -101,7 +110,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -115,7 +127,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -129,7 +144,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -143,7 +161,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -157,7 +178,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -222,7 +246,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -304,7 +331,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -318,7 +348,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -332,7 +365,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -411,7 +447,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -425,7 +464,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -439,7 +481,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -453,7 +498,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -481,7 +529,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -495,7 +546,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -509,7 +563,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -523,7 +580,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -663,7 +723,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -677,7 +740,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -691,7 +757,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -873,7 +942,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -887,7 +959,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -901,7 +976,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1041,7 +1119,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1055,7 +1136,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1131,7 +1215,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1145,7 +1232,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1159,7 +1249,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1173,7 +1266,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1187,7 +1283,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1201,7 +1300,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1215,7 +1317,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1229,7 +1334,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1257,7 +1365,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1305,7 +1416,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1319,7 +1433,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1367,7 +1484,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1381,7 +1501,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1460,7 +1583,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1474,7 +1600,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1488,7 +1617,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1502,7 +1634,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1516,7 +1651,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1530,7 +1668,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1544,7 +1685,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1558,7 +1702,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1572,7 +1719,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1699,7 +1849,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1713,7 +1866,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1727,7 +1883,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1741,7 +1900,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1834,7 +1996,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1848,7 +2013,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1862,7 +2030,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1876,7 +2047,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1890,7 +2064,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1918,7 +2095,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2142,7 +2322,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2282,7 +2465,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2296,7 +2482,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2310,7 +2499,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2324,7 +2516,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2338,7 +2533,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2352,7 +2550,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2366,7 +2567,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2380,7 +2584,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2456,7 +2663,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2470,7 +2680,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2484,7 +2697,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2684,7 +2900,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2698,7 +2917,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2712,7 +2934,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2726,7 +2951,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2740,7 +2968,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2754,7 +2985,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2768,7 +3002,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2782,7 +3019,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2796,7 +3036,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2810,7 +3053,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2824,7 +3070,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2838,7 +3087,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2852,7 +3104,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2866,7 +3121,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2880,7 +3138,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2894,7 +3155,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2908,7 +3172,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2922,7 +3189,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2950,7 +3220,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2964,7 +3237,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2978,7 +3254,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2992,7 +3271,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3006,7 +3288,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3020,7 +3305,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3034,7 +3322,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3048,7 +3339,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3062,7 +3356,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3132,7 +3429,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3160,7 +3460,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3208,7 +3511,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3222,7 +3528,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3270,7 +3579,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3431,7 +3743,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3462,7 +3777,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3575,7 +3893,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3617,7 +3938,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3631,7 +3955,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3645,7 +3972,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3659,6 +3989,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount.json index 43af0314e08..74ac7a1b12c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1498,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1515,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1597,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1614,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1631,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1648,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1665,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1682,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1699,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1716,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1733,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1863,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1880,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1897,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1914,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2010,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2027,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2044,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2061,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2078,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2109,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2336,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2479,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2496,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2513,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2530,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2547,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2564,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2581,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2598,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2677,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2694,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2684,7 +2897,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2698,7 +2914,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2712,7 +2931,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2726,7 +2948,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2740,7 +2965,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2754,7 +2982,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2768,7 +2999,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2782,7 +3016,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2796,7 +3033,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2810,7 +3050,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2824,7 +3067,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2838,7 +3084,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2852,7 +3101,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2866,7 +3118,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2880,7 +3135,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2894,7 +3152,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2908,7 +3169,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2922,7 +3186,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2950,7 +3217,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2964,7 +3234,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2978,7 +3251,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2992,7 +3268,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3006,7 +3285,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3020,7 +3302,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3034,7 +3319,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3048,7 +3336,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3062,7 +3353,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3132,7 +3426,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3160,7 +3457,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3208,7 +3508,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3222,7 +3525,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3270,7 +3576,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3431,7 +3740,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3462,7 +3774,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3575,7 +3890,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3617,7 +3935,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3631,7 +3952,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3645,7 +3969,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3659,6 +3986,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount2.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount2.json index 427049f93ec..ba384eaad8f 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount2.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount2.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1498,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1515,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1597,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1614,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1631,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1648,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1665,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1682,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1699,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1716,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1733,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1863,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1880,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1897,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1914,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2010,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2027,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2044,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2061,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2078,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2109,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2336,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2479,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2496,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2513,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2530,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2547,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2564,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2581,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2598,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2677,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2484,7 +2694,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2684,7 +2897,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2698,7 +2914,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2712,7 +2931,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2726,7 +2948,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2740,7 +2965,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2754,7 +2982,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2768,7 +2999,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2782,7 +3016,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2796,7 +3033,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2810,7 +3050,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2824,7 +3067,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2838,7 +3084,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2852,7 +3101,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2866,7 +3118,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2880,7 +3135,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2894,7 +3152,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2908,7 +3169,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2922,7 +3186,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2950,7 +3217,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2964,7 +3234,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2978,7 +3251,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -2992,7 +3268,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3006,7 +3285,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3020,7 +3302,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3034,7 +3319,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3048,7 +3336,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3062,7 +3353,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3132,7 +3426,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3160,7 +3457,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3208,7 +3508,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3222,7 +3525,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3270,7 +3576,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3431,7 +3740,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3462,7 +3774,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3575,7 +3890,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3617,7 +3935,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3631,7 +3952,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3645,7 +3969,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3659,6 +3986,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleState.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleState.json index 00eaf2d4566..fa7a9fd1c17 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleState.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleState.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1498,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1515,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1597,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1614,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1631,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1648,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1665,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1682,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1699,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1716,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1733,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1863,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1880,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1897,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1914,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2010,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2027,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2044,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2061,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2078,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2109,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2336,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2479,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2496,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2513,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2530,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2547,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2564,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2581,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2598,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2677,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2694,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2698,7 +2911,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2964,7 +3231,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3146,7 +3440,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3174,7 +3471,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3222,7 +3522,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3236,7 +3539,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3298,7 +3604,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3459,7 +3768,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3490,7 +3802,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3603,7 +3918,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3645,7 +3963,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3659,7 +3980,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3673,7 +3997,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3687,6 +4014,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleStateSomething.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleStateSomething.json index 610efb2004f..19899ec4c00 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleStateSomething.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleStateSomething.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1498,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1515,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1597,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1614,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1631,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1648,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1665,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1682,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1699,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1716,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1733,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1863,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1880,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1897,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1914,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2010,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2027,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2044,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2061,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2078,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2109,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2336,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2479,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2496,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2513,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2530,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2547,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2564,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2581,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2598,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2677,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2694,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2698,7 +2911,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2964,7 +3231,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3146,7 +3440,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3174,7 +3471,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3236,7 +3536,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3250,7 +3553,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3312,7 +3618,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3473,7 +3782,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3504,7 +3816,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3617,7 +3932,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3659,7 +3977,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3673,7 +3994,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3687,7 +4011,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3701,6 +4028,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayAndFor.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayAndFor.json index 4f727620c01..0934d43d60c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayAndFor.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayAndFor.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "for", @@ -1399,7 +1516,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1413,7 +1533,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1492,7 +1615,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1506,7 +1632,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1520,7 +1649,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1534,7 +1666,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1548,7 +1683,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1562,7 +1700,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1576,7 +1717,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1590,7 +1734,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1604,7 +1751,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "item", @@ -1745,7 +1895,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1759,7 +1912,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1773,7 +1929,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1787,7 +1946,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1880,7 +2042,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1894,7 +2059,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1908,7 +2076,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1922,7 +2093,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1936,7 +2110,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1964,7 +2141,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2188,7 +2368,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2328,7 +2511,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2342,7 +2528,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2356,7 +2545,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2370,7 +2562,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2384,7 +2579,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2398,7 +2596,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2412,7 +2613,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2426,7 +2630,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2502,7 +2709,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2516,7 +2726,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2530,7 +2743,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2730,7 +2946,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2744,7 +2963,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2758,7 +2980,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2772,7 +2997,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2786,7 +3014,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2800,7 +3031,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2814,7 +3048,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2828,7 +3065,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2842,7 +3082,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2856,7 +3099,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2870,7 +3116,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2884,7 +3133,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2898,7 +3150,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2912,7 +3167,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2926,7 +3184,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2940,7 +3201,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2954,7 +3218,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2968,7 +3235,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2996,7 +3266,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -3010,7 +3283,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3024,7 +3300,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3038,7 +3317,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3052,7 +3334,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3066,7 +3351,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3080,7 +3368,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3094,7 +3385,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3108,7 +3402,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3178,7 +3475,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3206,7 +3506,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3254,7 +3557,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3268,7 +3574,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3316,7 +3625,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3477,7 +3789,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3508,7 +3823,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3621,7 +3939,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3663,7 +3984,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3677,7 +4001,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3691,7 +4018,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3705,6 +4035,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayWithoutFor.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayWithoutFor.json index 789a5c9ce66..0f8d5d55609 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayWithoutFor.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayWithoutFor.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1498,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1515,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1597,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1614,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1631,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1648,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1665,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1682,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1699,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1716,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1733,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "item", @@ -1727,7 +1877,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1741,7 +1894,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1755,7 +1911,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1769,7 +1928,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1862,7 +2024,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1876,7 +2041,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1890,7 +2058,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1904,7 +2075,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1918,7 +2092,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1946,7 +2123,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2170,7 +2350,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2310,7 +2493,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2324,7 +2510,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2338,7 +2527,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2352,7 +2544,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2366,7 +2561,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2380,7 +2578,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2394,7 +2595,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2408,7 +2612,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2484,7 +2691,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2498,7 +2708,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest2", @@ -2512,7 +2725,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2950,7 +3217,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3090,7 +3384,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3160,7 +3457,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3188,7 +3488,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3236,7 +3539,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3250,7 +3556,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3298,7 +3607,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3459,7 +3771,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3490,7 +3805,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3603,7 +3921,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3645,7 +3966,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3659,7 +3983,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3673,6 +4000,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusRule.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusRule.json index bfc007b1cd2..7381809a995 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusRule.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusRule.json @@ -59,7 +59,10 @@ "textEdit": { "range": {}, "newText": "arrayExpressionErrors" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "az", @@ -87,7 +90,10 @@ "textEdit": { "range": {}, "newText": "badDepends" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends2", @@ -101,7 +107,10 @@ "textEdit": { "range": {}, "newText": "badDepends2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends3", @@ -115,7 +124,10 @@ "textEdit": { "range": {}, "newText": "badDepends3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends4", @@ -129,7 +141,10 @@ "textEdit": { "range": {}, "newText": "badDepends4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badDepends5", @@ -143,7 +158,10 @@ "textEdit": { "range": {}, "newText": "badDepends5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "badInterp", @@ -157,7 +175,10 @@ "textEdit": { "range": {}, "newText": "badInterp" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bar", @@ -171,7 +192,10 @@ "textEdit": { "range": {}, "newText": "bar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "base64", @@ -236,7 +260,10 @@ "textEdit": { "range": {}, "newText": "baz" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "bool", @@ -318,7 +345,10 @@ "textEdit": { "range": {}, "newText": "cyclicExistingRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "cyclicRes", @@ -332,7 +362,10 @@ "textEdit": { "range": {}, "newText": "cyclicRes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dashesInPropertyNames", @@ -346,7 +379,10 @@ "textEdit": { "range": {}, "newText": "dashesInPropertyNames" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "dataUri", @@ -425,7 +461,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleConditionalResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBody", @@ -439,7 +478,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", @@ -453,7 +495,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaSingleResourceBody", @@ -467,7 +512,10 @@ "textEdit": { "range": {}, "newText": "directRefViaSingleResourceBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "directRefViaVar", @@ -495,7 +543,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_for", @@ -509,7 +560,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyMissing_if", @@ -523,7 +577,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne", @@ -537,7 +594,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOneCompletions", @@ -677,7 +737,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetOne_if", @@ -691,7 +754,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetOne_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo", @@ -705,7 +771,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwoCompletions", @@ -887,7 +956,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeySetTwo_if", @@ -901,7 +973,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeySetTwo_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing", @@ -915,7 +990,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissingCompletions", @@ -1055,7 +1133,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "discriminatorKeyValueMissing_if", @@ -1069,7 +1150,10 @@ "textEdit": { "range": {}, "newText": "discriminatorKeyValueMissing_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "empty", @@ -1145,7 +1229,10 @@ "textEdit": { "range": {}, "newText": "expectedArrayExpression" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedColon", @@ -1159,7 +1246,10 @@ "textEdit": { "range": {}, "newText": "expectedColon" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword", @@ -1173,7 +1263,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedForKeyword2", @@ -1187,7 +1280,10 @@ "textEdit": { "range": {}, "newText": "expectedForKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword", @@ -1201,7 +1297,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedInKeyword2", @@ -1215,7 +1314,10 @@ "textEdit": { "range": {}, "newText": "expectedInKeyword2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopBody", @@ -1229,7 +1331,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expectedLoopVar", @@ -1243,7 +1348,10 @@ "textEdit": { "range": {}, "newText": "expectedLoopVar" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "expressionInPropertyLoopVar", @@ -1271,7 +1379,10 @@ "textEdit": { "range": {}, "newText": "expressionsInPropertyLoopName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "extensionResourceId", @@ -1319,7 +1430,10 @@ "textEdit": { "range": {}, "newText": "fo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "foo", @@ -1333,7 +1447,10 @@ "textEdit": { "range": {}, "newText": "foo" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "format", @@ -1381,7 +1498,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "incorrectPropertiesKey2", @@ -1395,7 +1515,10 @@ "textEdit": { "range": {}, "newText": "incorrectPropertiesKey2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "indexOf", @@ -1474,7 +1597,10 @@ "textEdit": { "range": {}, "newText": "invalidDecorator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName1", @@ -1488,7 +1614,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName2", @@ -1502,7 +1631,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidDuplicateName3", @@ -1516,7 +1648,10 @@ "textEdit": { "range": {}, "newText": "invalidDuplicateName3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName1", @@ -1530,7 +1665,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidExtensionResourceDuplicateName2", @@ -1544,7 +1682,10 @@ "textEdit": { "range": {}, "newText": "invalidExtensionResourceDuplicateName2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope", @@ -1558,7 +1699,10 @@ "textEdit": { "range": {}, "newText": "invalidScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope2", @@ -1572,7 +1716,10 @@ "textEdit": { "range": {}, "newText": "invalidScope2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "invalidScope3", @@ -1586,7 +1733,10 @@ "textEdit": { "range": {}, "newText": "invalidScope3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "json", @@ -1713,7 +1863,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck2", @@ -1727,7 +1880,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck3", @@ -1741,7 +1897,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "loopForRuntimeCheck4", @@ -1755,7 +1914,10 @@ "textEdit": { "range": {}, "newText": "loopForRuntimeCheck4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "magicString1", @@ -1848,7 +2010,10 @@ "textEdit": { "range": {}, "newText": "missingFewerRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingRequiredProperties", @@ -1862,7 +2027,10 @@ "textEdit": { "range": {}, "newText": "missingRequiredProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelProperties", @@ -1876,7 +2044,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelProperties" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingTopLevelPropertiesExceptName", @@ -1890,7 +2061,10 @@ "textEdit": { "range": {}, "newText": "missingTopLevelPropertiesExceptName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "missingType", @@ -1904,7 +2078,10 @@ "textEdit": { "range": {}, "newText": "missingType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "mock", @@ -1932,7 +2109,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorArrayIndexCompletions", @@ -2156,7 +2336,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKeyCompletions", @@ -2296,7 +2479,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminatorMissingKey_if", @@ -2310,7 +2496,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminatorMissingKey_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_for", @@ -2324,7 +2513,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_for" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedDiscriminator_if", @@ -2338,7 +2530,10 @@ "textEdit": { "range": {}, "newText": "nestedDiscriminator_if" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nestedPropertyAccessOnConditional", @@ -2352,7 +2547,10 @@ "textEdit": { "range": {}, "newText": "nestedPropertyAccessOnConditional" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody", @@ -2366,7 +2564,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonObjectResourceLoopBody2", @@ -2380,7 +2581,10 @@ "textEdit": { "range": {}, "newText": "nonObjectResourceLoopBody2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "nonexistentArrays", @@ -2394,7 +2598,10 @@ "textEdit": { "range": {}, "newText": "nonexistentArrays" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "notAResource", @@ -2470,7 +2677,10 @@ "textEdit": { "range": {}, "newText": "premiumStorages" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "propertyLoopsCannotNest", @@ -2484,7 +2694,10 @@ "textEdit": { "range": {}, "newText": "propertyLoopsCannotNest" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "providers", @@ -2698,7 +2911,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes10", @@ -2712,7 +2928,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes10" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes11", @@ -2726,7 +2945,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes11" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes12", @@ -2740,7 +2962,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes12" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes13", @@ -2754,7 +2979,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes13" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes14", @@ -2768,7 +2996,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes14" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes15", @@ -2782,7 +3013,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes15" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes16", @@ -2796,7 +3030,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes16" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes17", @@ -2810,7 +3047,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes17" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes18", @@ -2824,7 +3064,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes18" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes2", @@ -2838,7 +3081,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes3", @@ -2852,7 +3098,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes4", @@ -2866,7 +3115,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes5", @@ -2880,7 +3132,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes6", @@ -2894,7 +3149,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes7", @@ -2908,7 +3166,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes8", @@ -2922,7 +3183,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeInvalidRes9", @@ -2936,7 +3200,10 @@ "textEdit": { "range": {}, "newText": "runtimeInvalidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValid", @@ -2964,7 +3231,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes1" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes2", @@ -2978,7 +3248,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes2" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes3", @@ -2992,7 +3265,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes3" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes4", @@ -3006,7 +3282,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes4" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes5", @@ -3020,7 +3299,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes5" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes6", @@ -3034,7 +3316,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes6" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes7", @@ -3048,7 +3333,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes7" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes8", @@ -3062,7 +3350,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes8" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimeValidRes9", @@ -3076,7 +3367,10 @@ "textEdit": { "range": {}, "newText": "runtimeValidRes9" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "runtimefoo1", @@ -3146,7 +3440,10 @@ "textEdit": { "range": {}, "newText": "selfScope" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "sigh", @@ -3174,7 +3471,10 @@ "textEdit": { "range": {}, "newText": "singleResourceForRuntimeCheck" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "skip", @@ -3222,7 +3522,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startedTypingTypeWithoutQuotes", @@ -3236,7 +3539,10 @@ "textEdit": { "range": {}, "newText": "startedTypingTypeWithoutQuotes" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "startsWith", @@ -3284,7 +3590,10 @@ "textEdit": { "range": {}, "newText": "stuffs" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "subscription", @@ -3445,7 +3754,10 @@ "textEdit": { "range": {}, "newText": "trailingSpace" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "trim", @@ -3476,7 +3788,10 @@ "textEdit": { "range": {}, "newText": "unfinishedVnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "union", @@ -3589,7 +3904,10 @@ "textEdit": { "range": {}, "newText": "validResourceForInvalidExtensionResourceDuplicateName" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "varForRuntimeCheck4a", @@ -3631,7 +3949,10 @@ "textEdit": { "range": {}, "newText": "vnet" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongArrayType", @@ -3645,7 +3966,10 @@ "textEdit": { "range": {}, "newText": "wrongArrayType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongLoopBodyType", @@ -3659,7 +3983,10 @@ "textEdit": { "range": {}, "newText": "wrongLoopBodyType" - } + }, + "commitCharacters": [ + ":" + ] }, { "label": "wrongPropertyInNestedLoop", @@ -3673,6 +4000,9 @@ "textEdit": { "range": {}, "newText": "wrongPropertyInNestedLoop" - } + }, + "commitCharacters": [ + ":" + ] } ] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelProperties.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelProperties.json index 50798b79962..94f493de75b 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelProperties.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelProperties.json @@ -146,6 +146,56 @@ ":" ] }, + { + "label": "resource", + "kind": "keyword", + "detail": "Resource keyword", + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resource" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource with defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n properties: {\n \n }\n}\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n properties: {\n $0\n }\n}" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource without defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n \n}\n\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n $0\n}\n" + } + }, { "label": "sku", "kind": "property", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelPropertiesMinusName.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelPropertiesMinusName.json index 9f8f8c4aac9..84d46053a92 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelPropertiesMinusName.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/topLevelPropertiesMinusName.json @@ -125,6 +125,56 @@ ":" ] }, + { + "label": "resource", + "kind": "keyword", + "detail": "Resource keyword", + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resource" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource with defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n properties: {\n \n }\n}\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n properties: {\n $0\n }\n}" + } + }, + { + "label": "resource", + "kind": "snippet", + "detail": "Nested resource without defaults", + "documentation": { + "kind": "markdown", + "value": "```bicep\nresource Identifier 'Type' = {\n name: \n \n}\n\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "2_resource", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "resource ${1:Identifier} '${2:Type}' = {\n name: $3\n $0\n}\n" + } + }, { "label": "sku", "kind": "property", diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.bicep b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.bicep new file mode 100644 index 00000000000..613543ea14e --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.bicep @@ -0,0 +1,82 @@ +resource basicParent 'My.Rp/parentType@2020-12-01' = { + name: 'basicParent' + properties: { + size: 'large' + } + + resource basicChild 'childType' = { + name: 'basicChild' + properties: { + size: basicParent.properties.large + style: 'cool' + } + + resource basicGrandchild 'grandchildType' = { + name: 'basicGrandchild' + properties: { + size: basicParent.properties.size + style: basicChild.properties.style + } + } + } + + resource basicSibling 'childType' = { + name: 'basicSibling' + properties: { + size: basicParent.properties.size + style: basicChild:basicGrandchild.properties.style + } + } +} + +output referenceBasicChild string = basicParent:basicChild.properties.size +output referenceBasicGrandchild string = basicParent:basicChild:basicGrandchild.properties.style + +resource existingParent 'My.Rp/parentType@2020-12-01' existing = { + name: 'existingParent' + + resource existingChild 'childType' existing = { + name: 'existingChild' + + resource existingGrandchild 'grandchildType' = { + name: 'existingGrandchild' + properties: { + size: existingParent.properties.size + style: existingChild.properties.style + } + } + } +} + +param createParent bool +param createChild bool +param createGrandchild bool +resource conditionParent 'My.Rp/parentType@2020-12-01' = if (createParent) { + name: 'conditionParent' + + resource conditionChild 'childType' = if (createChild) { + name: 'conditionChild' + + resource conditionGrandchild 'grandchildType' = if (createGrandchild) { + name: 'conditionGrandchild' + properties: { + size: conditionParent.properties.size + style: conditionChild.properties.style + } + } + } +} + +var items = [ + 'a' + 'b' +] +resource loopParent 'My.Rp/parentType@2020-12-01' = { + name: 'loopParent' + + resource loopChild 'childType' = [for item in items: { + name: 'loopChild' + }] +} + +output loopChildOutput string = loopParent:loopChild[0].name \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.diagnostics.bicep new file mode 100644 index 00000000000..feca98c8df6 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.diagnostics.bicep @@ -0,0 +1,94 @@ +resource basicParent 'My.Rp/parentType@2020-12-01' = { +//@[21:50) [BCP081 (Warning)] Resource type "My.Rp/parentType@2020-12-01" does not have types available. |'My.Rp/parentType@2020-12-01'| + name: 'basicParent' + properties: { + size: 'large' + } + + resource basicChild 'childType' = { +//@[22:33) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType@2020-12-01" does not have types available. |'childType'| + name: 'basicChild' + properties: { + size: basicParent.properties.large + style: 'cool' + } + + resource basicGrandchild 'grandchildType' = { +//@[29:45) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType/grandchildType@2020-12-01" does not have types available. |'grandchildType'| + name: 'basicGrandchild' + properties: { + size: basicParent.properties.size + style: basicChild.properties.style + } + } + } + + resource basicSibling 'childType' = { +//@[24:35) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType@2020-12-01" does not have types available. |'childType'| + name: 'basicSibling' + properties: { + size: basicParent.properties.size + style: basicChild:basicGrandchild.properties.style + } + } +} + +output referenceBasicChild string = basicParent:basicChild.properties.size +output referenceBasicGrandchild string = basicParent:basicChild:basicGrandchild.properties.style + +resource existingParent 'My.Rp/parentType@2020-12-01' existing = { +//@[24:53) [BCP081 (Warning)] Resource type "My.Rp/parentType@2020-12-01" does not have types available. |'My.Rp/parentType@2020-12-01'| + name: 'existingParent' + + resource existingChild 'childType' existing = { +//@[25:36) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType@2020-12-01" does not have types available. |'childType'| + name: 'existingChild' + + resource existingGrandchild 'grandchildType' = { +//@[32:48) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType/grandchildType@2020-12-01" does not have types available. |'grandchildType'| + name: 'existingGrandchild' + properties: { + size: existingParent.properties.size + style: existingChild.properties.style + } + } + } +} + +param createParent bool +param createChild bool +param createGrandchild bool +resource conditionParent 'My.Rp/parentType@2020-12-01' = if (createParent) { +//@[25:54) [BCP081 (Warning)] Resource type "My.Rp/parentType@2020-12-01" does not have types available. |'My.Rp/parentType@2020-12-01'| + name: 'conditionParent' + + resource conditionChild 'childType' = if (createChild) { +//@[26:37) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType@2020-12-01" does not have types available. |'childType'| + name: 'conditionChild' + + resource conditionGrandchild 'grandchildType' = if (createGrandchild) { +//@[33:49) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType/grandchildType@2020-12-01" does not have types available. |'grandchildType'| + name: 'conditionGrandchild' + properties: { + size: conditionParent.properties.size + style: conditionChild.properties.style + } + } + } +} + +var items = [ + 'a' + 'b' +] +resource loopParent 'My.Rp/parentType@2020-12-01' = { +//@[20:49) [BCP081 (Warning)] Resource type "My.Rp/parentType@2020-12-01" does not have types available. |'My.Rp/parentType@2020-12-01'| + name: 'loopParent' + + resource loopChild 'childType' = [for item in items: { +//@[21:32) [BCP081 (Warning)] Resource type "My.Rp/parentType/childType@2020-12-01" does not have types available. |'childType'| + name: 'loopChild' + }] +} + +output loopChildOutput string = loopParent:loopChild[0].name diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.formatted.bicep new file mode 100644 index 00000000000..daeb8b91862 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.formatted.bicep @@ -0,0 +1,82 @@ +resource basicParent 'My.Rp/parentType@2020-12-01' = { + name: 'basicParent' + properties: { + size: 'large' + } + + resource basicChild 'childType' = { + name: 'basicChild' + properties: { + size: basicParent.properties.large + style: 'cool' + } + + resource basicGrandchild 'grandchildType' = { + name: 'basicGrandchild' + properties: { + size: basicParent.properties.size + style: basicChild.properties.style + } + } + } + + resource basicSibling 'childType' = { + name: 'basicSibling' + properties: { + size: basicParent.properties.size + style: basicChild:basicGrandchild.properties.style + } + } +} + +output referenceBasicChild string = basicParent:basicChild.properties.size +output referenceBasicGrandchild string = basicParent:basicChild:basicGrandchild.properties.style + +resource existingParent 'My.Rp/parentType@2020-12-01' existing = { + name: 'existingParent' + + resource existingChild 'childType' existing = { + name: 'existingChild' + + resource existingGrandchild 'grandchildType' = { + name: 'existingGrandchild' + properties: { + size: existingParent.properties.size + style: existingChild.properties.style + } + } + } +} + +param createParent bool +param createChild bool +param createGrandchild bool +resource conditionParent 'My.Rp/parentType@2020-12-01' = if (createParent) { + name: 'conditionParent' + + resource conditionChild 'childType' = if (createChild) { + name: 'conditionChild' + + resource conditionGrandchild 'grandchildType' = if (createGrandchild) { + name: 'conditionGrandchild' + properties: { + size: conditionParent.properties.size + style: conditionChild.properties.style + } + } + } +} + +var items = [ + 'a' + 'b' +] +resource loopParent 'My.Rp/parentType@2020-12-01' = { + name: 'loopParent' + + resource loopChild 'childType' = [for item in items: { + name: 'loopChild' + }] +} + +output loopChildOutput string = loopParent:loopChild[0].name diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.json b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.json new file mode 100644 index 00000000000..e34b443b528 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.json @@ -0,0 +1,147 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "createParent": { + "type": "bool" + }, + "createChild": { + "type": "bool" + }, + "createGrandchild": { + "type": "bool" + } + }, + "functions": [], + "variables": { + "items": [ + "a", + "b" + ] + }, + "resources": [ + { + "type": "My.Rp/parentType/childType/grandchildType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild')]", + "properties": { + "size": "[reference(resourceId('My.Rp/parentType', 'basicParent')).size]", + "style": "[reference(resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[0], split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[1])).style]" + }, + "dependsOn": [ + "[resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[0], split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[1])]", + "[resourceId('My.Rp/parentType', 'basicParent')]" + ] + }, + { + "type": "My.Rp/parentType/childType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}', 'basicParent', 'basicChild')]", + "properties": { + "size": "[reference(resourceId('My.Rp/parentType', 'basicParent')).large]", + "style": "cool" + }, + "dependsOn": [ + "[resourceId('My.Rp/parentType', 'basicParent')]" + ] + }, + { + "type": "My.Rp/parentType/childType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}', 'basicParent', 'basicSibling')]", + "properties": { + "size": "[reference(resourceId('My.Rp/parentType', 'basicParent')).size]", + "style": "[reference(resourceId('My.Rp/parentType/childType/grandchildType', split(format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild'), '/')[0], split(format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild'), '/')[1], split(format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild'), '/')[2])).style]" + }, + "dependsOn": [ + "[resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[0], split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[1])]", + "[resourceId('My.Rp/parentType', 'basicParent')]" + ] + }, + { + "type": "My.Rp/parentType/childType/grandchildType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}/{2}', 'existingParent', 'existingChild', 'existingGrandchild')]", + "properties": { + "size": "[reference(resourceId('My.Rp/parentType', 'existingParent'), '2020-12-01').size]", + "style": "[reference(resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'existingParent', 'existingChild'), '/')[0], split(format('{0}/{1}', 'existingParent', 'existingChild'), '/')[1]), '2020-12-01').style]" + }, + "dependsOn": [] + }, + { + "condition": "[and(and(parameters('createParent'), parameters('createChild')), parameters('createGrandchild'))]", + "type": "My.Rp/parentType/childType/grandchildType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}/{2}', 'conditionParent', 'conditionChild', 'conditionGrandchild')]", + "properties": { + "size": "[reference(resourceId('My.Rp/parentType', 'conditionParent')).size]", + "style": "[reference(resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'conditionParent', 'conditionChild'), '/')[0], split(format('{0}/{1}', 'conditionParent', 'conditionChild'), '/')[1])).style]" + }, + "dependsOn": [ + "[resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'conditionParent', 'conditionChild'), '/')[0], split(format('{0}/{1}', 'conditionParent', 'conditionChild'), '/')[1])]", + "[resourceId('My.Rp/parentType', 'conditionParent')]" + ] + }, + { + "condition": "[and(parameters('createParent'), parameters('createChild'))]", + "type": "My.Rp/parentType/childType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}', 'conditionParent', 'conditionChild')]", + "dependsOn": [ + "[resourceId('My.Rp/parentType', 'conditionParent')]" + ] + }, + { + "copy": { + "name": "loopChild", + "count": "[length(variables('items'))]" + }, + "type": "My.Rp/parentType/childType", + "apiVersion": "2020-12-01", + "name": "[format('{0}/{1}', 'loopParent', 'loopChild')]", + "dependsOn": [ + "[resourceId('My.Rp/parentType', 'loopParent')]" + ] + }, + { + "type": "My.Rp/parentType", + "apiVersion": "2020-12-01", + "name": "basicParent", + "properties": { + "size": "large" + } + }, + { + "condition": "[parameters('createParent')]", + "type": "My.Rp/parentType", + "apiVersion": "2020-12-01", + "name": "conditionParent" + }, + { + "type": "My.Rp/parentType", + "apiVersion": "2020-12-01", + "name": "loopParent" + } + ], + "outputs": { + "referenceBasicChild": { + "type": "string", + "value": "[reference(resourceId('My.Rp/parentType/childType', split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[0], split(format('{0}/{1}', 'basicParent', 'basicChild'), '/')[1])).size]" + }, + "referenceBasicGrandchild": { + "type": "string", + "value": "[reference(resourceId('My.Rp/parentType/childType/grandchildType', split(format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild'), '/')[0], split(format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild'), '/')[1], split(format('{0}/{1}/{2}', 'basicParent', 'basicChild', 'basicGrandchild'), '/')[2])).style]" + }, + "loopChildOutput": { + "type": "string", + "value": "[format('{0}/{1}', 'loopParent', 'loopChild')]" + } + }, + "metadata": { + "_generator": { + "name": "bicep", + "version": "dev", + "templateHash": "16251729290247853382" + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbols.bicep new file mode 100644 index 00000000000..9f2c91dfd61 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbols.bicep @@ -0,0 +1,102 @@ +resource basicParent 'My.Rp/parentType@2020-12-01' = { +//@[9:20) Resource basicParent. Type: My.Rp/parentType@2020-12-01. Declaration start char: 0, length: 658 + name: 'basicParent' + properties: { + size: 'large' + } + + resource basicChild 'childType' = { +//@[11:21) Resource basicChild. Type: My.Rp/parentType/childType@2020-12-01. Declaration start char: 2, length: 347 + name: 'basicChild' + properties: { + size: basicParent.properties.large + style: 'cool' + } + + resource basicGrandchild 'grandchildType' = { +//@[13:28) Resource basicGrandchild. Type: My.Rp/parentType/childType/grandchildType@2020-12-01. Declaration start char: 4, length: 194 + name: 'basicGrandchild' + properties: { + size: basicParent.properties.size + style: basicChild.properties.style + } + } + } + + resource basicSibling 'childType' = { +//@[11:23) Resource basicSibling. Type: My.Rp/parentType/childType@2020-12-01. Declaration start char: 2, length: 187 + name: 'basicSibling' + properties: { + size: basicParent.properties.size + style: basicChild:basicGrandchild.properties.style + } + } +} + +output referenceBasicChild string = basicParent:basicChild.properties.size +//@[7:26) Output referenceBasicChild. Type: string. Declaration start char: 0, length: 74 +output referenceBasicGrandchild string = basicParent:basicChild:basicGrandchild.properties.style +//@[7:31) Output referenceBasicGrandchild. Type: string. Declaration start char: 0, length: 96 + +resource existingParent 'My.Rp/parentType@2020-12-01' existing = { +//@[9:23) Resource existingParent. Type: My.Rp/parentType@2020-12-01. Declaration start char: 0, length: 386 + name: 'existingParent' + + resource existingChild 'childType' existing = { +//@[11:24) Resource existingChild. Type: My.Rp/parentType/childType@2020-12-01. Declaration start char: 2, length: 289 + name: 'existingChild' + + resource existingGrandchild 'grandchildType' = { +//@[13:31) Resource existingGrandchild. Type: My.Rp/parentType/childType/grandchildType@2020-12-01. Declaration start char: 4, length: 206 + name: 'existingGrandchild' + properties: { + size: existingParent.properties.size + style: existingChild.properties.style + } + } + } +} + +param createParent bool +//@[6:18) Parameter createParent. Type: bool. Declaration start char: 0, length: 23 +param createChild bool +//@[6:17) Parameter createChild. Type: bool. Declaration start char: 0, length: 22 +param createGrandchild bool +//@[6:22) Parameter createGrandchild. Type: bool. Declaration start char: 0, length: 27 +resource conditionParent 'My.Rp/parentType@2020-12-01' = if (createParent) { +//@[9:24) Resource conditionParent. Type: My.Rp/parentType@2020-12-01. Declaration start char: 0, length: 433 + name: 'conditionParent' + + resource conditionChild 'childType' = if (createChild) { +//@[11:25) Resource conditionChild. Type: My.Rp/parentType/childType@2020-12-01. Declaration start char: 2, length: 325 + name: 'conditionChild' + + resource conditionGrandchild 'grandchildType' = if (createGrandchild) { +//@[13:32) Resource conditionGrandchild. Type: My.Rp/parentType/childType/grandchildType@2020-12-01. Declaration start char: 4, length: 232 + name: 'conditionGrandchild' + properties: { + size: conditionParent.properties.size + style: conditionChild.properties.style + } + } + } +} + +var items = [ +//@[4:9) Variable items. Type: array. Declaration start char: 0, length: 27 + 'a' + 'b' +] +resource loopParent 'My.Rp/parentType@2020-12-01' = { +//@[9:19) Resource loopParent. Type: My.Rp/parentType@2020-12-01. Declaration start char: 0, length: 161 + name: 'loopParent' + + resource loopChild 'childType' = [for item in items: { +//@[40:44) Local item. Type: any. Declaration start char: 40, length: 4 +//@[11:20) Resource loopChild. Type: My.Rp/parentType/childType@2020-12-01[]. Declaration start char: 2, length: 81 + name: 'loopChild' + }] +} + +output loopChildOutput string = loopParent:loopChild[0].name +//@[7:22) Output loopChildOutput. Type: string. Declaration start char: 0, length: 60 diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.syntax.bicep new file mode 100644 index 00000000000..2215100c2c3 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.syntax.bicep @@ -0,0 +1,677 @@ +resource basicParent 'My.Rp/parentType@2020-12-01' = { +//@[0:658) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:20) IdentifierSyntax +//@[9:20) Identifier |basicParent| +//@[21:50) StringSyntax +//@[21:50) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[51:52) Assignment |=| +//@[53:658) ObjectSyntax +//@[53:54) LeftBrace |{| +//@[54:55) NewLine |\n| + name: 'basicParent' +//@[2:21) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:21) StringSyntax +//@[8:21) StringComplete |'basicParent'| +//@[21:22) NewLine |\n| + properties: { +//@[2:37) ObjectPropertySyntax +//@[2:12) IdentifierSyntax +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:37) ObjectSyntax +//@[14:15) LeftBrace |{| +//@[15:16) NewLine |\n| + size: 'large' +//@[4:17) ObjectPropertySyntax +//@[4:8) IdentifierSyntax +//@[4:8) Identifier |size| +//@[8:9) Colon |:| +//@[10:17) StringSyntax +//@[10:17) StringComplete |'large'| +//@[17:18) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\n\n| + + resource basicChild 'childType' = { +//@[2:349) ResourceDeclarationSyntax +//@[2:10) Identifier |resource| +//@[11:21) IdentifierSyntax +//@[11:21) Identifier |basicChild| +//@[22:33) StringSyntax +//@[22:33) StringComplete |'childType'| +//@[34:35) Assignment |=| +//@[36:349) ObjectSyntax +//@[36:37) LeftBrace |{| +//@[37:38) NewLine |\n| + name: 'basicChild' +//@[4:22) ObjectPropertySyntax +//@[4:8) IdentifierSyntax +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:22) StringSyntax +//@[10:22) StringComplete |'basicChild'| +//@[22:23) NewLine |\n| + properties: { +//@[4:84) ObjectPropertySyntax +//@[4:14) IdentifierSyntax +//@[4:14) Identifier |properties| +//@[14:15) Colon |:| +//@[16:84) ObjectSyntax +//@[16:17) LeftBrace |{| +//@[17:18) NewLine |\n| + size: basicParent.properties.large +//@[6:40) ObjectPropertySyntax +//@[6:10) IdentifierSyntax +//@[6:10) Identifier |size| +//@[10:11) Colon |:| +//@[12:40) PropertyAccessSyntax +//@[12:34) PropertyAccessSyntax +//@[12:23) VariableAccessSyntax +//@[12:23) IdentifierSyntax +//@[12:23) Identifier |basicParent| +//@[23:24) Dot |.| +//@[24:34) IdentifierSyntax +//@[24:34) Identifier |properties| +//@[34:35) Dot |.| +//@[35:40) IdentifierSyntax +//@[35:40) Identifier |large| +//@[40:41) NewLine |\n| + style: 'cool' +//@[6:19) ObjectPropertySyntax +//@[6:11) IdentifierSyntax +//@[6:11) Identifier |style| +//@[11:12) Colon |:| +//@[13:19) StringSyntax +//@[13:19) StringComplete |'cool'| +//@[19:20) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:7) NewLine |\n\n| + + resource basicGrandchild 'grandchildType' = { +//@[4:198) ResourceDeclarationSyntax +//@[4:12) Identifier |resource| +//@[13:28) IdentifierSyntax +//@[13:28) Identifier |basicGrandchild| +//@[29:45) StringSyntax +//@[29:45) StringComplete |'grandchildType'| +//@[46:47) Assignment |=| +//@[48:198) ObjectSyntax +//@[48:49) LeftBrace |{| +//@[49:50) NewLine |\n| + name: 'basicGrandchild' +//@[6:29) ObjectPropertySyntax +//@[6:10) IdentifierSyntax +//@[6:10) Identifier |name| +//@[10:11) Colon |:| +//@[12:29) StringSyntax +//@[12:29) StringComplete |'basicGrandchild'| +//@[29:30) NewLine |\n| + properties: { +//@[6:112) ObjectPropertySyntax +//@[6:16) IdentifierSyntax +//@[6:16) Identifier |properties| +//@[16:17) Colon |:| +//@[18:112) ObjectSyntax +//@[18:19) LeftBrace |{| +//@[19:20) NewLine |\n| + size: basicParent.properties.size +//@[8:41) ObjectPropertySyntax +//@[8:12) IdentifierSyntax +//@[8:12) Identifier |size| +//@[12:13) Colon |:| +//@[14:41) PropertyAccessSyntax +//@[14:36) PropertyAccessSyntax +//@[14:25) VariableAccessSyntax +//@[14:25) IdentifierSyntax +//@[14:25) Identifier |basicParent| +//@[25:26) Dot |.| +//@[26:36) IdentifierSyntax +//@[26:36) Identifier |properties| +//@[36:37) Dot |.| +//@[37:41) IdentifierSyntax +//@[37:41) Identifier |size| +//@[41:42) NewLine |\n| + style: basicChild.properties.style +//@[8:42) ObjectPropertySyntax +//@[8:13) IdentifierSyntax +//@[8:13) Identifier |style| +//@[13:14) Colon |:| +//@[15:42) PropertyAccessSyntax +//@[15:36) PropertyAccessSyntax +//@[15:25) VariableAccessSyntax +//@[15:25) IdentifierSyntax +//@[15:25) Identifier |basicChild| +//@[25:26) Dot |.| +//@[26:36) IdentifierSyntax +//@[26:36) Identifier |properties| +//@[36:37) Dot |.| +//@[37:42) IdentifierSyntax +//@[37:42) Identifier |style| +//@[42:43) NewLine |\n| + } +//@[6:7) RightBrace |}| +//@[7:8) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\n\n| + + resource basicSibling 'childType' = { +//@[2:189) ResourceDeclarationSyntax +//@[2:10) Identifier |resource| +//@[11:23) IdentifierSyntax +//@[11:23) Identifier |basicSibling| +//@[24:35) StringSyntax +//@[24:35) StringComplete |'childType'| +//@[36:37) Assignment |=| +//@[38:189) ObjectSyntax +//@[38:39) LeftBrace |{| +//@[39:40) NewLine |\n| + name: 'basicSibling' +//@[4:24) ObjectPropertySyntax +//@[4:8) IdentifierSyntax +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:24) StringSyntax +//@[10:24) StringComplete |'basicSibling'| +//@[24:25) NewLine |\n| + properties: { +//@[4:120) ObjectPropertySyntax +//@[4:14) IdentifierSyntax +//@[4:14) Identifier |properties| +//@[14:15) Colon |:| +//@[16:120) ObjectSyntax +//@[16:17) LeftBrace |{| +//@[17:18) NewLine |\n| + size: basicParent.properties.size +//@[6:39) ObjectPropertySyntax +//@[6:10) IdentifierSyntax +//@[6:10) Identifier |size| +//@[10:11) Colon |:| +//@[12:39) PropertyAccessSyntax +//@[12:34) PropertyAccessSyntax +//@[12:23) VariableAccessSyntax +//@[12:23) IdentifierSyntax +//@[12:23) Identifier |basicParent| +//@[23:24) Dot |.| +//@[24:34) IdentifierSyntax +//@[24:34) Identifier |properties| +//@[34:35) Dot |.| +//@[35:39) IdentifierSyntax +//@[35:39) Identifier |size| +//@[39:40) NewLine |\n| + style: basicChild:basicGrandchild.properties.style +//@[6:56) ObjectPropertySyntax +//@[6:11) IdentifierSyntax +//@[6:11) Identifier |style| +//@[11:12) Colon |:| +//@[13:56) PropertyAccessSyntax +//@[13:50) PropertyAccessSyntax +//@[13:39) ResourceAccessSyntax +//@[13:23) VariableAccessSyntax +//@[13:23) IdentifierSyntax +//@[13:23) Identifier |basicChild| +//@[23:24) Colon |:| +//@[24:39) IdentifierSyntax +//@[24:39) Identifier |basicGrandchild| +//@[39:40) Dot |.| +//@[40:50) IdentifierSyntax +//@[40:50) Identifier |properties| +//@[50:51) Dot |.| +//@[51:56) IdentifierSyntax +//@[51:56) Identifier |style| +//@[56:57) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +output referenceBasicChild string = basicParent:basicChild.properties.size +//@[0:74) OutputDeclarationSyntax +//@[0:6) Identifier |output| +//@[7:26) IdentifierSyntax +//@[7:26) Identifier |referenceBasicChild| +//@[27:33) TypeSyntax +//@[27:33) Identifier |string| +//@[34:35) Assignment |=| +//@[36:74) PropertyAccessSyntax +//@[36:69) PropertyAccessSyntax +//@[36:58) ResourceAccessSyntax +//@[36:47) VariableAccessSyntax +//@[36:47) IdentifierSyntax +//@[36:47) Identifier |basicParent| +//@[47:48) Colon |:| +//@[48:58) IdentifierSyntax +//@[48:58) Identifier |basicChild| +//@[58:59) Dot |.| +//@[59:69) IdentifierSyntax +//@[59:69) Identifier |properties| +//@[69:70) Dot |.| +//@[70:74) IdentifierSyntax +//@[70:74) Identifier |size| +//@[74:75) NewLine |\n| +output referenceBasicGrandchild string = basicParent:basicChild:basicGrandchild.properties.style +//@[0:96) OutputDeclarationSyntax +//@[0:6) Identifier |output| +//@[7:31) IdentifierSyntax +//@[7:31) Identifier |referenceBasicGrandchild| +//@[32:38) TypeSyntax +//@[32:38) Identifier |string| +//@[39:40) Assignment |=| +//@[41:96) PropertyAccessSyntax +//@[41:90) PropertyAccessSyntax +//@[41:79) ResourceAccessSyntax +//@[41:63) ResourceAccessSyntax +//@[41:52) VariableAccessSyntax +//@[41:52) IdentifierSyntax +//@[41:52) Identifier |basicParent| +//@[52:53) Colon |:| +//@[53:63) IdentifierSyntax +//@[53:63) Identifier |basicChild| +//@[63:64) Colon |:| +//@[64:79) IdentifierSyntax +//@[64:79) Identifier |basicGrandchild| +//@[79:80) Dot |.| +//@[80:90) IdentifierSyntax +//@[80:90) Identifier |properties| +//@[90:91) Dot |.| +//@[91:96) IdentifierSyntax +//@[91:96) Identifier |style| +//@[96:98) NewLine |\n\n| + +resource existingParent 'My.Rp/parentType@2020-12-01' existing = { +//@[0:386) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:23) IdentifierSyntax +//@[9:23) Identifier |existingParent| +//@[24:53) StringSyntax +//@[24:53) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[54:62) Identifier |existing| +//@[63:64) Assignment |=| +//@[65:386) ObjectSyntax +//@[65:66) LeftBrace |{| +//@[66:67) NewLine |\n| + name: 'existingParent' +//@[2:24) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:24) StringSyntax +//@[8:24) StringComplete |'existingParent'| +//@[24:26) NewLine |\n\n| + + resource existingChild 'childType' existing = { +//@[2:291) ResourceDeclarationSyntax +//@[2:10) Identifier |resource| +//@[11:24) IdentifierSyntax +//@[11:24) Identifier |existingChild| +//@[25:36) StringSyntax +//@[25:36) StringComplete |'childType'| +//@[37:45) Identifier |existing| +//@[46:47) Assignment |=| +//@[48:291) ObjectSyntax +//@[48:49) LeftBrace |{| +//@[49:50) NewLine |\n| + name: 'existingChild' +//@[4:25) ObjectPropertySyntax +//@[4:8) IdentifierSyntax +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:25) StringSyntax +//@[10:25) StringComplete |'existingChild'| +//@[25:27) NewLine |\n\n| + + resource existingGrandchild 'grandchildType' = { +//@[4:210) ResourceDeclarationSyntax +//@[4:12) Identifier |resource| +//@[13:31) IdentifierSyntax +//@[13:31) Identifier |existingGrandchild| +//@[32:48) StringSyntax +//@[32:48) StringComplete |'grandchildType'| +//@[49:50) Assignment |=| +//@[51:210) ObjectSyntax +//@[51:52) LeftBrace |{| +//@[52:53) NewLine |\n| + name: 'existingGrandchild' +//@[6:32) ObjectPropertySyntax +//@[6:10) IdentifierSyntax +//@[6:10) Identifier |name| +//@[10:11) Colon |:| +//@[12:32) StringSyntax +//@[12:32) StringComplete |'existingGrandchild'| +//@[32:33) NewLine |\n| + properties: { +//@[6:118) ObjectPropertySyntax +//@[6:16) IdentifierSyntax +//@[6:16) Identifier |properties| +//@[16:17) Colon |:| +//@[18:118) ObjectSyntax +//@[18:19) LeftBrace |{| +//@[19:20) NewLine |\n| + size: existingParent.properties.size +//@[8:44) ObjectPropertySyntax +//@[8:12) IdentifierSyntax +//@[8:12) Identifier |size| +//@[12:13) Colon |:| +//@[14:44) PropertyAccessSyntax +//@[14:39) PropertyAccessSyntax +//@[14:28) VariableAccessSyntax +//@[14:28) IdentifierSyntax +//@[14:28) Identifier |existingParent| +//@[28:29) Dot |.| +//@[29:39) IdentifierSyntax +//@[29:39) Identifier |properties| +//@[39:40) Dot |.| +//@[40:44) IdentifierSyntax +//@[40:44) Identifier |size| +//@[44:45) NewLine |\n| + style: existingChild.properties.style +//@[8:45) ObjectPropertySyntax +//@[8:13) IdentifierSyntax +//@[8:13) Identifier |style| +//@[13:14) Colon |:| +//@[15:45) PropertyAccessSyntax +//@[15:39) PropertyAccessSyntax +//@[15:28) VariableAccessSyntax +//@[15:28) IdentifierSyntax +//@[15:28) Identifier |existingChild| +//@[28:29) Dot |.| +//@[29:39) IdentifierSyntax +//@[29:39) Identifier |properties| +//@[39:40) Dot |.| +//@[40:45) IdentifierSyntax +//@[40:45) Identifier |style| +//@[45:46) NewLine |\n| + } +//@[6:7) RightBrace |}| +//@[7:8) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +param createParent bool +//@[0:23) ParameterDeclarationSyntax +//@[0:5) Identifier |param| +//@[6:18) IdentifierSyntax +//@[6:18) Identifier |createParent| +//@[19:23) TypeSyntax +//@[19:23) Identifier |bool| +//@[23:24) NewLine |\n| +param createChild bool +//@[0:22) ParameterDeclarationSyntax +//@[0:5) Identifier |param| +//@[6:17) IdentifierSyntax +//@[6:17) Identifier |createChild| +//@[18:22) TypeSyntax +//@[18:22) Identifier |bool| +//@[22:23) NewLine |\n| +param createGrandchild bool +//@[0:27) ParameterDeclarationSyntax +//@[0:5) Identifier |param| +//@[6:22) IdentifierSyntax +//@[6:22) Identifier |createGrandchild| +//@[23:27) TypeSyntax +//@[23:27) Identifier |bool| +//@[27:28) NewLine |\n| +resource conditionParent 'My.Rp/parentType@2020-12-01' = if (createParent) { +//@[0:433) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:24) IdentifierSyntax +//@[9:24) Identifier |conditionParent| +//@[25:54) StringSyntax +//@[25:54) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[55:56) Assignment |=| +//@[57:433) IfConditionSyntax +//@[57:59) Identifier |if| +//@[60:74) ParenthesizedExpressionSyntax +//@[60:61) LeftParen |(| +//@[61:73) VariableAccessSyntax +//@[61:73) IdentifierSyntax +//@[61:73) Identifier |createParent| +//@[73:74) RightParen |)| +//@[75:433) ObjectSyntax +//@[75:76) LeftBrace |{| +//@[76:77) NewLine |\n| + name: 'conditionParent' +//@[2:25) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:25) StringSyntax +//@[8:25) StringComplete |'conditionParent'| +//@[25:27) NewLine |\n\n| + + resource conditionChild 'childType' = if (createChild) { +//@[2:327) ResourceDeclarationSyntax +//@[2:10) Identifier |resource| +//@[11:25) IdentifierSyntax +//@[11:25) Identifier |conditionChild| +//@[26:37) StringSyntax +//@[26:37) StringComplete |'childType'| +//@[38:39) Assignment |=| +//@[40:327) IfConditionSyntax +//@[40:42) Identifier |if| +//@[43:56) ParenthesizedExpressionSyntax +//@[43:44) LeftParen |(| +//@[44:55) VariableAccessSyntax +//@[44:55) IdentifierSyntax +//@[44:55) Identifier |createChild| +//@[55:56) RightParen |)| +//@[57:327) ObjectSyntax +//@[57:58) LeftBrace |{| +//@[58:59) NewLine |\n| + name: 'conditionChild' +//@[4:26) ObjectPropertySyntax +//@[4:8) IdentifierSyntax +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:26) StringSyntax +//@[10:26) StringComplete |'conditionChild'| +//@[26:28) NewLine |\n\n| + + resource conditionGrandchild 'grandchildType' = if (createGrandchild) { +//@[4:236) ResourceDeclarationSyntax +//@[4:12) Identifier |resource| +//@[13:32) IdentifierSyntax +//@[13:32) Identifier |conditionGrandchild| +//@[33:49) StringSyntax +//@[33:49) StringComplete |'grandchildType'| +//@[50:51) Assignment |=| +//@[52:236) IfConditionSyntax +//@[52:54) Identifier |if| +//@[55:73) ParenthesizedExpressionSyntax +//@[55:56) LeftParen |(| +//@[56:72) VariableAccessSyntax +//@[56:72) IdentifierSyntax +//@[56:72) Identifier |createGrandchild| +//@[72:73) RightParen |)| +//@[74:236) ObjectSyntax +//@[74:75) LeftBrace |{| +//@[75:76) NewLine |\n| + name: 'conditionGrandchild' +//@[6:33) ObjectPropertySyntax +//@[6:10) IdentifierSyntax +//@[6:10) Identifier |name| +//@[10:11) Colon |:| +//@[12:33) StringSyntax +//@[12:33) StringComplete |'conditionGrandchild'| +//@[33:34) NewLine |\n| + properties: { +//@[6:120) ObjectPropertySyntax +//@[6:16) IdentifierSyntax +//@[6:16) Identifier |properties| +//@[16:17) Colon |:| +//@[18:120) ObjectSyntax +//@[18:19) LeftBrace |{| +//@[19:20) NewLine |\n| + size: conditionParent.properties.size +//@[8:45) ObjectPropertySyntax +//@[8:12) IdentifierSyntax +//@[8:12) Identifier |size| +//@[12:13) Colon |:| +//@[14:45) PropertyAccessSyntax +//@[14:40) PropertyAccessSyntax +//@[14:29) VariableAccessSyntax +//@[14:29) IdentifierSyntax +//@[14:29) Identifier |conditionParent| +//@[29:30) Dot |.| +//@[30:40) IdentifierSyntax +//@[30:40) Identifier |properties| +//@[40:41) Dot |.| +//@[41:45) IdentifierSyntax +//@[41:45) Identifier |size| +//@[45:46) NewLine |\n| + style: conditionChild.properties.style +//@[8:46) ObjectPropertySyntax +//@[8:13) IdentifierSyntax +//@[8:13) Identifier |style| +//@[13:14) Colon |:| +//@[15:46) PropertyAccessSyntax +//@[15:40) PropertyAccessSyntax +//@[15:29) VariableAccessSyntax +//@[15:29) IdentifierSyntax +//@[15:29) Identifier |conditionChild| +//@[29:30) Dot |.| +//@[30:40) IdentifierSyntax +//@[30:40) Identifier |properties| +//@[40:41) Dot |.| +//@[41:46) IdentifierSyntax +//@[41:46) Identifier |style| +//@[46:47) NewLine |\n| + } +//@[6:7) RightBrace |}| +//@[7:8) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +var items = [ +//@[0:27) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:9) IdentifierSyntax +//@[4:9) Identifier |items| +//@[10:11) Assignment |=| +//@[12:27) ArraySyntax +//@[12:13) LeftSquare |[| +//@[13:14) NewLine |\n| + 'a' +//@[2:5) ArrayItemSyntax +//@[2:5) StringSyntax +//@[2:5) StringComplete |'a'| +//@[5:6) NewLine |\n| + 'b' +//@[2:5) ArrayItemSyntax +//@[2:5) StringSyntax +//@[2:5) StringComplete |'b'| +//@[5:6) NewLine |\n| +] +//@[0:1) RightSquare |]| +//@[1:2) NewLine |\n| +resource loopParent 'My.Rp/parentType@2020-12-01' = { +//@[0:161) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:19) IdentifierSyntax +//@[9:19) Identifier |loopParent| +//@[20:49) StringSyntax +//@[20:49) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[50:51) Assignment |=| +//@[52:161) ObjectSyntax +//@[52:53) LeftBrace |{| +//@[53:54) NewLine |\n| + name: 'loopParent' +//@[2:20) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:20) StringSyntax +//@[8:20) StringComplete |'loopParent'| +//@[20:22) NewLine |\n\n| + + resource loopChild 'childType' = [for item in items: { +//@[2:83) ResourceDeclarationSyntax +//@[2:10) Identifier |resource| +//@[11:20) IdentifierSyntax +//@[11:20) Identifier |loopChild| +//@[21:32) StringSyntax +//@[21:32) StringComplete |'childType'| +//@[33:34) Assignment |=| +//@[35:83) ForSyntax +//@[35:36) LeftSquare |[| +//@[36:39) Identifier |for| +//@[40:44) LocalVariableSyntax +//@[40:44) IdentifierSyntax +//@[40:44) Identifier |item| +//@[45:47) Identifier |in| +//@[48:53) VariableAccessSyntax +//@[48:53) IdentifierSyntax +//@[48:53) Identifier |items| +//@[53:54) Colon |:| +//@[55:82) ObjectSyntax +//@[55:56) LeftBrace |{| +//@[56:57) NewLine |\n| + name: 'loopChild' +//@[4:21) ObjectPropertySyntax +//@[4:8) IdentifierSyntax +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:21) StringSyntax +//@[10:21) StringComplete |'loopChild'| +//@[21:22) NewLine |\n| + }] +//@[2:3) RightBrace |}| +//@[3:4) RightSquare |]| +//@[4:5) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +output loopChildOutput string = loopParent:loopChild[0].name +//@[0:60) OutputDeclarationSyntax +//@[0:6) Identifier |output| +//@[7:22) IdentifierSyntax +//@[7:22) Identifier |loopChildOutput| +//@[23:29) TypeSyntax +//@[23:29) Identifier |string| +//@[30:31) Assignment |=| +//@[32:60) PropertyAccessSyntax +//@[32:55) ArrayAccessSyntax +//@[32:52) ResourceAccessSyntax +//@[32:42) VariableAccessSyntax +//@[32:42) IdentifierSyntax +//@[32:42) Identifier |loopParent| +//@[42:43) Colon |:| +//@[43:52) IdentifierSyntax +//@[43:52) Identifier |loopChild| +//@[52:53) LeftSquare |[| +//@[53:54) IntegerLiteralSyntax +//@[53:54) Integer |0| +//@[54:55) RightSquare |]| +//@[55:56) Dot |.| +//@[56:60) IdentifierSyntax +//@[56:60) Identifier |name| +//@[60:60) EndOfFile || diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.tokens.bicep new file mode 100644 index 00000000000..d85e7bd3dff --- /dev/null +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.tokens.bicep @@ -0,0 +1,427 @@ +resource basicParent 'My.Rp/parentType@2020-12-01' = { +//@[0:8) Identifier |resource| +//@[9:20) Identifier |basicParent| +//@[21:50) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[51:52) Assignment |=| +//@[53:54) LeftBrace |{| +//@[54:55) NewLine |\n| + name: 'basicParent' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:21) StringComplete |'basicParent'| +//@[21:22) NewLine |\n| + properties: { +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:15) LeftBrace |{| +//@[15:16) NewLine |\n| + size: 'large' +//@[4:8) Identifier |size| +//@[8:9) Colon |:| +//@[10:17) StringComplete |'large'| +//@[17:18) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\n\n| + + resource basicChild 'childType' = { +//@[2:10) Identifier |resource| +//@[11:21) Identifier |basicChild| +//@[22:33) StringComplete |'childType'| +//@[34:35) Assignment |=| +//@[36:37) LeftBrace |{| +//@[37:38) NewLine |\n| + name: 'basicChild' +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:22) StringComplete |'basicChild'| +//@[22:23) NewLine |\n| + properties: { +//@[4:14) Identifier |properties| +//@[14:15) Colon |:| +//@[16:17) LeftBrace |{| +//@[17:18) NewLine |\n| + size: basicParent.properties.large +//@[6:10) Identifier |size| +//@[10:11) Colon |:| +//@[12:23) Identifier |basicParent| +//@[23:24) Dot |.| +//@[24:34) Identifier |properties| +//@[34:35) Dot |.| +//@[35:40) Identifier |large| +//@[40:41) NewLine |\n| + style: 'cool' +//@[6:11) Identifier |style| +//@[11:12) Colon |:| +//@[13:19) StringComplete |'cool'| +//@[19:20) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:7) NewLine |\n\n| + + resource basicGrandchild 'grandchildType' = { +//@[4:12) Identifier |resource| +//@[13:28) Identifier |basicGrandchild| +//@[29:45) StringComplete |'grandchildType'| +//@[46:47) Assignment |=| +//@[48:49) LeftBrace |{| +//@[49:50) NewLine |\n| + name: 'basicGrandchild' +//@[6:10) Identifier |name| +//@[10:11) Colon |:| +//@[12:29) StringComplete |'basicGrandchild'| +//@[29:30) NewLine |\n| + properties: { +//@[6:16) Identifier |properties| +//@[16:17) Colon |:| +//@[18:19) LeftBrace |{| +//@[19:20) NewLine |\n| + size: basicParent.properties.size +//@[8:12) Identifier |size| +//@[12:13) Colon |:| +//@[14:25) Identifier |basicParent| +//@[25:26) Dot |.| +//@[26:36) Identifier |properties| +//@[36:37) Dot |.| +//@[37:41) Identifier |size| +//@[41:42) NewLine |\n| + style: basicChild.properties.style +//@[8:13) Identifier |style| +//@[13:14) Colon |:| +//@[15:25) Identifier |basicChild| +//@[25:26) Dot |.| +//@[26:36) Identifier |properties| +//@[36:37) Dot |.| +//@[37:42) Identifier |style| +//@[42:43) NewLine |\n| + } +//@[6:7) RightBrace |}| +//@[7:8) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\n\n| + + resource basicSibling 'childType' = { +//@[2:10) Identifier |resource| +//@[11:23) Identifier |basicSibling| +//@[24:35) StringComplete |'childType'| +//@[36:37) Assignment |=| +//@[38:39) LeftBrace |{| +//@[39:40) NewLine |\n| + name: 'basicSibling' +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:24) StringComplete |'basicSibling'| +//@[24:25) NewLine |\n| + properties: { +//@[4:14) Identifier |properties| +//@[14:15) Colon |:| +//@[16:17) LeftBrace |{| +//@[17:18) NewLine |\n| + size: basicParent.properties.size +//@[6:10) Identifier |size| +//@[10:11) Colon |:| +//@[12:23) Identifier |basicParent| +//@[23:24) Dot |.| +//@[24:34) Identifier |properties| +//@[34:35) Dot |.| +//@[35:39) Identifier |size| +//@[39:40) NewLine |\n| + style: basicChild:basicGrandchild.properties.style +//@[6:11) Identifier |style| +//@[11:12) Colon |:| +//@[13:23) Identifier |basicChild| +//@[23:24) Colon |:| +//@[24:39) Identifier |basicGrandchild| +//@[39:40) Dot |.| +//@[40:50) Identifier |properties| +//@[50:51) Dot |.| +//@[51:56) Identifier |style| +//@[56:57) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +output referenceBasicChild string = basicParent:basicChild.properties.size +//@[0:6) Identifier |output| +//@[7:26) Identifier |referenceBasicChild| +//@[27:33) Identifier |string| +//@[34:35) Assignment |=| +//@[36:47) Identifier |basicParent| +//@[47:48) Colon |:| +//@[48:58) Identifier |basicChild| +//@[58:59) Dot |.| +//@[59:69) Identifier |properties| +//@[69:70) Dot |.| +//@[70:74) Identifier |size| +//@[74:75) NewLine |\n| +output referenceBasicGrandchild string = basicParent:basicChild:basicGrandchild.properties.style +//@[0:6) Identifier |output| +//@[7:31) Identifier |referenceBasicGrandchild| +//@[32:38) Identifier |string| +//@[39:40) Assignment |=| +//@[41:52) Identifier |basicParent| +//@[52:53) Colon |:| +//@[53:63) Identifier |basicChild| +//@[63:64) Colon |:| +//@[64:79) Identifier |basicGrandchild| +//@[79:80) Dot |.| +//@[80:90) Identifier |properties| +//@[90:91) Dot |.| +//@[91:96) Identifier |style| +//@[96:98) NewLine |\n\n| + +resource existingParent 'My.Rp/parentType@2020-12-01' existing = { +//@[0:8) Identifier |resource| +//@[9:23) Identifier |existingParent| +//@[24:53) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[54:62) Identifier |existing| +//@[63:64) Assignment |=| +//@[65:66) LeftBrace |{| +//@[66:67) NewLine |\n| + name: 'existingParent' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:24) StringComplete |'existingParent'| +//@[24:26) NewLine |\n\n| + + resource existingChild 'childType' existing = { +//@[2:10) Identifier |resource| +//@[11:24) Identifier |existingChild| +//@[25:36) StringComplete |'childType'| +//@[37:45) Identifier |existing| +//@[46:47) Assignment |=| +//@[48:49) LeftBrace |{| +//@[49:50) NewLine |\n| + name: 'existingChild' +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:25) StringComplete |'existingChild'| +//@[25:27) NewLine |\n\n| + + resource existingGrandchild 'grandchildType' = { +//@[4:12) Identifier |resource| +//@[13:31) Identifier |existingGrandchild| +//@[32:48) StringComplete |'grandchildType'| +//@[49:50) Assignment |=| +//@[51:52) LeftBrace |{| +//@[52:53) NewLine |\n| + name: 'existingGrandchild' +//@[6:10) Identifier |name| +//@[10:11) Colon |:| +//@[12:32) StringComplete |'existingGrandchild'| +//@[32:33) NewLine |\n| + properties: { +//@[6:16) Identifier |properties| +//@[16:17) Colon |:| +//@[18:19) LeftBrace |{| +//@[19:20) NewLine |\n| + size: existingParent.properties.size +//@[8:12) Identifier |size| +//@[12:13) Colon |:| +//@[14:28) Identifier |existingParent| +//@[28:29) Dot |.| +//@[29:39) Identifier |properties| +//@[39:40) Dot |.| +//@[40:44) Identifier |size| +//@[44:45) NewLine |\n| + style: existingChild.properties.style +//@[8:13) Identifier |style| +//@[13:14) Colon |:| +//@[15:28) Identifier |existingChild| +//@[28:29) Dot |.| +//@[29:39) Identifier |properties| +//@[39:40) Dot |.| +//@[40:45) Identifier |style| +//@[45:46) NewLine |\n| + } +//@[6:7) RightBrace |}| +//@[7:8) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +param createParent bool +//@[0:5) Identifier |param| +//@[6:18) Identifier |createParent| +//@[19:23) Identifier |bool| +//@[23:24) NewLine |\n| +param createChild bool +//@[0:5) Identifier |param| +//@[6:17) Identifier |createChild| +//@[18:22) Identifier |bool| +//@[22:23) NewLine |\n| +param createGrandchild bool +//@[0:5) Identifier |param| +//@[6:22) Identifier |createGrandchild| +//@[23:27) Identifier |bool| +//@[27:28) NewLine |\n| +resource conditionParent 'My.Rp/parentType@2020-12-01' = if (createParent) { +//@[0:8) Identifier |resource| +//@[9:24) Identifier |conditionParent| +//@[25:54) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[55:56) Assignment |=| +//@[57:59) Identifier |if| +//@[60:61) LeftParen |(| +//@[61:73) Identifier |createParent| +//@[73:74) RightParen |)| +//@[75:76) LeftBrace |{| +//@[76:77) NewLine |\n| + name: 'conditionParent' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:25) StringComplete |'conditionParent'| +//@[25:27) NewLine |\n\n| + + resource conditionChild 'childType' = if (createChild) { +//@[2:10) Identifier |resource| +//@[11:25) Identifier |conditionChild| +//@[26:37) StringComplete |'childType'| +//@[38:39) Assignment |=| +//@[40:42) Identifier |if| +//@[43:44) LeftParen |(| +//@[44:55) Identifier |createChild| +//@[55:56) RightParen |)| +//@[57:58) LeftBrace |{| +//@[58:59) NewLine |\n| + name: 'conditionChild' +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:26) StringComplete |'conditionChild'| +//@[26:28) NewLine |\n\n| + + resource conditionGrandchild 'grandchildType' = if (createGrandchild) { +//@[4:12) Identifier |resource| +//@[13:32) Identifier |conditionGrandchild| +//@[33:49) StringComplete |'grandchildType'| +//@[50:51) Assignment |=| +//@[52:54) Identifier |if| +//@[55:56) LeftParen |(| +//@[56:72) Identifier |createGrandchild| +//@[72:73) RightParen |)| +//@[74:75) LeftBrace |{| +//@[75:76) NewLine |\n| + name: 'conditionGrandchild' +//@[6:10) Identifier |name| +//@[10:11) Colon |:| +//@[12:33) StringComplete |'conditionGrandchild'| +//@[33:34) NewLine |\n| + properties: { +//@[6:16) Identifier |properties| +//@[16:17) Colon |:| +//@[18:19) LeftBrace |{| +//@[19:20) NewLine |\n| + size: conditionParent.properties.size +//@[8:12) Identifier |size| +//@[12:13) Colon |:| +//@[14:29) Identifier |conditionParent| +//@[29:30) Dot |.| +//@[30:40) Identifier |properties| +//@[40:41) Dot |.| +//@[41:45) Identifier |size| +//@[45:46) NewLine |\n| + style: conditionChild.properties.style +//@[8:13) Identifier |style| +//@[13:14) Colon |:| +//@[15:29) Identifier |conditionChild| +//@[29:30) Dot |.| +//@[30:40) Identifier |properties| +//@[40:41) Dot |.| +//@[41:46) Identifier |style| +//@[46:47) NewLine |\n| + } +//@[6:7) RightBrace |}| +//@[7:8) NewLine |\n| + } +//@[4:5) RightBrace |}| +//@[5:6) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +var items = [ +//@[0:3) Identifier |var| +//@[4:9) Identifier |items| +//@[10:11) Assignment |=| +//@[12:13) LeftSquare |[| +//@[13:14) NewLine |\n| + 'a' +//@[2:5) StringComplete |'a'| +//@[5:6) NewLine |\n| + 'b' +//@[2:5) StringComplete |'b'| +//@[5:6) NewLine |\n| +] +//@[0:1) RightSquare |]| +//@[1:2) NewLine |\n| +resource loopParent 'My.Rp/parentType@2020-12-01' = { +//@[0:8) Identifier |resource| +//@[9:19) Identifier |loopParent| +//@[20:49) StringComplete |'My.Rp/parentType@2020-12-01'| +//@[50:51) Assignment |=| +//@[52:53) LeftBrace |{| +//@[53:54) NewLine |\n| + name: 'loopParent' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:20) StringComplete |'loopParent'| +//@[20:22) NewLine |\n\n| + + resource loopChild 'childType' = [for item in items: { +//@[2:10) Identifier |resource| +//@[11:20) Identifier |loopChild| +//@[21:32) StringComplete |'childType'| +//@[33:34) Assignment |=| +//@[35:36) LeftSquare |[| +//@[36:39) Identifier |for| +//@[40:44) Identifier |item| +//@[45:47) Identifier |in| +//@[48:53) Identifier |items| +//@[53:54) Colon |:| +//@[55:56) LeftBrace |{| +//@[56:57) NewLine |\n| + name: 'loopChild' +//@[4:8) Identifier |name| +//@[8:9) Colon |:| +//@[10:21) StringComplete |'loopChild'| +//@[21:22) NewLine |\n| + }] +//@[2:3) RightBrace |}| +//@[3:4) RightSquare |]| +//@[4:5) NewLine |\n| +} +//@[0:1) RightBrace |}| +//@[1:3) NewLine |\n\n| + +output loopChildOutput string = loopParent:loopChild[0].name +//@[0:6) Identifier |output| +//@[7:22) Identifier |loopChildOutput| +//@[23:29) Identifier |string| +//@[30:31) Assignment |=| +//@[32:42) Identifier |loopParent| +//@[42:43) Colon |:| +//@[43:52) Identifier |loopChild| +//@[52:53) LeftSquare |[| +//@[53:54) Integer |0| +//@[54:55) RightSquare |]| +//@[55:56) Dot |.| +//@[56:60) Identifier |name| +//@[60:60) EndOfFile || diff --git a/src/Bicep.Core.UnitTests/Assertions/DiagnosticCollectionExtensions.cs b/src/Bicep.Core.UnitTests/Assertions/DiagnosticCollectionExtensions.cs index 02a217952b3..6c96513ae36 100644 --- a/src/Bicep.Core.UnitTests/Assertions/DiagnosticCollectionExtensions.cs +++ b/src/Bicep.Core.UnitTests/Assertions/DiagnosticCollectionExtensions.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; using System.Collections.Generic; +using System.Linq; using Bicep.Core.Diagnostics; using FluentAssertions; using FluentAssertions.Collections; @@ -23,6 +24,13 @@ public DiagnosticCollectionAssertions(IEnumerable diagnostics) { } + public AndConstraint BeEmpty() + { + AssertionExtensions.Should(Subject).BeEmpty("contained diagnostics: {0}", string.Join(Environment.NewLine, Subject.Select(d => d.ToString()))); + + return new AndConstraint(this); + } + public AndConstraint ContainDiagnostic(string code, DiagnosticLevel level, string message, string because = "", params object[] becauseArgs) { AssertionExtensions.Should(Subject).Contain(x => x.Code == code && x.Level == level && x.Message == message, because, becauseArgs); diff --git a/src/Bicep.Core.UnitTests/Parsing/ExpressionTestVisitor.cs b/src/Bicep.Core.UnitTests/Parsing/ExpressionTestVisitor.cs index 472cd7eb5aa..94043d7ed5f 100644 --- a/src/Bicep.Core.UnitTests/Parsing/ExpressionTestVisitor.cs +++ b/src/Bicep.Core.UnitTests/Parsing/ExpressionTestVisitor.cs @@ -45,6 +45,13 @@ public override void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) this.buffer.Append(')'); } + public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) + { + this.buffer.Append('('); + base.VisitResourceAccessSyntax(syntax); + this.buffer.Append(')'); + } + public override void VisitArrayAccessSyntax(ArrayAccessSyntax syntax) { this.buffer.Append('('); diff --git a/src/Bicep.Core.UnitTests/Parsing/ParserTests.cs b/src/Bicep.Core.UnitTests/Parsing/ParserTests.cs index e0a8b95dd0c..af2faeae188 100644 --- a/src/Bicep.Core.UnitTests/Parsing/ParserTests.cs +++ b/src/Bicep.Core.UnitTests/Parsing/ParserTests.cs @@ -246,9 +246,29 @@ public void PropertyAccessShouldParseSuccessfully(string text, string expected) RunExpressionTest(text, expected, typeof(PropertyAccessSyntax)); } + [DataTestMethod] + [DataRow("a:b","(a:b)")] + [DataRow("null:fail", "(null:fail)")] + [DataRow("foo():bar","(foo():bar)")] + public void ResourceAccessShouldParseSuccessfully(string text, string expected) + { + RunExpressionTest(text, expected, typeof(ResourceAccessSyntax)); + } + + // There's an ambiguity with the ternary operator that we resolve by letting ternary win when it's in between `?` and `:` + [DataTestMethod] + [DataRow("foo?bar:baz:biz","(foo?bar:(baz:biz))")] + [DataRow("foo?(bar:biz.prop1):baz:boo","(foo?(((bar:biz).prop1)):(baz:boo))")] + //[DataRow("foo:boo?bar:baz","((foo:boo)?bar:baz)")] + public void ResourceAccessShouldParseSuccessfullyWithTernaries(string text, string expected) + { + RunExpressionTest(text, expected, typeof(TernaryOperationSyntax)); + } + [DataTestMethod] [DataRow("a.b.c.foo()", "((a.b).c).foo()")] [DataRow("a.b.c.d.e.f.g.foo()", "((((((a.b).c).d).e).f).g).foo()")] + [DataRow("a:b:c.d:e:f:g.foo()", "((((((a:b):c).d):e):f):g).foo()")] public void InstanceFunctionCallShouldParseSuccessfully(string text, string expected) { RunExpressionTest(text, expected, typeof(InstanceFunctionCallSyntax)); @@ -263,6 +283,15 @@ public void MemberAccessShouldBeLeftToRightAssociative(string text, string expec RunExpressionTest(text, expected, typeof(BinaryOperationSyntax)); } + [DataTestMethod] + [DataRow("a:b:c + 0","(((a:b):c)+0)")] + [DataRow("(a:b[c]):c[d]+q()", "((((((a:b)[c])):c)[d])+q())")] + public void ResourceAccessShouldBeLeftToRightAssociative(string text, string expected) + { + // this also asserts that (), [], and . have equal precedence + RunExpressionTest(text, expected, typeof(BinaryOperationSyntax)); + } + [DataTestMethod] [DataRow("a + b.c * z[12].a && q[foo()] == c.a", "((a+((b.c)*((z[12]).a)))&&((q[foo()])==(c.a)))")] public void MemberAccessShouldHaveHighestPrecedence(string text, string expected) @@ -270,6 +299,13 @@ public void MemberAccessShouldHaveHighestPrecedence(string text, string expected RunExpressionTest(text, expected, typeof(BinaryOperationSyntax)); } + [DataTestMethod] + [DataRow("a + b:c * z[12]:a && q[foo()] == c:a", "((a+((b:c)*((z[12]):a)))&&((q[foo()])==(c:a)))")] + public void ResourceAccessShouldHaveHighestPrecedence(string text, string expected) + { + RunExpressionTest(text, expected, typeof(BinaryOperationSyntax)); + } + [DataTestMethod] [DataRow("a[b]","(a[b])")] [DataRow("1[b]", "(1[b])")] diff --git a/src/Bicep.Core.UnitTests/Resource/ResourceTypeReferenceTests.cs b/src/Bicep.Core.UnitTests/Resource/ResourceTypeReferenceTests.cs index 5df9687651b..1835ab56138 100644 --- a/src/Bicep.Core.UnitTests/Resource/ResourceTypeReferenceTests.cs +++ b/src/Bicep.Core.UnitTests/Resource/ResourceTypeReferenceTests.cs @@ -1,6 +1,5 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -using System; using Bicep.Core.Resources; using FluentAssertions; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -58,6 +57,58 @@ public void ValidType_FullyQualitifedTypeShouldBeCorrect(string value, string ex actual.Should().NotBeNull(); actual!.FullyQualifiedType.Should().Be(expectedFullyQualifiedType); } + + [DataTestMethod] + [DataRow("Microsoft.Compute/virtualMachines@2019-06-01")] // has a slash + [DataRow("Microsoft.Blueprint/blueprints/versions/artifacts@2018-11-01-preview")] // full type name + [DataRow("/artifacts@2018-11-01-preview")] // leading slash + [DataRow("artifacts@")] // version delimiter but no version + [DataRow("artifacts@2018-11-012222-preview")] // invalid version + public void TryParseSingleTypeSegment_InvalidTypeSegmentIsRejected(string value) + { + var success = ResourceTypeReference.TryParseSingleTypeSegment(value, out var type, out var version); + success.Should().BeFalse($"For input '{value}': type was '{type}', version was '{version}'"); + type.Should().BeNull(); + version.Should().BeNull(); + } + + [DataTestMethod] + [DataRow("virtualMachines", "virtualMachines", (string?)null)] + [DataRow("virtualMachines@2019-06-01", "virtualMachines", "2019-06-01")] + [DataRow("artifacts@2018-11-01-preview", "artifacts", "2018-11-01-preview")] + public void TryParseSingleTypeSegment_TypeSegmentIsParsed(string value, string expectedType, string expectedVersion) + { + var success = ResourceTypeReference.TryParseSingleTypeSegment(value, out var type, out var version); + success.Should().BeTrue($"For input '{value}': type was '{type}', version was '{version}'"); + type.Should().BeEquivalentTo(expectedType); + version.Should().BeEquivalentTo(expectedVersion); + } + + [TestMethod] + public void TryCombine_RejectsInvalidTypeSegment() + { + var baseType = ResourceTypeReference.Parse("My.RP/someType@2020-01-01"); + var typeSegments = new [] { "childType@2019-06-01", "childType/grandChildType", }; + var actual = ResourceTypeReference.TryCombine(baseType, typeSegments); + + actual.Should().BeNull(); + } + + [DataTestMethod] + [DataRow("My.RP/someType@2020-01-01", new string[]{ "childType", }, "My.RP/someType/childType@2020-01-01")] + [DataRow("My.RP/someType@2020-01-01", new string[]{ "childType", "grandchildType",}, "My.RP/someType/childType/grandchildType@2020-01-01")] + [DataRow("My.RP/someType@2020-01-01", new string[]{ "childType", "grandchildType", "greatGrandchildType"}, "My.RP/someType/childType/grandchildType/greatGrandchildType@2020-01-01")] + [DataRow("My.RP/someType@2020-01-01", new string[]{ "childType@2020-01-02", }, "My.RP/someType/childType@2020-01-02")] + [DataRow("My.RP/someType@2020-01-01", new string[]{ "childType", "grandchildType@2020-01-03", }, "My.RP/someType/childType/grandchildType@2020-01-03")] + [DataRow("My.RP/someType@2020-01-01", new string[]{ "childType@2020-01-02", "grandchildType", }, "My.RP/someType/childType/grandchildType@2020-01-02")] + public void TryCombine_CombinesValidTypeSegments(string baseTypeText, string[] typeSegments, string expected) + { + var baseType = ResourceTypeReference.Parse(baseTypeText); + var actual = ResourceTypeReference.TryCombine(baseType, typeSegments); + + actual.Should().NotBeNull(); + actual!.FormatName().Should().BeEquivalentTo(expected); + } } } diff --git a/src/Bicep.Core.UnitTests/Utils/ParserHelper.cs b/src/Bicep.Core.UnitTests/Utils/ParserHelper.cs index 9939d294fed..5c5a86bbe0e 100644 --- a/src/Bicep.Core.UnitTests/Utils/ParserHelper.cs +++ b/src/Bicep.Core.UnitTests/Utils/ParserHelper.cs @@ -15,7 +15,7 @@ public static ProgramSyntax Parse(string text) return parser.Program(); } - public static SyntaxBase ParseExpression(string text, bool allowComplexLiterals = true) => new Parser(text).Expression(allowComplexLiterals); + public static SyntaxBase ParseExpression(string text, ExpressionFlags expressionFlags = ExpressionFlags.AllowComplexLiterals) => new Parser(text).Expression(expressionFlags); } } diff --git a/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs b/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs index 4c87f6cf9c8..5b059f5ed54 100644 --- a/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs +++ b/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs @@ -10,6 +10,7 @@ using Bicep.Core.Parsing; using Bicep.Core.Resources; using Bicep.Core.Semantics; +using Bicep.Core.Syntax; using Bicep.Core.TypeSystem; namespace Bicep.Core.Diagnostics @@ -879,6 +880,31 @@ public Diagnostic RuntimePropertyNotAllowed(string property, IEnumerable TextSpan, "BCP155", $"The decorator \"{decoratorName}\" can only be attached to resource or module collections."); + + public ErrorDiagnostic InvalidResourceTypeSegment(string typeSegment) => new( + TextSpan, + "BCP156", + $"The resource type segment \"{typeSegment}\" is invalid. Nested resources must specify a single type segment, and optionally can specify an api version using the format \"@\"."); + + public ErrorDiagnostic InvalidAncestorResourceType(string resourceName) => new( + TextSpan, + "BCP157", + $"The resource type cannot be determined due to an error in containing resource \"{resourceName}\"."); + + public ErrorDiagnostic ResourceRequiredForResourceAccess(string wrongType) => new( + TextSpan, + "BCP158", + $"Cannot access nested resources of type \"{wrongType}\". A resource type is required."); + + public ErrorDiagnostic NestedResourceNotFound(string resourceName, string identifierName, IEnumerable nestedResourceNames) => new( + TextSpan, + "BCP159", + $"The resource \"{resourceName}\" does not contain a nested resource named \"{identifierName}\". Known nested resources are: {ToQuotedString(nestedResourceNames)}."); + + public ErrorDiagnostic NestedResourceNotAllowedInLoop() => new( + TextSpan, + "BCP160", + $"A nested resource cannot appear inside of a resource with a for-expression."); } public static DiagnosticBuilderInternal ForPosition(TextSpan span) diff --git a/src/Bicep.Core/Emit/EmitLimitationCalculator.cs b/src/Bicep.Core/Emit/EmitLimitationCalculator.cs index 5ac6988effa..47e15304200 100644 --- a/src/Bicep.Core/Emit/EmitLimitationCalculator.cs +++ b/src/Bicep.Core/Emit/EmitLimitationCalculator.cs @@ -83,7 +83,7 @@ private static IEnumerable GetModuleDefinitions(SemanticModel private static IEnumerable GetResourceDefinitions(SemanticModel semanticModel, ImmutableDictionary resourceScopeData) { - foreach (var resource in semanticModel.Root.ResourceDeclarations) + foreach (var resource in semanticModel.Root.GetAllResourceDeclarations()) { if (resource.DeclaringResource.IsExistingResource()) { @@ -91,9 +91,15 @@ private static IEnumerable GetResourceDefinitions(SemanticMo continue; } - if (!resourceScopeData.TryGetValue(resource, out var scopeData)) + // Determine the scope - this is either something like a resource group/subscription or another resource + ResourceSymbol? scopeSymbol; + if (resourceScopeData.TryGetValue(resource, out var scopeData) && scopeData.ResourceScopeSymbol is ResourceSymbol) { - scopeData = null; + scopeSymbol = scopeData.ResourceScopeSymbol; + } + else + { + scopeSymbol = semanticModel.ResourceAncestors.GetAncestors(resource).LastOrDefault(); } if (resource.Type is not ResourceType resourceType || resource.SafeGetBodyPropertyValue(LanguageConstants.ResourceNamePropertyName) is not StringSyntax namePropertyValue) @@ -102,7 +108,7 @@ private static IEnumerable GetResourceDefinitions(SemanticMo continue; } - yield return new ResourceDefinition(resource.Name, scopeData?.ResourceScopeSymbol, resourceType.TypeReference.FullyQualifiedType, namePropertyValue); + yield return new ResourceDefinition(resource.Name, scopeSymbol, resourceType.TypeReference.FullyQualifiedType, namePropertyValue); } } } diff --git a/src/Bicep.Core/Emit/ExpressionConverter.cs b/src/Bicep.Core/Emit/ExpressionConverter.cs index d11a2961b3c..f007dd01b73 100644 --- a/src/Bicep.Core/Emit/ExpressionConverter.cs +++ b/src/Bicep.Core/Emit/ExpressionConverter.cs @@ -8,6 +8,7 @@ using Azure.Deployments.Core.Extensions; using Azure.Deployments.Expression.Expressions; using Bicep.Core.Extensions; +using Bicep.Core.Parsing; using Bicep.Core.Resources; using Bicep.Core.Semantics; using Bicep.Core.Syntax; @@ -98,6 +99,9 @@ public LanguageExpression ConvertExpression(SyntaxBase expression) case ArrayAccessSyntax arrayAccess: return ConvertArrayAccess(arrayAccess); + case ResourceAccessSyntax resourceAccess: + return ConvertResourceAccess(resourceAccess); + case PropertyAccessSyntax propertyAccess: return ConvertPropertyAccess(propertyAccess); @@ -123,7 +127,7 @@ SyntaxBase GetArrayExpression(LocalVariableSymbol localVariable) } var inaccessibleLocals = this.context.DataFlowAnalyzer.GetInaccessibleLocalsAfterSyntaxMove(nameSyntax, newContext); - switch(inaccessibleLocals.Count) + switch (inaccessibleLocals.Count) { case 0: // moving the name expression does not produce any inaccessible locals @@ -146,13 +150,13 @@ private LanguageExpression ConvertArrayAccess(ArrayAccessSyntax arrayAccess) // if there is an array access on a resource/module reference, we have to generate differently // when constructing the reference() function call, the resource name expression needs to have its local // variable replaced with [this array access' index expression] - if (arrayAccess.BaseExpression is VariableAccessSyntax variableAccess) + if (arrayAccess.BaseExpression is VariableAccessSyntax || arrayAccess.BaseExpression is ResourceAccessSyntax) { - switch (this.context.SemanticModel.GetSymbolInfo(variableAccess)) + switch (this.context.SemanticModel.GetSymbolInfo(arrayAccess.BaseExpression)) { - case ResourceSymbol {IsCollection: true} resourceSymbol: + case ResourceSymbol { IsCollection: true } resourceSymbol: var resourceConverter = this.CreateConverterForIndexReplacement(ExpressionConverter.GetResourceNameSyntax(resourceSymbol), arrayAccess.IndexExpression, arrayAccess); - + // TODO: Can this return a language expression? return resourceConverter.ToFunctionExpression(arrayAccess.BaseExpression); @@ -206,8 +210,8 @@ private LanguageExpression ConvertPropertyAccess(PropertyAccessSyntax propertyAc return null; } - if (propertyAccess.BaseExpression is VariableAccessSyntax propVariableAccess && - context.SemanticModel.GetSymbolInfo(propVariableAccess) is ResourceSymbol resourceSymbol && + if ((propertyAccess.BaseExpression is VariableAccessSyntax || propertyAccess.BaseExpression is ResourceAccessSyntax) && + context.SemanticModel.GetSymbolInfo(propertyAccess.BaseExpression) is ResourceSymbol resourceSymbol && ConvertResourcePropertyAccess(resourceSymbol, indexExpression: null) is { } convertedSingle) { // we are doing property access on a single resource @@ -215,9 +219,9 @@ private LanguageExpression ConvertPropertyAccess(PropertyAccessSyntax propertyAc return convertedSingle; } - if(propertyAccess.BaseExpression is ArrayAccessSyntax propArrayAccess && - propArrayAccess.BaseExpression is VariableAccessSyntax arrayVariableAccess && - context.SemanticModel.GetSymbolInfo(arrayVariableAccess) is ResourceSymbol resourceCollectionSymbol && + if (propertyAccess.BaseExpression is ArrayAccessSyntax propArrayAccess && + (propArrayAccess.BaseExpression is VariableAccessSyntax || propArrayAccess.BaseExpression is ResourceAccessSyntax) && + context.SemanticModel.GetSymbolInfo(propArrayAccess.BaseExpression) is ResourceSymbol resourceCollectionSymbol && ConvertResourcePropertyAccess(resourceCollectionSymbol, propArrayAccess.IndexExpression) is { } convertedCollection) { @@ -257,16 +261,45 @@ grandChildArrayAccess.BaseExpression is VariableAccessSyntax grandGrandChildVari new JTokenExpression(propertyAccess.PropertyName.IdentifierName)); } - private LanguageExpression GetResourceNameExpression(ResourceSymbol resourceSymbol) + public LanguageExpression GetResourceNameExpression(ResourceSymbol resourceSymbol) { - SyntaxBase nameValueSyntax = GetResourceNameSyntax(resourceSymbol); - return this.ConvertExpression(nameValueSyntax); + var nameValueSyntax = GetResourceNameSyntax(resourceSymbol); + + // For a nested resource we need to compute the name + var ancestors = this.context.SemanticModel.ResourceAncestors.GetAncestors(resourceSymbol); + if (ancestors.Length == 0) + { + return ConvertExpression(nameValueSyntax); + } + + // Build an expression like '${parent.name}/${child.name}' + // + // This is a call to the `format` function with the first arg as a format string + // and the remaining args the actual name segments. + // + // args.Length = 1 (format string) + N (ancestor names) + 1 (resource name) + var args = new LanguageExpression[ancestors.Length + 2]; + + // {0}/{1}/{2}.... + var format = string.Join("/", Enumerable.Range(0, ancestors.Length + 1).Select(i => $"{{{i}}}")); + args[0] = new JTokenExpression(format); + + for (var i = 0; i < ancestors.Length; i++) + { + var ancestor = ancestors[i]; + var segment = GetResourceNameSyntax(ancestor); + args[i + 1] = ConvertExpression(segment); + } + + args[args.Length - 1] = ConvertExpression(nameValueSyntax); + + return CreateFunction("format", args); } public static SyntaxBase GetResourceNameSyntax(ResourceSymbol resourceSymbol) { // this condition should have already been validated by the type checker - return resourceSymbol.SafeGetBodyPropertyValue(LanguageConstants.ResourceNamePropertyName) ?? throw new ArgumentException($"Expected resource syntax body to contain property 'name'"); + return resourceSymbol.UnsafeGetBodyPropertyValue(LanguageConstants.ResourceNamePropertyName); } private LanguageExpression GetModuleNameExpression(ModuleSymbol moduleSymbol) @@ -374,14 +407,14 @@ private LanguageExpression GetLocalVariableExpression(LocalVariableSymbol localV case ForSyntax @for when ReferenceEquals(@for.ItemVariable, localVariableSymbol.DeclaringLocalVariable): // this is the "item" variable of a for-expression // to emit this we need to basically index the array expression by the copyIndex() function - - if(this.localReplacements.TryGetValue(localVariableSymbol, out var replacement)) + + if (this.localReplacements.TryGetValue(localVariableSymbol, out var replacement)) { // the current context has specified an expression to be used for this local variable symbol // to override the regular conversion to copyIndex() return replacement; } - + var arrayExpression = ToFunctionExpression(@for.Expression); var copyIndexName = this.context.SemanticModel.Binder.GetParent(@for) switch @@ -399,7 +432,7 @@ ObjectPropertySyntax property when property.TryGetKeyText() is { } key && Refere }; var copyIndexFunction = copyIndexName == null ? CreateFunction("copyIndex") : CreateFunction("copyIndex", new JTokenExpression(copyIndexName)); - + return AppendProperties(arrayExpression, copyIndexFunction); default: @@ -442,6 +475,18 @@ private LanguageExpression ConvertVariableAccess(VariableAccessSyntax variableAc } } + private LanguageExpression ConvertResourceAccess(ResourceAccessSyntax resourceAccessSyntax) + { + var symbol = context.SemanticModel.GetSymbolInfo(resourceAccessSyntax); + if (symbol is ResourceSymbol resourceSymbol) + { + var typeReference = EmitHelpers.GetTypeReference(resourceSymbol); + return GetReferenceExpression(resourceSymbol, typeReference, true); + } + + throw new NotImplementedException($"Encountered an unexpected symbol kind '{symbol?.Kind}' when generating a resource access expression."); + } + private LanguageExpression ConvertString(StringSyntax syntax) { if (syntax.TryGetLiteralValue() is string literalStringValue) diff --git a/src/Bicep.Core/Emit/ExpressionEmitter.cs b/src/Bicep.Core/Emit/ExpressionEmitter.cs index 98fdf326f93..3580dac023c 100644 --- a/src/Bicep.Core/Emit/ExpressionEmitter.cs +++ b/src/Bicep.Core/Emit/ExpressionEmitter.cs @@ -79,6 +79,7 @@ public void EmitExpression(SyntaxBase syntax) case FunctionCallSyntax _: case ArrayAccessSyntax _: case PropertyAccessSyntax _: + case ResourceAccessSyntax _: case VariableAccessSyntax _: EmitLanguageExpression(syntax); @@ -117,6 +118,11 @@ public void EmitResourceIdReference(ModuleSymbol moduleSymbol, SyntaxBase? index writer.WriteValue(serialized); } + public LanguageExpression GetResourceNameExpression(ResourceSymbol resourceSymbol) + { + return converter.GetResourceNameExpression(resourceSymbol); + } + public LanguageExpression GetManagementGroupResourceId(SyntaxBase managementGroupNameProperty, bool fullyQualified) => converter.GenerateManagementGroupResourceId(managementGroupNameProperty, fullyQualified); diff --git a/src/Bicep.Core/Emit/ForSyntaxValidatorVisitor.cs b/src/Bicep.Core/Emit/ForSyntaxValidatorVisitor.cs index dfa5e8b143e..acc6af43e1b 100644 --- a/src/Bicep.Core/Emit/ForSyntaxValidatorVisitor.cs +++ b/src/Bicep.Core/Emit/ForSyntaxValidatorVisitor.cs @@ -60,17 +60,26 @@ public static bool IsAddingPropertyLoopAllowed(SemanticModel semanticModel, Obje public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { + // This check is separate from IsLoopAllowedHere because this is about the appearance of a + // nested resource **inside** a loop. + if (this.semanticModel.Binder.GetNearestAncestor(syntax) is ForSyntax) + { + this.diagnosticWriter.Write(DiagnosticBuilder.ForPosition(syntax.Span).NestedResourceNotAllowedInLoop()); + } + + // Resources can be nested, support recursion of resource declarations + var previousLoopCapableTopLevelDeclaration = this.activeLoopCapableTopLevelDeclaration; this.activeLoopCapableTopLevelDeclaration = syntax; // stash the body (handles loops and conditions as well) + var previousDependsOnProperty = this.currentDependsOnProperty; this.currentDependsOnProperty = TryGetDependsOnProperty(syntax.TryGetBody()); base.VisitResourceDeclarationSyntax(syntax); - // clear the stash - this.currentDependsOnProperty = null; - - this.activeLoopCapableTopLevelDeclaration = null; + // restore state + this.currentDependsOnProperty = previousDependsOnProperty; + this.activeLoopCapableTopLevelDeclaration = previousLoopCapableTopLevelDeclaration; } public override void VisitModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) diff --git a/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs b/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs index 05df2a95edf..a6c7c5e37e3 100644 --- a/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs +++ b/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs @@ -55,11 +55,14 @@ public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax sy throw new InvalidOperationException("Unbound declaration"); } + // Resource ancestors are always dependencies. + var ancestors = this.model.ResourceAncestors.GetAncestors(resourceSymbol); + // save previous declaration as we may call this recursively var prevDeclaration = this.currentDeclaration; this.currentDeclaration = resourceSymbol; - this.resourceDependencies[resourceSymbol] = new HashSet(); + this.resourceDependencies[resourceSymbol] = new HashSet(ancestors.Select(a => new ResourceDependency(a, null))); base.VisitResourceDeclarationSyntax(syntax); // restore previous declaration diff --git a/src/Bicep.Core/Emit/ScopeHelper.cs b/src/Bicep.Core/Emit/ScopeHelper.cs index c4e18d6938f..68e32961053 100644 --- a/src/Bicep.Core/Emit/ScopeHelper.cs +++ b/src/Bicep.Core/Emit/ScopeHelper.cs @@ -354,7 +354,7 @@ void logInvalidScopeDiagnostic(IPositionable positionable, ResourceScope supplie var scopeInfo = new Dictionary(); - foreach (var resourceSymbol in semanticModel.Root.ResourceDeclarations) + foreach (var resourceSymbol in semanticModel.Root.GetAllResourceDeclarations()) { var resourceType = GetResourceType(resourceSymbol); if (resourceType is null) diff --git a/src/Bicep.Core/Emit/TemplateWriter.cs b/src/Bicep.Core/Emit/TemplateWriter.cs index 2996de680ec..0780107acb0 100644 --- a/src/Bicep.Core/Emit/TemplateWriter.cs +++ b/src/Bicep.Core/Emit/TemplateWriter.cs @@ -3,11 +3,13 @@ using System; using System.IO; +using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using Azure.Deployments.Core.Extensions; using Azure.Deployments.Expression.Expressions; using Bicep.Core.Extensions; +using Bicep.Core.Parsing; using Bicep.Core.Semantics; using Bicep.Core.Syntax; using Bicep.Core.TypeSystem; @@ -36,6 +38,7 @@ public class TemplateWriter private static readonly ImmutableHashSet ResourcePropertiesToOmit = new [] { LanguageConstants.ResourceScopePropertyName, LanguageConstants.ResourceDependsOnPropertyName, + LanguageConstants.ResourceNamePropertyName, }.ToImmutableHashSet(); private static readonly ImmutableHashSet ModulePropertiesToOmit = new [] { @@ -294,7 +297,7 @@ private void EmitResources(JsonTextWriter memoryWriter, ExpressionEmitter emitte memoryWriter.WritePropertyName("resources"); memoryWriter.WriteStartArray(); - foreach (var resourceSymbol in this.context.SemanticModel.Root.ResourceDeclarations) + foreach (var resourceSymbol in this.context.SemanticModel.Root.GetAllResourceDeclarations()) { if (resourceSymbol.DeclaringResource.IsExistingResource()) { @@ -329,30 +332,84 @@ private void EmitResource(JsonTextWriter memoryWriter, ResourceSymbol resourceSy memoryWriter.WriteStartObject(); var typeReference = EmitHelpers.GetTypeReference(resourceSymbol); - SyntaxBase body = resourceSymbol.DeclaringResource.Value; + + // Note: conditions STACK with nesting. + // + // Children inherit the conditions of their parents, etc. This avoids a problem + // where we emit a dependsOn to something that's not in the template, or not + // being evaulated i the template. + var conditions = new List(); + var loops = new List<(string name, ForSyntax @for, SyntaxBase? input)>(); + + var ancestors = this.context.SemanticModel.ResourceAncestors.GetAncestors(resourceSymbol); + foreach (var ancestor in ancestors) + { + if (ancestor.DeclaringResource.Value is IfConditionSyntax ifCondition) + { + conditions.Add(ifCondition.ConditionExpression); + } + + if (ancestor.DeclaringResource.Value is ForSyntax @for) + { + loops.Add((ancestor.Name, @for, null)); + } + } + + // Unwrap the 'real' resource body if there's a condition + var body = resourceSymbol.DeclaringResource.Value; switch (body) { case IfConditionSyntax ifCondition: body = ifCondition.Body; - emitter.EmitProperty("condition", ifCondition.ConditionExpression); + conditions.Add(ifCondition.ConditionExpression); break; case ForSyntax @for: body = @for.Body; - emitter.EmitProperty("copy", () => - { - var batchSize = GetBatchSize(resourceSymbol.DeclaringResource); - emitter.EmitCopyObject(resourceSymbol.Name, @for, input: null, batchSize: batchSize); - }); + loops.Add((resourceSymbol.Name, @for, null)); break; } + if (conditions.Count == 1) + { + emitter.EmitProperty("condition", conditions[0]); + } + else if (conditions.Count > 1) + { + var @operator = new BinaryOperationSyntax( + conditions[0], + SyntaxFactory.CreateToken(TokenType.LogicalAnd), + conditions[1]); + for (var i = 2; i < conditions.Count; i++) + { + @operator = new BinaryOperationSyntax( + @operator, + SyntaxFactory.CreateToken(TokenType.LogicalAnd), + conditions[i]); + } + + emitter.EmitProperty("condition", @operator); + } + + if (loops.Count == 1) + { + var batchSize = GetBatchSize(resourceSymbol.DeclaringResource); + emitter.EmitProperty("copy", () => emitter.EmitCopyObject(loops[0].name, loops[0].@for, loops[0].input, batchSize: batchSize)); + } + else if (loops.Count > 1) + { + throw new InvalidOperationException("nested loops are not supported"); + } + emitter.EmitProperty("type", typeReference.FullyQualifiedType); emitter.EmitProperty("apiVersion", typeReference.ApiVersion); if (context.SemanticModel.EmitLimitationInfo.ResourceScopeData.TryGetValue(resourceSymbol, out var scopeData) && scopeData.ResourceScopeSymbol is { } scopeResource) { emitter.EmitProperty("scope", () => emitter.EmitUnqualifiedResourceId(scopeResource)); } + + emitter.EmitProperty("name", emitter.GetResourceNameExpression(resourceSymbol)); + emitter.EmitObjectProperties((ObjectSyntax)body, ResourcePropertiesToOmit); this.EmitDependsOn(memoryWriter, resourceSymbol, emitter, body); diff --git a/src/Bicep.Core/Parsing/ExpressionFlags.cs b/src/Bicep.Core/Parsing/ExpressionFlags.cs new file mode 100644 index 00000000000..f63592d8505 --- /dev/null +++ b/src/Bicep.Core/Parsing/ExpressionFlags.cs @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Diagnostics; +using System.Globalization; +using System.Linq; +using Bicep.Core.Diagnostics; +using Bicep.Core.Extensions; +using Bicep.Core.Navigation; +using Bicep.Core.Syntax; + +namespace Bicep.Core.Parsing +{ + [Flags] + public enum ExpressionFlags + { + None = 0, + AllowComplexLiterals = 1, + AllowResourceDeclarations = 2, + + /// + /// Used to indicate that the expression appears directly within a colon-delimited context such as the + /// 'true' part of a ternary operator. This is used to resolve an ambiuity with the ':' operator for + /// nested resource access. + /// + InsideColonDelimitedContext = 4, + } +} \ No newline at end of file diff --git a/src/Bicep.Core/Parsing/Parser.cs b/src/Bicep.Core/Parsing/Parser.cs index c24a3105e35..1e095bc9b1f 100644 --- a/src/Bicep.Core/Parsing/Parser.cs +++ b/src/Bicep.Core/Parsing/Parser.cs @@ -148,11 +148,27 @@ private static RecoveryFlags GetSuppressionFlag(SyntaxBase precedingNode, bool p return predicate ? RecoveryFlags.None : RecoveryFlags.SuppressDiagnostics; } + private static bool HasExpressionFlag(ExpressionFlags flags, ExpressionFlags check) + { + // Use this instead of Enum.HasFlag which boxes the enum and allocates. + return (flags & check) == check; + } + + private static ExpressionFlags WithExpressionFlag(ExpressionFlags flags, ExpressionFlags set) + { + return flags | set; + } + + private static ExpressionFlags WithoutExpressionFlag(ExpressionFlags flags, ExpressionFlags unset) + { + return flags & ~unset; + } + private SyntaxBase TargetScope(IEnumerable leadingNodes) { var keyword = ExpectKeyword(LanguageConstants.TargetScopeKeyword); var assignment = this.WithRecovery(this.Assignment, RecoveryFlags.None, TokenType.NewLine); - var value = this.WithRecovery(() => this.Expression(allowComplexLiterals: true), RecoveryFlags.None, TokenType.NewLine); + var value = this.WithRecovery(() => this.Expression(ExpressionFlags.AllowComplexLiterals), RecoveryFlags.None, TokenType.NewLine); return new TargetScopeSyntax(leadingNodes, keyword, assignment, value); } @@ -167,7 +183,7 @@ private SyntaxBase Decorator() if (Check(TokenType.LeftParen)) { - var functionCall = FunctionCallAccess(identifier, true); + var functionCall = FunctionCallAccess(identifier, ExpressionFlags.AllowComplexLiterals); current = new FunctionCallSyntax( functionCall.Identifier, @@ -188,7 +204,7 @@ private SyntaxBase Decorator() if (Check(TokenType.LeftParen)) { - var functionCall = FunctionCallAccess(identifier, true); + var functionCall = FunctionCallAccess(identifier, ExpressionFlags.AllowComplexLiterals); current = new InstanceFunctionCallSyntax( current, @@ -233,7 +249,7 @@ private SyntaxBase ParameterDeclaration(IEnumerable leadingNodes) TokenType.Assignment => this.ParameterDefaultValue(), // modifier is specified - TokenType.LeftBrace => this.Object(), + TokenType.LeftBrace => this.Object(ExpressionFlags.AllowComplexLiterals), _ => throw new ExpectedTokenException(current, b => b.ExpectedParameterContinuation()) }; @@ -247,7 +263,7 @@ private SyntaxBase ParameterDeclaration(IEnumerable leadingNodes) private SyntaxBase ParameterDefaultValue() { var assignmentToken = this.Expect(TokenType.Assignment, b => b.ExpectedCharacter("=")); - SyntaxBase defaultValue = this.WithRecovery(() => this.Expression(allowComplexLiterals: true), RecoveryFlags.None, TokenType.NewLine); + SyntaxBase defaultValue = this.WithRecovery(() => this.Expression(ExpressionFlags.AllowComplexLiterals), RecoveryFlags.None, TokenType.NewLine); return new ParameterDefaultValueSyntax(assignmentToken, defaultValue); } @@ -257,7 +273,7 @@ private SyntaxBase VariableDeclaration(IEnumerable leadingNodes) var keyword = ExpectKeyword(LanguageConstants.VariableKeyword); var name = this.IdentifierWithRecovery(b => b.ExpectedVariableIdentifier(), TokenType.Assignment, TokenType.NewLine); var assignment = this.WithRecovery(this.Assignment, GetSuppressionFlag(name), TokenType.NewLine); - var value = this.WithRecovery(() => this.Expression(allowComplexLiterals: true), GetSuppressionFlag(assignment), TokenType.NewLine); + var value = this.WithRecovery(() => this.Expression(ExpressionFlags.AllowComplexLiterals), GetSuppressionFlag(assignment), TokenType.NewLine); return new VariableDeclarationSyntax(leadingNodes, keyword, name, assignment, value); } @@ -268,7 +284,7 @@ private SyntaxBase OutputDeclaration(IEnumerable leadingNodes) var name = this.IdentifierWithRecovery(b => b.ExpectedOutputIdentifier(), TokenType.Identifier, TokenType.NewLine); var type = this.WithRecovery(() => Type(b => b.ExpectedOutputType()), GetSuppressionFlag(name), TokenType.Assignment, TokenType.NewLine); var assignment = this.WithRecovery(this.Assignment, GetSuppressionFlag(type), TokenType.NewLine); - var value = this.WithRecovery(() => this.Expression(allowComplexLiterals: true), GetSuppressionFlag(assignment), TokenType.NewLine); + var value = this.WithRecovery(() => this.Expression(ExpressionFlags.AllowComplexLiterals), GetSuppressionFlag(assignment), TokenType.NewLine); return new OutputDeclarationSyntax(leadingNodes, keyword, name, type, assignment, value); } @@ -298,9 +314,9 @@ private SyntaxBase ResourceDeclaration(IEnumerable leadingNodes) var current = reader.Peek(); return current.Type switch { - TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(), - TokenType.LeftBrace => this.Object(), - TokenType.LeftSquare => this.ForExpression(requireObjectLiteral: true), + TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals), + TokenType.LeftBrace => this.Object(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals), + TokenType.LeftSquare => this.ForExpression(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals, requireObjectLiteral: true), _ => throw new ExpectedTokenException(current, b => b.ExpectBodyStartOrIfOrLoopStart()) }; }, @@ -327,9 +343,9 @@ private SyntaxBase ModuleDeclaration(IEnumerable leadingNodes) var current = reader.Peek(); return current.Type switch { - TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(), - TokenType.LeftBrace => this.Object(), - TokenType.LeftSquare => this.ForExpression(requireObjectLiteral: true), + TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(ExpressionFlags.AllowComplexLiterals), + TokenType.LeftBrace => this.Object(ExpressionFlags.AllowComplexLiterals), + TokenType.LeftSquare => this.ForExpression(ExpressionFlags.AllowComplexLiterals, requireObjectLiteral: true), _ => throw new ExpectedTokenException(current, b => b.ExpectBodyStartOrIfOrLoopStart()) }; }, @@ -355,16 +371,16 @@ private Token NewLine() return Expect(TokenType.NewLine, b => b.ExpectedNewLine()); } - public SyntaxBase Expression(bool allowComplexLiterals) + public SyntaxBase Expression(ExpressionFlags expressionFlags) { - var candidate = this.BinaryExpression(allowComplexLiterals); + var candidate = this.BinaryExpression(expressionFlags); if (this.Check(TokenType.Question)) { var question = this.reader.Read(); - var trueExpression = this.Expression(allowComplexLiterals); + var trueExpression = this.Expression(WithExpressionFlag(expressionFlags, ExpressionFlags.InsideColonDelimitedContext)); var colon = this.Expect(TokenType.Colon, b => b.ExpectedCharacter(":")); - var falseExpression = this.Expression(allowComplexLiterals); + var falseExpression = this.Expression(expressionFlags); return new TernaryOperationSyntax(candidate, question, trueExpression, colon, falseExpression); } @@ -372,9 +388,9 @@ public SyntaxBase Expression(bool allowComplexLiterals) return candidate; } - private SyntaxBase BinaryExpression(bool allowComplexLiterals, int precedence = 0) + private SyntaxBase BinaryExpression(ExpressionFlags expressionFlags, int precedence = 0) { - var current = this.UnaryExpression(allowComplexLiterals); + var current = this.UnaryExpression(expressionFlags); while (true) { @@ -391,14 +407,14 @@ private SyntaxBase BinaryExpression(bool allowComplexLiterals, int precedence = this.reader.Read(); - SyntaxBase rightExpression = this.BinaryExpression(allowComplexLiterals, operatorPrecedence); + SyntaxBase rightExpression = this.BinaryExpression(expressionFlags, operatorPrecedence); current = new BinaryOperationSyntax(current, candidateOperatorToken, rightExpression); } return current; } - private SyntaxBase UnaryExpression(bool allowComplexLiterals) + private SyntaxBase UnaryExpression(ExpressionFlags expressionFlags) { Token operatorToken = this.reader.Peek(); @@ -406,16 +422,16 @@ private SyntaxBase UnaryExpression(bool allowComplexLiterals) { this.reader.Read(); - var expression = this.MemberExpression(allowComplexLiterals); + var expression = this.MemberExpression(expressionFlags); return new UnaryOperationSyntax(operatorToken, expression); } - return this.MemberExpression(allowComplexLiterals); + return this.MemberExpression(expressionFlags); } - private SyntaxBase MemberExpression(bool allowComplexLiterals) + private SyntaxBase MemberExpression(ExpressionFlags expressionFlags) { - var current = this.PrimaryExpression(allowComplexLiterals); + var current = this.PrimaryExpression(expressionFlags); while (true) { @@ -434,7 +450,7 @@ private SyntaxBase MemberExpression(bool allowComplexLiterals) } else { - SyntaxBase indexExpression = this.Expression(allowComplexLiterals); + SyntaxBase indexExpression = this.Expression(expressionFlags); Token closeSquare = this.Expect(TokenType.RightSquare, b => b.ExpectedCharacter("]")); current = new ArrayAccessSyntax(current, openSquare, indexExpression, closeSquare); @@ -452,7 +468,7 @@ private SyntaxBase MemberExpression(bool allowComplexLiterals) if (Check(TokenType.LeftParen)) { - var functionCall = FunctionCallAccess(identifier, allowComplexLiterals); + var functionCall = FunctionCallAccess(identifier, expressionFlags); // gets instance function call current = new InstanceFunctionCallSyntax( @@ -471,13 +487,32 @@ private SyntaxBase MemberExpression(bool allowComplexLiterals) continue; } + if (this.Check(TokenType.Colon) && !HasExpressionFlag(expressionFlags, ExpressionFlags.InsideColonDelimitedContext)) + { + // colon operator (nested resource lookup) + // + // We want a ternary to bind with higher precedance than a resource-access inside the "true" part + // ex: a ? b : c -> a ? (b) : (c) and NOT a ? (b:c) + // this implies that a resource-access expression will require parenthesis inside a ternary's "true" part + // + // We can't easily do this the other way because a ternary is right-associative and member/resource access + // are left-associative. + // + // The same is true of a for-expression. A colon is used as the right-delimiter. + var colon = this.reader.Read(); + var identifier = this.IdentifierOrSkip(b => b.ExpectedFunctionOrPropertyName()); + current = new ResourceAccessSyntax(current, colon, identifier); + + continue; + } + break; } return current; } - private SyntaxBase PrimaryExpression(bool allowComplexLiterals) + private SyntaxBase PrimaryExpression(ExpressionFlags expressionFlags) { Token nextToken = this.reader.Peek(); @@ -496,12 +531,12 @@ private SyntaxBase PrimaryExpression(bool allowComplexLiterals) case TokenType.MultilineString: return this.MultilineString(); - case TokenType.LeftBrace when allowComplexLiterals: - return this.Object(); + case TokenType.LeftBrace when HasExpressionFlag(expressionFlags, ExpressionFlags.AllowComplexLiterals): + return this.Object(WithoutExpressionFlag(expressionFlags, ExpressionFlags.InsideColonDelimitedContext)); - case TokenType.LeftSquare when allowComplexLiterals: + case TokenType.LeftSquare when HasExpressionFlag(expressionFlags, ExpressionFlags.AllowComplexLiterals): return CheckKeyword(this.reader.PeekAhead(), LanguageConstants.ForKeyword) - ? this.ForExpression(requireObjectLiteral: false) + ? this.ForExpression(WithoutExpressionFlag(expressionFlags, ExpressionFlags.InsideColonDelimitedContext), requireObjectLiteral: false) : this.Array(); case TokenType.LeftBrace: @@ -509,32 +544,32 @@ private SyntaxBase PrimaryExpression(bool allowComplexLiterals) throw new ExpectedTokenException(nextToken, b => b.ComplexLiteralsNotAllowed()); case TokenType.LeftParen: - return this.ParenthesizedExpression(allowComplexLiterals); + return this.ParenthesizedExpression(WithoutExpressionFlag(expressionFlags, ExpressionFlags.InsideColonDelimitedContext)); case TokenType.Identifier: - return this.FunctionCallOrVariableAccess(allowComplexLiterals); + return this.FunctionCallOrVariableAccess(expressionFlags); default: throw new ExpectedTokenException(nextToken, b => b.UnrecognizedExpression()); } } - private SyntaxBase ParenthesizedExpression(bool allowComplexLiterals) + private SyntaxBase ParenthesizedExpression(ExpressionFlags expressionFlags) { var openParen = this.Expect(TokenType.LeftParen, b => b.ExpectedCharacter("(")); - var expression = this.WithRecovery(() => this.Expression(allowComplexLiterals), RecoveryFlags.None, TokenType.RightParen, TokenType.NewLine); + var expression = this.WithRecovery(() => this.Expression(expressionFlags), RecoveryFlags.None, TokenType.RightParen, TokenType.NewLine); var closeParen = this.WithRecovery(() => this.Expect(TokenType.RightParen, b => b.ExpectedCharacter(")")), GetSuppressionFlag(expression), TokenType.NewLine); return new ParenthesizedExpressionSyntax(openParen, expression, closeParen); } - private SyntaxBase FunctionCallOrVariableAccess(bool allowComplexLiterals) + private SyntaxBase FunctionCallOrVariableAccess(ExpressionFlags expressionFlags) { var identifier = this.Identifier(b => b.ExpectedVariableOrFunctionName()); if (Check(TokenType.LeftParen)) { - var functionCall = FunctionCallAccess(identifier, allowComplexLiterals); + var functionCall = FunctionCallAccess(identifier, expressionFlags); return new FunctionCallSyntax( functionCall.Identifier, @@ -549,11 +584,11 @@ private SyntaxBase FunctionCallOrVariableAccess(bool allowComplexLiterals) /// /// Method that gets a function call identifier, its arguments plus open and close parens /// - private (IdentifierSyntax Identifier, Token OpenParen, IEnumerable ArgumentNodes, Token CloseParen) FunctionCallAccess(IdentifierSyntax functionName, bool allowComplexLiterals) + private (IdentifierSyntax Identifier, Token OpenParen, IEnumerable ArgumentNodes, Token CloseParen) FunctionCallAccess(IdentifierSyntax functionName, ExpressionFlags expressionFlags) { var openParen = this.Expect(TokenType.LeftParen, b => b.ExpectedCharacter("(")); - var argumentNodes = FunctionCallArguments(allowComplexLiterals); + var argumentNodes = FunctionCallArguments(expressionFlags); var closeParen = this.Expect(TokenType.RightParen, b => b.ExpectedCharacter(")")); @@ -566,7 +601,7 @@ private SyntaxBase FunctionCallOrVariableAccess(bool allowComplexLiterals) /// consume the right paren token. /// /// - private IEnumerable FunctionCallArguments(bool allowComplexLiterals) + private IEnumerable FunctionCallArguments(ExpressionFlags expressionFlags) { SkippedTriviaSyntax CreateDummyArgument(Token current) => new SkippedTriviaSyntax(current.ToZeroLengthSpan(), ImmutableArray.Empty, DiagnosticBuilder.ForPosition(current.ToZeroLengthSpan()).UnrecognizedExpression().AsEnumerable()); @@ -632,7 +667,7 @@ SkippedTriviaSyntax CreateDummyArgument(Token current) => throw new ExpectedTokenException(current, b => b.ExpectedCharacter(",")); } - var expression = this.Expression(allowComplexLiterals); + var expression = this.Expression(expressionFlags); arguments.Add((expression, null)); break; @@ -772,7 +807,7 @@ private SyntaxBase InterpolableString() // Look for an expression syntax inside the interpolation 'hole' (between "${" and "}"). // The lexer doesn't allow an expression contained inside an interpolation to span multiple lines, so we can safely use recovery to look for a NewLine character. // We are also blocking complex literals (arrays and objects) from inside string interpolation - var interpExpression = WithRecovery(() => Expression(allowComplexLiterals: false), RecoveryFlags.None, TokenType.StringMiddlePiece, TokenType.StringRightPiece, TokenType.NewLine); + var interpExpression = WithRecovery(() => Expression(ExpressionFlags.None), RecoveryFlags.None, TokenType.StringMiddlePiece, TokenType.StringRightPiece, TokenType.NewLine); if (!Check(TokenType.StringMiddlePiece, TokenType.StringRightPiece, TokenType.NewLine)) { // We may have successfully parsed the expression, but have not reached the end of the expression hole. Skip to the end of the hole. @@ -882,16 +917,16 @@ private SyntaxBase LiteralValue() } } - private SyntaxBase ForExpression(bool requireObjectLiteral) + private SyntaxBase ForExpression(ExpressionFlags expressionFlags, bool requireObjectLiteral) { var openBracket = this.Expect(TokenType.LeftSquare, b => b.ExpectedCharacter("[")); var forKeyword = this.ExpectKeyword(LanguageConstants.ForKeyword); var identifier = new LocalVariableSyntax(this.IdentifierWithRecovery(b => b.ExpectedLoopVariableIdentifier(), TokenType.Identifier, TokenType.RightSquare, TokenType.NewLine)); var inKeyword = this.WithRecovery(() => this.ExpectKeyword(LanguageConstants.InKeyword), GetSuppressionFlag(identifier.Name), TokenType.RightSquare, TokenType.NewLine); - var expression = this.WithRecovery(() => this.Expression(allowComplexLiterals: true), GetSuppressionFlag(inKeyword), TokenType.Colon, TokenType.RightSquare, TokenType.NewLine); + var expression = this.WithRecovery(() => this.Expression(ExpressionFlags.AllowComplexLiterals | ExpressionFlags.InsideColonDelimitedContext), GetSuppressionFlag(inKeyword), TokenType.Colon, TokenType.RightSquare, TokenType.NewLine); var colon = this.WithRecovery(() => this.Expect(TokenType.Colon, b => b.ExpectedCharacter(":")), GetSuppressionFlag(expression), TokenType.RightSquare, TokenType.NewLine); var body = this.WithRecovery( - () => requireObjectLiteral ? this.Object() : this.Expression(allowComplexLiterals: true), + () => requireObjectLiteral ? this.Object(expressionFlags) : this.Expression(WithExpressionFlag(expressionFlags, ExpressionFlags.AllowComplexLiterals)), GetSuppressionFlag(colon), TokenType.RightSquare, TokenType.NewLine); var closeBracket = this.WithRecovery(() => this.Expect(TokenType.RightSquare, b => b.ExpectedCharacter("]")), GetSuppressionFlag(body), TokenType.RightSquare, TokenType.NewLine); @@ -958,12 +993,12 @@ private SyntaxBase ArrayItem() return this.NewLine(); } - var value = this.Expression(allowComplexLiterals: true); + var value = this.Expression(ExpressionFlags.AllowComplexLiterals); return new ArrayItemSyntax(value); }, RecoveryFlags.None, TokenType.NewLine); } - private ObjectSyntax Object() + private ObjectSyntax Object(ExpressionFlags expressionFlags) { var openBrace = Expect(TokenType.LeftBrace, b => b.ExpectedCharacter("{")); @@ -974,16 +1009,16 @@ private ObjectSyntax Object() return new ObjectSyntax(openBrace, ImmutableArray.Empty, emptyCloseBrace); } - var propertiesOrTokens = new List(); + var propertiesOrResourcesTokens = new List(); while (!this.IsAtEnd() && this.reader.Peek().Type != TokenType.RightBrace) { // this produces a property node, skipped tokens node, or just a newline token - var propertyOrToken = this.ObjectProperty(); - propertiesOrTokens.Add(propertyOrToken); + var propertyOrResourceOrToken = this.ObjectProperty(expressionFlags); + propertiesOrResourcesTokens.Add(propertyOrResourceOrToken); // if skipped tokens node is returned above, the newline is not consumed // if newline token is returned, we must not expect another (could be beginning of a new property) - if (propertyOrToken is ObjectPropertySyntax) + if (propertyOrResourceOrToken is ObjectPropertySyntax) { if (Check(TokenType.Comma)) { @@ -993,24 +1028,24 @@ private ObjectSyntax Object() token.AsEnumerable(), DiagnosticBuilder.ForPosition(token.Span).UnexpectedCommaSeparator().AsEnumerable() ); - propertiesOrTokens.Add(skippedSyntax); + propertiesOrResourcesTokens.Add(skippedSyntax); } // properties must be followed by newlines var newLine = this.WithRecoveryNullable(this.NewLineOrEof, RecoveryFlags.ConsumeTerminator, TokenType.NewLine); if (newLine != null) { - propertiesOrTokens.Add(newLine); + propertiesOrResourcesTokens.Add(newLine); } } } var closeBrace = Expect(TokenType.RightBrace, b => b.ExpectedCharacter("}")); - return new ObjectSyntax(openBrace, propertiesOrTokens, closeBrace); + return new ObjectSyntax(openBrace, propertiesOrResourcesTokens, closeBrace); } - private SyntaxBase ObjectProperty() + private SyntaxBase ObjectProperty(ExpressionFlags expressionFlags) { return this.WithRecovery(() => { @@ -1021,6 +1056,20 @@ private SyntaxBase ObjectProperty() return this.NewLine(); } + // Nested resource declarations may be allowed - but we need lookahead to avoid + // treating 'resource' as a reserved property name. + if (HasExpressionFlag(expressionFlags, ExpressionFlags.AllowResourceDeclarations) && + CheckKeyword(LanguageConstants.ResourceKeyword) && + + // You are here: |resource ... + // + // If we see a non-identifier then it's not a resource declaration, + // fall back to the property parser. + Check(this.reader.PeekAhead(), TokenType.Identifier)) + { + return this.Declaration(); + } + var key = this.WithRecovery( () => ThrowIfSkipped( () => @@ -1035,18 +1084,22 @@ private SyntaxBase ObjectProperty() TokenType.Colon, TokenType.NewLine); var colon = this.WithRecovery(() => Expect(TokenType.Colon, b => b.ExpectedCharacter(":")), GetSuppressionFlag(key), TokenType.NewLine); - var value = this.WithRecovery(() => Expression(allowComplexLiterals: true), GetSuppressionFlag(colon), TokenType.NewLine); + var value = this.WithRecovery(() => Expression(ExpressionFlags.AllowComplexLiterals), GetSuppressionFlag(colon), TokenType.NewLine); return new ObjectPropertySyntax(key, colon, value); }, RecoveryFlags.None, TokenType.NewLine); } - private SyntaxBase IfCondition() + private SyntaxBase IfCondition(ExpressionFlags expressionFlags) { var keyword = this.ExpectKeyword(LanguageConstants.IfKeyword); - var conditionExpression = this.WithRecovery(() => this.ParenthesizedExpression(true), RecoveryFlags.None, TokenType.LeftBrace, TokenType.NewLine); + var conditionExpression = this.WithRecovery( + () => this.ParenthesizedExpression(WithoutExpressionFlag(expressionFlags, ExpressionFlags.AllowResourceDeclarations)), + RecoveryFlags.None, + TokenType.LeftBrace, + TokenType.NewLine); var body = this.WithRecovery( - this.Object, + () => this.Object(expressionFlags), GetSuppressionFlag(conditionExpression, conditionExpression is ParenthesizedExpressionSyntax { CloseParen: not SkippedTriviaSyntax }), TokenType.NewLine); return new IfConditionSyntax(keyword, conditionExpression, body); @@ -1176,6 +1229,16 @@ private bool Match(params TokenType[] types) return false; } + private bool Check(Token? token, params TokenType[] types) + { + if (token is null) + { + return false; + } + + return types.Contains(token.Type); + } + private bool Check(params TokenType[] types) { if (IsAtEnd()) diff --git a/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs b/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs index 252df8e91c2..3192ca6db35 100644 --- a/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs +++ b/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs @@ -150,6 +150,9 @@ public override void VisitArrayAccessSyntax(ArrayAccessSyntax syntax) => public override void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) => this.BuildWithConcat(() => base.VisitPropertyAccessSyntax(syntax)); + public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) => + this.BuildWithConcat(() => base.VisitResourceAccessSyntax(syntax)); + public override void VisitParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) => this.BuildWithConcat(() => base.VisitParenthesizedExpressionSyntax(syntax)); diff --git a/src/Bicep.Core/Resources/ResourceTypeReference.cs b/src/Bicep.Core/Resources/ResourceTypeReference.cs index 25ac8ba40a2..3fcc75ce4db 100644 --- a/src/Bicep.Core/Resources/ResourceTypeReference.cs +++ b/src/Bicep.Core/Resources/ResourceTypeReference.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text.RegularExpressions; using Bicep.Core.Extensions; @@ -13,6 +14,8 @@ public class ResourceTypeReference { private static readonly Regex ResourceTypePattern = new Regex(@"^(?[a-z0-9][a-z0-9\.]*)(/(?[a-z0-9\-]+))+@(?(\d{4}-\d{2}-\d{2})(-(preview|alpha|beta|rc|privatepreview))?$)", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled | RegexOptions.CultureInvariant); + private static readonly Regex SingleTypePattern = new Regex(@"^(?[a-z0-9\-]+)(@(?(\d{4}-\d{2}-\d{2})(-(preview|alpha|beta|rc|privatepreview))?))?$", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled | RegexOptions.CultureInvariant); + public ResourceTypeReference(string @namespace, IEnumerable types, string apiVersion) { if (String.IsNullOrWhiteSpace(@namespace)) @@ -48,6 +51,39 @@ public ResourceTypeReference(string @namespace, IEnumerable types, strin public string FormatName() => $"{this.FullyQualifiedType}@{this.ApiVersion}"; + public bool IsParentOf(ResourceTypeReference other) + { + return + StringComparer.OrdinalIgnoreCase.Equals(this.Namespace, other.Namespace) && + + // Parent should have N types, child should have N+1, first N types should be equal + this.Types.Length + 1 == other.Types.Length && + Enumerable.SequenceEqual(this.Types, other.Types.Take(this.Types.Length), StringComparer.OrdinalIgnoreCase); + } + + public static ResourceTypeReference? TryCombine(ResourceTypeReference baseType, IEnumerable typeSegments) + { + var types = new List(baseType.Types); + + var bestVersion = baseType.ApiVersion; + foreach (var typeSegment in typeSegments) + { + if (!TryParseSingleTypeSegment(typeSegment, out var type, out var version)) + { + return null; + } + + types.Add(type); + + if (!string.IsNullOrEmpty(version)) + { + bestVersion = version; + } + } + + return new ResourceTypeReference(baseType.Namespace, types, bestVersion); + } + public static ResourceTypeReference? TryParse(string resourceType) { var match = ResourceTypePattern.Match(resourceType); @@ -65,5 +101,25 @@ public string FormatName() public static ResourceTypeReference Parse(string resourceType) => TryParse(resourceType) ?? throw new ArgumentException($"Unable to parse '{resourceType}'", nameof(resourceType)); + + public static bool TryParseSingleTypeSegment(string typeSegment, [NotNullWhen(true)] out string? type, out string? version) + { + var match = SingleTypePattern.Match(typeSegment); + if (match.Success == false) + { + type = null; + version = null; + return false; + } + + type = match.Groups["type"].Value; + version = match.Groups["version"].Value; + if (version == "") + { + version = null; + } + + return true; + } } } diff --git a/src/Bicep.Core/Semantics/Binder.cs b/src/Bicep.Core/Semantics/Binder.cs index b92de0ceaae..211163823ab 100644 --- a/src/Bicep.Core/Semantics/Binder.cs +++ b/src/Bicep.Core/Semantics/Binder.cs @@ -22,23 +22,23 @@ public Binder(SyntaxTree syntaxTree, ISymbolContext symbolContext) // TODO use lazy or some other pattern for init this.syntaxTree = syntaxTree; this.TargetScope = SyntaxHelper.GetTargetScope(syntaxTree); - var (allDeclarations, outermostScopes) = DeclarationVisitor.GetAllDeclarations(syntaxTree, symbolContext); - var uniqueDeclarations = GetUniqueDeclarations(allDeclarations); - var builtInNamespacs = GetBuiltInNamespaces(this.TargetScope); - this.bindings = GetBindings(syntaxTree, uniqueDeclarations, builtInNamespacs, outermostScopes); - this.cyclesBySymbol = GetCyclesBySymbol(syntaxTree, uniqueDeclarations, this.bindings); + var (declarations, outermostScopes) = DeclarationVisitor.GetDeclarations(syntaxTree, symbolContext); + var uniqueDeclarations = GetUniqueDeclarations(declarations); + var builtInNamespaces = GetBuiltInNamespaces(this.TargetScope); + this.bindings = GetBindings(syntaxTree, uniqueDeclarations, builtInNamespaces, outermostScopes); + this.cyclesBySymbol = GetCyclesBySymbol(syntaxTree, this.bindings); // TODO: Avoid looping 5 times? this.FileSymbol = new FileSymbol( syntaxTree.FileUri.LocalPath, syntaxTree.ProgramSyntax, - builtInNamespacs, + builtInNamespaces, outermostScopes, - allDeclarations.OfType(), - allDeclarations.OfType(), - allDeclarations.OfType(), - allDeclarations.OfType(), - allDeclarations.OfType()); + declarations.OfType(), + declarations.OfType(), + declarations.OfType(), + declarations.OfType(), + declarations.OfType()); } public ResourceScope TargetScope { get; } @@ -67,12 +67,12 @@ public IEnumerable FindReferences(Symbol symbol) => this.bindings public ImmutableArray? TryGetCycle(DeclaredSymbol declaredSymbol) => this.cyclesBySymbol.TryGetValue(declaredSymbol, out var cycle) ? cycle : null; - private static ImmutableDictionary GetUniqueDeclarations(IEnumerable allDeclarations) + private static ImmutableDictionary GetUniqueDeclarations(IEnumerable outermostDeclarations) { // in cases of duplicate declarations we will see multiple declaration symbols in the result list // for simplicitly we will bind to the first one // it may cause follow-on type errors, but there will also be errors about duplicate identifiers as well - return allDeclarations + return outermostDeclarations .ToLookup(x => x.Name, LanguageConstants.IdentifierComparer) .ToImmutableDictionary(x => x.Key, x => x.First(), LanguageConstants.IdentifierComparer); } @@ -86,21 +86,21 @@ private static ImmutableDictionary GetBuiltInNamespaces private static ImmutableDictionary GetBindings( SyntaxTree syntaxTree, - IReadOnlyDictionary uniqueDeclarations, + IReadOnlyDictionary outermostDeclarations, ImmutableDictionary builtInNamespaces, - ImmutableArray localScopes) + ImmutableArray childScopes) { // bind identifiers to declarations var bindings = new Dictionary(); - var binder = new NameBindingVisitor(uniqueDeclarations, bindings, builtInNamespaces, localScopes); + var binder = new NameBindingVisitor(outermostDeclarations, bindings, builtInNamespaces, childScopes); binder.Visit(syntaxTree.ProgramSyntax); return bindings.ToImmutableDictionary(); } - private static ImmutableDictionary> GetCyclesBySymbol(SyntaxTree syntaxTree, IReadOnlyDictionary uniqueDeclarations, IReadOnlyDictionary bindings) + private static ImmutableDictionary> GetCyclesBySymbol(SyntaxTree syntaxTree, IReadOnlyDictionary bindings) { - return CyclicCheckVisitor.FindCycles(syntaxTree.ProgramSyntax, uniqueDeclarations, bindings); + return CyclicCheckVisitor.FindCycles(syntaxTree.ProgramSyntax, bindings); } } } diff --git a/src/Bicep.Core/Semantics/DeclarationVisitor.cs b/src/Bicep.Core/Semantics/DeclarationVisitor.cs index e769e24f6b7..28213a2cf07 100644 --- a/src/Bicep.Core/Semantics/DeclarationVisitor.cs +++ b/src/Bicep.Core/Semantics/DeclarationVisitor.cs @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; -using Bicep.Core.Extensions; using Bicep.Core.Syntax; namespace Bicep.Core.Semantics @@ -12,20 +12,21 @@ public sealed class DeclarationVisitor: SyntaxVisitor { private readonly ISymbolContext context; - private readonly IList declaredSymbols; + private readonly IList declarations; private readonly IList childScopes; private readonly Stack activeScopes = new(); - private DeclarationVisitor(ISymbolContext context, IList declaredSymbols, IList childScopes) + private DeclarationVisitor(ISymbolContext context, IList declarations, IList childScopes) { this.context = context; - this.declaredSymbols = declaredSymbols; + this.declarations = declarations; this.childScopes = childScopes; } - public static (ImmutableArray, ImmutableArray) GetAllDeclarations(SyntaxTree syntaxTree, ISymbolContext symbolContext) + // Returns the list of top level declarations as well as top level scopes. + public static (ImmutableArray, ImmutableArray) GetDeclarations(SyntaxTree syntaxTree, ISymbolContext symbolContext) { // collect declarations var declarations = new List(); @@ -41,7 +42,7 @@ public override void VisitParameterDeclarationSyntax(ParameterDeclarationSyntax base.VisitParameterDeclarationSyntax(syntax); var symbol = new ParameterSymbol(this.context, syntax.Name.IdentifierName, syntax, syntax.Modifier); - this.declaredSymbols.Add(symbol); + DeclareSymbol(symbol); } public override void VisitVariableDeclarationSyntax(VariableDeclarationSyntax syntax) @@ -49,15 +50,28 @@ public override void VisitVariableDeclarationSyntax(VariableDeclarationSyntax sy base.VisitVariableDeclarationSyntax(syntax); var symbol = new VariableSymbol(this.context, syntax.Name.IdentifierName, syntax, syntax.Value); - this.declaredSymbols.Add(symbol); + DeclareSymbol(symbol); } public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { + // Create a scope for each resource body - this ensures that nested resources + // are contained within the appropriate scope. + // + // There may be additional scopes nested inside this between the resource declaration + // and the actual object body (for-loop). That's OK, in that case, this scope will + // be empty and we'll use the `for` scope for lookups. + var scope = new LocalScope(string.Empty, syntax, syntax.Value, ImmutableArray.Empty, ImmutableArray.Empty); + this.PushScope(scope); + base.VisitResourceDeclarationSyntax(syntax); + this.PopScope(); + + // The resource itself should be declared in the enclosing scope - it's accessible to nested + // resource, but also siblings. var symbol = new ResourceSymbol(this.context, syntax.Name.IdentifierName, syntax); - this.declaredSymbols.Add(symbol); + DeclareSymbol(symbol); } public override void VisitModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) @@ -65,7 +79,7 @@ public override void VisitModuleDeclarationSyntax(ModuleDeclarationSyntax syntax base.VisitModuleDeclarationSyntax(syntax); var symbol = new ModuleSymbol(this.context, syntax.Name.IdentifierName, syntax); - this.declaredSymbols.Add(symbol); + DeclareSymbol(symbol); } public override void VisitOutputDeclarationSyntax(OutputDeclarationSyntax syntax) @@ -73,21 +87,21 @@ public override void VisitOutputDeclarationSyntax(OutputDeclarationSyntax syntax base.VisitOutputDeclarationSyntax(syntax); var symbol = new OutputSymbol(this.context, syntax.Name.IdentifierName, syntax, syntax.Value); - this.declaredSymbols.Add(symbol); + DeclareSymbol(symbol); } public override void VisitForSyntax(ForSyntax syntax) { + // create new scope without any descendants + var scope = new LocalScope(string.Empty, syntax, syntax.Body, ImmutableArray.Empty, ImmutableArray.Empty); + this.PushScope(scope); + /* * We cannot add the local symbol to the list of declarations because it will * break name binding at the global namespace level */ var itemVariable = new LocalVariableSymbol(this.context, syntax.ItemVariable.Name.IdentifierName, syntax.ItemVariable); - - // create new scope without any descendants - var scope = new LocalScope(string.Empty, syntax, syntax.Body, itemVariable.AsEnumerable(), ImmutableArray.Empty); - - this.PushScope(scope); + DeclareSymbol(itemVariable); // visit the children base.VisitForSyntax(syntax); @@ -95,12 +109,29 @@ public override void VisitForSyntax(ForSyntax syntax) this.PopScope(); } + private void DeclareSymbol(DeclaredSymbol symbol) + { + if (this.activeScopes.TryPeek(out var current)) + { + current.Locals.Add(symbol); + } + else + { + this.declarations.Add(symbol); + } + } + private void PushScope(LocalScope scope) { var item = new ScopeInfo(scope); if (this.activeScopes.TryPeek(out var current)) { + if (object.ReferenceEquals(current.Scope.BindingSyntax, scope.BindingSyntax)) + { + throw new InvalidOperationException($"Attempting to redefine the scope for {current.Scope.BindingSyntax}"); + } + // add this one to the parent current.Children.Add(item); } @@ -120,7 +151,7 @@ private void PopScope() private static LocalScope MakeImmutable(ScopeInfo info) { - return info.Scope.ReplaceChildren(info.Children.Select(MakeImmutable)); + return info.Scope.ReplaceChildren(info.Children.Select(MakeImmutable)).ReplaceLocals(info.Locals); } /// @@ -137,6 +168,8 @@ public ScopeInfo(LocalScope scope) public LocalScope Scope { get; } + public IList Locals { get; } = new List(); + public IList Children { get; } = new List(); } } diff --git a/src/Bicep.Core/Semantics/FileSymbol.cs b/src/Bicep.Core/Semantics/FileSymbol.cs index ceba3da8d39..62c364f4400 100644 --- a/src/Bicep.Core/Semantics/FileSymbol.cs +++ b/src/Bicep.Core/Semantics/FileSymbol.cs @@ -34,7 +34,7 @@ public FileSymbol(string name, this.ModuleDeclarations = moduleDeclarations.ToImmutableArray(); this.OutputDeclarations = outputDeclarations.ToImmutableArray(); - this.declarationsByName = this.AllDeclarations.ToLookup(decl => decl.Name, LanguageConstants.IdentifierComparer); + this.declarationsByName = this.Declarations.ToLookup(decl => decl.Name, LanguageConstants.IdentifierComparer); } public override IEnumerable Descendants => this.ImportedNamespaces.Values @@ -66,7 +66,7 @@ public FileSymbol(string name, /// /// Returns all the top-level declaration symbols. /// - public IEnumerable AllDeclarations => this.Descendants.OfType(); + public IEnumerable Declarations => this.Descendants.OfType(); public override void Accept(SymbolVisitor visitor) { @@ -77,6 +77,8 @@ public override void Accept(SymbolVisitor visitor) public IEnumerable GetDeclarationsByName(string name) => this.declarationsByName[name]; + public IEnumerable GetAllResourceDeclarations() => ResourceSymbolVisitor.GetAllResources(this); + private sealed class DuplicateIdentifierValidatorVisitor : SymbolVisitor { private readonly ImmutableDictionary importedNamespaces; @@ -111,8 +113,8 @@ private void ValidateScope(ILanguageScope scope) // collect duplicate identifiers at this scope // declaring a variable in a local scope hides the parent scope variables, // so we don't need to look at other levels - var outputDeclarations = scope.AllDeclarations.Where(decl => decl is OutputSymbol); - var nonOutputDeclarations = scope.AllDeclarations.Where(decl => decl is not OutputSymbol); + var outputDeclarations = scope.Declarations.Where(decl => decl is OutputSymbol); + var nonOutputDeclarations = scope.Declarations.Where(decl => decl is not OutputSymbol); // all symbols apart from outputs are in the same namespace, so check for uniqueness. this.Diagnostics.AddRange( diff --git a/src/Bicep.Core/Semantics/IBinder.cs b/src/Bicep.Core/Semantics/IBinder.cs index f5101e20762..0d2b969aece 100644 --- a/src/Bicep.Core/Semantics/IBinder.cs +++ b/src/Bicep.Core/Semantics/IBinder.cs @@ -7,14 +7,12 @@ namespace Bicep.Core.Semantics { - public interface IBinder + public interface IBinder : ISyntaxHierarchy { ResourceScope TargetScope { get; } FileSymbol FileSymbol { get; } - - SyntaxBase? GetParent(SyntaxBase syntax); - + IEnumerable FindReferences(Symbol symbol); Symbol? GetSymbolInfo(SyntaxBase syntax); diff --git a/src/Bicep.Core/Semantics/ILanguageScope.cs b/src/Bicep.Core/Semantics/ILanguageScope.cs index bcfbfb57ec2..34045049c68 100644 --- a/src/Bicep.Core/Semantics/ILanguageScope.cs +++ b/src/Bicep.Core/Semantics/ILanguageScope.cs @@ -9,6 +9,6 @@ public interface ILanguageScope { IEnumerable GetDeclarationsByName(string name); - IEnumerable AllDeclarations { get; } + IEnumerable Declarations { get; } } } \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/LocalScope.cs b/src/Bicep.Core/Semantics/LocalScope.cs index 200fcd7b154..d23c4a02627 100644 --- a/src/Bicep.Core/Semantics/LocalScope.cs +++ b/src/Bicep.Core/Semantics/LocalScope.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; -using Bicep.Core.Diagnostics; using Bicep.Core.Syntax; namespace Bicep.Core.Semantics @@ -13,7 +12,7 @@ namespace Bicep.Core.Semantics /// public class LocalScope : Symbol, ILanguageScope { - public LocalScope(string name, SyntaxBase declaringSyntax, SyntaxBase bindingSyntax, IEnumerable locals, IEnumerable childScopes) + public LocalScope(string name, SyntaxBase declaringSyntax, SyntaxBase bindingSyntax, IEnumerable locals, IEnumerable childScopes) : base(name) { this.DeclaringSyntax = declaringSyntax; @@ -33,7 +32,7 @@ public LocalScope(string name, SyntaxBase declaringSyntax, SyntaxBase bindingSyn /// Identifiers within this node will first bind to symbols in this scope. Identifiers above this node will bind to the parent scope. public SyntaxBase BindingSyntax { get; } - public ImmutableArray Locals { get; } + public ImmutableArray Locals { get; } public ImmutableArray ChildScopes { get; } @@ -43,10 +42,12 @@ public LocalScope(string name, SyntaxBase declaringSyntax, SyntaxBase bindingSyn public override IEnumerable Descendants => this.ChildScopes.Concat(this.Locals); + public LocalScope ReplaceLocals(IEnumerable newLocals) => new(this.Name, this.DeclaringSyntax, this.BindingSyntax, newLocals, this.ChildScopes); + public LocalScope ReplaceChildren(IEnumerable newChildren) => new(this.Name, this.DeclaringSyntax, this.BindingSyntax, this.Locals, newChildren); public IEnumerable GetDeclarationsByName(string name) => this.Locals.Where(symbol => symbol.NameSyntax.IsValid && string.Equals(symbol.Name, name, LanguageConstants.IdentifierComparison)).ToList(); - public IEnumerable AllDeclarations => this.Locals; + public IEnumerable Declarations => this.Locals; } } \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/NameBindingVisitor.cs b/src/Bicep.Core/Semantics/NameBindingVisitor.cs index d939f0aaf39..f7552d45396 100644 --- a/src/Bicep.Core/Semantics/NameBindingVisitor.cs +++ b/src/Bicep.Core/Semantics/NameBindingVisitor.cs @@ -52,7 +52,7 @@ public override void VisitProgramSyntax(ProgramSyntax syntax) // include all the locals in the symbol table as well // since we only allow lookups by object and not by name, // a flat symbol table should be sufficient - foreach (var declaredSymbol in allLocalScopes.Values.SelectMany(scope => scope.AllDeclarations)) + foreach (var declaredSymbol in allLocalScopes.Values.SelectMany(scope => scope.Declarations)) { this.bindings.Add(declaredSymbol.DeclaringSyntax, declaredSymbol); } @@ -68,6 +68,57 @@ public override void VisitVariableAccessSyntax(VariableAccessSyntax syntax) this.bindings.Add(syntax, symbol); } + public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) + { + base.VisitResourceAccessSyntax(syntax); + + // we need to resolve which resource delaration the LHS is pointing to - and then + // validate that we can resolve the name. + this.bindings.TryGetValue(syntax.BaseExpression, out var symbol); + + if (symbol is ErrorSymbol) + { + this.bindings.Add(syntax, symbol); + return; + } + else if (symbol is null || symbol is not ResourceSymbol) + { + // symbol could be null in the case of an incomplete expression during parsing like `a:` + var error = new ErrorSymbol(DiagnosticBuilder.ForPosition(syntax.ResourceName).ResourceRequiredForResourceAccess(symbol?.Kind.ToString() ?? LanguageConstants.ErrorName)); + this.bindings.Add(syntax, error); + return; + } + + // This is the symbol of LHS and it's a valid resource. + var resourceSymbol = (ResourceSymbol)symbol; + var resourceBody = resourceSymbol.DeclaringResource.TryGetBody(); + if (resourceBody == null) + { + // If we have no body then there will be nothing to reference. + var error = new ErrorSymbol(DiagnosticBuilder.ForPosition(syntax.ResourceName).NestedResourceNotFound(resourceSymbol.Name, syntax.ResourceName.IdentifierName, nestedResourceNames: new []{ "(none)", })); + this.bindings.Add(syntax, error); + return; + } + + if (!this.allLocalScopes.TryGetValue(resourceBody, out var localScope)) + { + // code defect in the declaration visitor + throw new InvalidOperationException($"Local scope is missing for {syntax.GetType().Name} at {syntax.Span}"); + } + + var referencedResource = LookupResourceSymbolByName(localScope, syntax.ResourceName); + if (referencedResource is null) + { + var nestedResourceNames = localScope.Declarations.OfType().Select(r => r.Name); + var error = new ErrorSymbol(DiagnosticBuilder.ForPosition(syntax.ResourceName).NestedResourceNotFound(resourceSymbol.Name, syntax.ResourceName.IdentifierName, nestedResourceNames)); + this.bindings.Add(syntax, error); + return; + } + + // This is valid. + this.bindings.Add(syntax, referencedResource); + } + public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { allowedFlags = FunctionFlags.ResourceDecorator; @@ -277,7 +328,12 @@ private Symbol LookupSymbolByName(IdentifierSyntax identifierSyntax, bool isFunc // loops currently are the only source of local symbols // as a result a local scope can contain between 1 to 2 local symbols // linear search should be fine, but this should be revisited if the above is no longer holds true - scope.AllDeclarations.FirstOrDefault(symbol => string.Equals(identifierSyntax.IdentifierName, symbol.Name, LanguageConstants.IdentifierComparison)); + scope.Declarations.FirstOrDefault(symbol => string.Equals(identifierSyntax.IdentifierName, symbol.Name, LanguageConstants.IdentifierComparison)); + + private static ResourceSymbol? LookupResourceSymbolByName(ILanguageScope scope, IdentifierSyntax identifierSyntax) => + scope.Declarations + .OfType() + .FirstOrDefault(symbol => string.Equals(identifierSyntax.IdentifierName, symbol.Name, LanguageConstants.IdentifierComparison)); private Symbol LookupGlobalSymbolByName(IdentifierSyntax identifierSyntax, bool isFunctionCall) { @@ -320,6 +376,19 @@ private class ScopeCollectorVisitor: SymbolVisitor { private IDictionary ScopeMap { get; } = new Dictionary(); + + protected override void VisitInternal(Symbol node) + { + // We haven't typed checked yet, so don't visit anything that isn't a scope. + // + // Now that resources can appear in a scope, this causes problems if we visit them and try + // to get type info. + if (node is ILanguageScope) + { + base.VisitInternal(node); + } + } + public override void VisitLocalScope(LocalScope symbol) { this.ScopeMap.Add(symbol.BindingSyntax, symbol); diff --git a/src/Bicep.Core/Semantics/ResourceAncestorGraph.cs b/src/Bicep.Core/Semantics/ResourceAncestorGraph.cs new file mode 100644 index 00000000000..3dac2367291 --- /dev/null +++ b/src/Bicep.Core/Semantics/ResourceAncestorGraph.cs @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System.Collections.Generic; +using System.Collections.Immutable; +using Bicep.Core.Diagnostics; +using Bicep.Core.Syntax; + +namespace Bicep.Core.Semantics +{ + public sealed class ResourceAncestorGraph + { + private readonly ImmutableDictionary> data; + + public ResourceAncestorGraph(ImmutableDictionary> data) + { + this.data = data; + } + + // Gets the ordered list of ancestors of this resource in order from 'oldest' to 'youngest' + // this is the same order we need to compute the name of a resource using `/` separated segments in a string. + public ImmutableArray GetAncestors(ResourceSymbol resource) + { + if (data.TryGetValue(resource, out var results)) + { + return results; + } + else + { + return ImmutableArray.Empty; + } + } + + public static ResourceAncestorGraph Compute(SyntaxTree syntaxTree, IBinder binder) + { + var visitor = new ResourceAncestorVisitor(binder); + visitor.Visit(syntaxTree.ProgramSyntax); + return new ResourceAncestorGraph(visitor.Ancestry); + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/ResourceAncestorVisitor.cs b/src/Bicep.Core/Semantics/ResourceAncestorVisitor.cs new file mode 100644 index 00000000000..b4aa5183ee6 --- /dev/null +++ b/src/Bicep.Core/Semantics/ResourceAncestorVisitor.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Linq; +using Bicep.Core.Syntax; + +namespace Bicep.Core.Semantics +{ + public sealed class ResourceAncestorVisitor : SyntaxVisitor + { + private readonly IBinder binder; + private readonly Stack ancestorResources; + private readonly ImmutableDictionary>.Builder ancestry; + + public ResourceAncestorVisitor(IBinder binder) + { + this.binder = binder; + this.ancestorResources = new Stack(); + this.ancestry = ImmutableDictionary.CreateBuilder>(); + } + + public ImmutableDictionary> Ancestry + => this.ancestry.ToImmutableDictionary(); + + public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) + { + // Skip analysis for ErrorSymbol and similar cases, these are invalid cases, and won't be emitted. + var symbol = this.binder.GetSymbolInfo(syntax) as ResourceSymbol; + if (symbol is null) + { + base.VisitResourceDeclarationSyntax(syntax); + return; + } + + // We don't need to do anything here to validate types and their relationships, that was handled during type assignment. + this.ancestry.Add(symbol, ImmutableArray.CreateRange(this.ancestorResources.Reverse())); + + try + { + // This will recursively process the resource body - capture the 'current' declaration's declared resource + // type so we can validate nesting. + this.ancestorResources.Push(symbol); + base.VisitResourceDeclarationSyntax(syntax); + } + finally + { + this.ancestorResources.Pop(); + } + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/ResourceSymbol.cs b/src/Bicep.Core/Semantics/ResourceSymbol.cs index 19db79f7588..25e6d5dce98 100644 --- a/src/Bicep.Core/Semantics/ResourceSymbol.cs +++ b/src/Bicep.Core/Semantics/ResourceSymbol.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Collections.Generic; +using Bicep.Core.Resources; using Bicep.Core.Syntax; using Bicep.Core.TypeSystem; @@ -28,5 +29,20 @@ public override IEnumerable Descendants } public bool IsCollection => this.Context.TypeManager.GetTypeInfo(this.DeclaringResource) is ArrayType; + + public ResourceTypeReference? TryGetResourceTypeReference() + { + if (this.Type is ResourceType resourceType) + { + return resourceType.TypeReference; + } + + if (this.Type is ArrayType arrayType && arrayType.Item.Type is ResourceType itemType) + { + return itemType.TypeReference; + } + + return null; + } } } \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/ResourceSymbolVisitor.cs b/src/Bicep.Core/Semantics/ResourceSymbolVisitor.cs new file mode 100644 index 00000000000..262908cc014 --- /dev/null +++ b/src/Bicep.Core/Semantics/ResourceSymbolVisitor.cs @@ -0,0 +1,32 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System.Collections.Generic; +using System.Collections.Immutable; + +namespace Bicep.Core.Semantics +{ + public class ResourceSymbolVisitor : SymbolVisitor + { + public static ImmutableArray GetAllResources(Symbol symbol) + { + var resources = new List(); + var visitor = new ResourceSymbolVisitor(resources); + visitor.Visit(symbol); + + return resources.ToImmutableArray(); + } + + private readonly List resources; + + public ResourceSymbolVisitor(List resources) + { + this.resources = resources; + } + + public override void VisitResourceSymbol(ResourceSymbol symbol) + { + resources.Add(symbol); + base.VisitResourceSymbol(symbol); + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/SemanticModel.cs b/src/Bicep.Core/Semantics/SemanticModel.cs index 3b1f5ad9f08..babcc4daddc 100644 --- a/src/Bicep.Core/Semantics/SemanticModel.cs +++ b/src/Bicep.Core/Semantics/SemanticModel.cs @@ -15,6 +15,7 @@ public class SemanticModel { private readonly Lazy emitLimitationInfoLazy; private readonly Lazy symbolHierarchyLazy; + private readonly Lazy resourceAncestorsLazy; public SemanticModel(Compilation compilation, SyntaxTree syntaxTree) { @@ -42,6 +43,8 @@ public SemanticModel(Compilation compilation, SyntaxTree syntaxTree) return hierarchy; }); + this.resourceAncestorsLazy = new Lazy(() => ResourceAncestorGraph.Compute(syntaxTree, Binder)); + } public SyntaxTree SyntaxTree { get; } @@ -56,6 +59,8 @@ public SemanticModel(Compilation compilation, SyntaxTree syntaxTree) public EmitLimitationInfo EmitLimitationInfo => emitLimitationInfoLazy.Value; + public ResourceAncestorGraph ResourceAncestors => resourceAncestorsLazy.Value; + /// /// Gets all the parser and lexer diagnostics unsorted. Does not include diagnostics from the semantic model. /// diff --git a/src/Bicep.Core/Semantics/SymbolExtensions.cs b/src/Bicep.Core/Semantics/SymbolExtensions.cs index 6f45a0af0e0..38dd859cb4d 100644 --- a/src/Bicep.Core/Semantics/SymbolExtensions.cs +++ b/src/Bicep.Core/Semantics/SymbolExtensions.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using System; using Bicep.Core.Syntax; namespace Bicep.Core.Semantics @@ -13,6 +14,12 @@ public static class SymbolExtensions public static SyntaxBase? SafeGetBodyPropertyValue(this ResourceSymbol resourceSymbol, string propertyName) => SafeGetBodyProperty(resourceSymbol, propertyName)?.Value; + public static ObjectPropertySyntax UnsafeGetBodyProperty(this ResourceSymbol resourceSymbol, string propertyName) + => resourceSymbol.SafeGetBodyProperty(propertyName) ?? throw new ArgumentException($"Expected resource syntax body to contain property '{propertyName}'"); + + public static SyntaxBase UnsafeGetBodyPropertyValue(this ResourceSymbol resourceSymbol, string propertyName) + => resourceSymbol.SafeGetBodyPropertyValue(propertyName) ?? throw new ArgumentException($"Expected resource syntax body to contain property '{propertyName}'"); + public static ObjectPropertySyntax? SafeGetBodyProperty(this ModuleSymbol moduleSymbol, string propertyName) => moduleSymbol.DeclaringModule.TryGetBody()?.SafeGetPropertyByName(propertyName); diff --git a/src/Bicep.Core/Syntax/ISyntaxHierarchy.cs b/src/Bicep.Core/Syntax/ISyntaxHierarchy.cs new file mode 100644 index 00000000000..454099b6740 --- /dev/null +++ b/src/Bicep.Core/Syntax/ISyntaxHierarchy.cs @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using System.Collections.Generic; +using System.Collections.Immutable; + +namespace Bicep.Core.Syntax +{ + public interface ISyntaxHierarchy + { + /// + /// Gets the parent of the specified node. Returns null for root nodes. Throws an exception for nodes that have not been indexed. + /// + /// The node + SyntaxBase? GetParent(SyntaxBase node); + + /// + /// Gets all ancestor nodes assignable to in descending order + /// from the top of the tree. + /// + /// The syntax node. + /// The type of node to query. + /// The list of ancestors. + public ImmutableArray GetAllAncestors(SyntaxBase syntax) where TSyntax : SyntaxBase + { + var ancestors = new List(); + + SyntaxBase? next = syntax; + do + { + next = GetParent(next); + if (next is TSyntax match) + { + ancestors.Insert(0, match); + } + } + while (next is not null); + + return ancestors.ToImmutableArray(); + } + + /// + /// Gets the nearest ancestor assignable to above + /// in an ascending walk towards the root of the syntax tree. + /// + /// The syntax node. + /// The type of node to query. + /// The nearest ancestor or null. + public TSyntax? GetNearestAncestor(SyntaxBase syntax) where TSyntax : SyntaxBase + { + SyntaxBase? next = syntax; + do + { + next = GetParent(next); + if (next is TSyntax match) + { + return match; + } + } + while (next is not null); + + // Reached the top without finding a match. + return null; + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core/Syntax/ISyntaxVisitor.cs b/src/Bicep.Core/Syntax/ISyntaxVisitor.cs index af41f3a25a3..8eae7ec70fe 100644 --- a/src/Bicep.Core/Syntax/ISyntaxVisitor.cs +++ b/src/Bicep.Core/Syntax/ISyntaxVisitor.cs @@ -46,6 +46,8 @@ public interface ISyntaxVisitor void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax); + void VisitResourceAccessSyntax(ResourceAccessSyntax syntax); + void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax); void VisitSeparatedSyntaxList(SeparatedSyntaxList syntax); diff --git a/src/Bicep.Core/Syntax/ObjectSyntax.cs b/src/Bicep.Core/Syntax/ObjectSyntax.cs index 3fc032b938b..dd07cecb40b 100644 --- a/src/Bicep.Core/Syntax/ObjectSyntax.cs +++ b/src/Bicep.Core/Syntax/ObjectSyntax.cs @@ -37,5 +37,10 @@ public override TextSpan Span /// Gets the object properties. May return duplicate properties. /// public IEnumerable Properties => this.Children.OfType(); + + /// + /// Gets the child resources of this object. + /// + public IEnumerable Resources => this.Children.OfType(); } } diff --git a/src/Bicep.Core/Syntax/ResourceAccessSyntax.cs b/src/Bicep.Core/Syntax/ResourceAccessSyntax.cs new file mode 100644 index 00000000000..f6d9a6bcc4c --- /dev/null +++ b/src/Bicep.Core/Syntax/ResourceAccessSyntax.cs @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using Bicep.Core.Navigation; +using Bicep.Core.Parsing; + +namespace Bicep.Core.Syntax +{ + public class ResourceAccessSyntax : ExpressionSyntax, ISymbolReference + { + public ResourceAccessSyntax(SyntaxBase baseExpression, Token colon, IdentifierSyntax resourceName) + { + AssertTokenType(colon, nameof(colon), TokenType.Colon); + + this.BaseExpression = baseExpression; + this.Colon = colon; + this.ResourceName = resourceName; + } + + public SyntaxBase BaseExpression { get; } + + public Token Colon { get; } + + public IdentifierSyntax ResourceName { get; } + + IdentifierSyntax ISymbolReference.Name => ResourceName; + + public override void Accept(ISyntaxVisitor visitor) => visitor.VisitResourceAccessSyntax(this); + + public override TextSpan Span => TextSpan.Between(BaseExpression, ResourceName); + } +} diff --git a/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs b/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs index 4f423a021b5..02a248627d1 100644 --- a/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs +++ b/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs @@ -8,6 +8,7 @@ using Bicep.Core.Navigation; using Bicep.Core.Parsing; using Bicep.Core.Resources; +using Bicep.Core.Semantics; using Bicep.Core.TypeSystem; namespace Bicep.Core.Syntax @@ -59,7 +60,7 @@ public ResourceDeclarationSyntax(IEnumerable leadingNodes, Token key /// Returns the same value for single resource or resource loops declarations. /// /// resource type provider - public TypeSymbol GetDeclaredType(IResourceTypeProvider resourceTypeProvider) + public TypeSymbol GetDeclaredType(IBinder binder, IResourceTypeProvider resourceTypeProvider) { var stringSyntax = this.TypeString; @@ -76,10 +77,78 @@ public TypeSymbol GetDeclaredType(IResourceTypeProvider resourceTypeProvider) return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidResourceType()); } - var typeReference = ResourceTypeReference.TryParse(stringContent); - if (typeReference == null) + // Before we parse the type name we need to determine if it's a top level resource or not. + ResourceTypeReference? typeReference; + var ancestors = binder.GetAllAncestors(this); + if (ancestors.Length == 0) { - return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidResourceType()); + // This is a top level resource - the type is a fully-qualified type. + typeReference = ResourceTypeReference.TryParse(stringContent); + if (typeReference == null) + { + return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidResourceType()); + } + } + else + { + // This is a nested resource, the type name is a compound of all of the ancestor + // type names. + // + // Ex: 'My.Rp/someType@2020-01-01' -> 'someChild' -> 'someGrandchild' + + // The top-most resource must have a qualified type name. + var baseTypeStringContent = ancestors[0].TypeString?.TryGetLiteralValue(); + if (baseTypeStringContent == null) + { + return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidAncestorResourceType(ancestors[0].Name.IdentifierName)); + } + + var baseTypeReference = ResourceTypeReference.TryParse(baseTypeStringContent); + if (baseTypeReference == null) + { + return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidAncestorResourceType(ancestors[0].Name.IdentifierName)); + } + + // Collect each other ancestor resource's type. + var typeSegments = new List(); + for (var i = 1; i < ancestors.Length; i++) + { + var typeSegmentStringContent = ancestors[i].TypeString?.TryGetLiteralValue(); + if (typeSegmentStringContent == null) + { + return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidAncestorResourceType(ancestors[i].Name.IdentifierName)); + } + + typeSegments.Add(typeSegmentStringContent); + } + + // Add *this* resource's type + typeSegments.Add(stringContent); + + // If this fails, let's walk through and find the root cause. This could be confusing + // for people seeing it the first time. + typeReference = ResourceTypeReference.TryCombine(baseTypeReference, typeSegments); + if (typeReference == null) + { + // We'll special case the last one since it refers to *this* resource. We don't + // want to cascade a bunch of noisy errors for parents, they get their own errors. + for (var j = 0; j < typeSegments.Count - 1; j++) + { + if (!ResourceTypeReference.TryParseSingleTypeSegment(typeSegments[j], out _, out _)) + { + return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidAncestorResourceType(ancestors[j+1].Name.IdentifierName)); + } + } + + if (!ResourceTypeReference.TryParseSingleTypeSegment(stringContent, out _, out _)) + { + // OK this resource is the one that's wrong. + return ErrorType.Create(DiagnosticBuilder.ForPosition(this.Type).InvalidResourceTypeSegment(stringContent)); + } + + // Something went wrong, this should be unreachable. + throw new InvalidOperationException("Failed to find the root cause of an invalid compound resource type."); + } } return resourceTypeProvider.GetType(typeReference, IsExistingResource()); diff --git a/src/Bicep.Core/Syntax/SyntaxHierarchy.cs b/src/Bicep.Core/Syntax/SyntaxHierarchy.cs index ea7d77c0d4b..ac9319f57d7 100644 --- a/src/Bicep.Core/Syntax/SyntaxHierarchy.cs +++ b/src/Bicep.Core/Syntax/SyntaxHierarchy.cs @@ -2,10 +2,11 @@ // Licensed under the MIT License. using System; using System.Collections.Generic; +using System.Collections.Immutable; namespace Bicep.Core.Syntax { - public class SyntaxHierarchy + public class SyntaxHierarchy : ISyntaxHierarchy { private readonly Dictionary parentMap = new Dictionary(); @@ -36,10 +37,10 @@ public void AddRoot(SyntaxBase root) public bool IsDescendant(SyntaxBase node, SyntaxBase potentialAncestor) { var current = node; - while(current != null) + while (current != null) { current = this.GetParent(current); - if(ReferenceEquals(current,potentialAncestor)) + if (ReferenceEquals(current, potentialAncestor)) { return true; } @@ -48,7 +49,29 @@ public bool IsDescendant(SyntaxBase node, SyntaxBase potentialAncestor) return false; } - private sealed class ParentTrackingVisitor: SyntaxVisitor + /// + /// Gets all ancestor nodes assignable to in descending order + /// from the top of the tree. + /// + /// The syntax node. + /// The type of node to query. + /// The list of ancestors. + public ImmutableArray GetAllAncestors(SyntaxBase syntax) where TSyntax : SyntaxBase => + // Use default implementation + ((ISyntaxHierarchy)this).GetAllAncestors(syntax); + + /// + /// Gets the nearest ancestor assignable to above + /// in an ascending walk towards the root of the syntax tree. + /// + /// The syntax node. + /// The type of node to query. + /// The nearest ancestor or null. + public TSyntax? GetNearestAncestor(SyntaxBase syntax) where TSyntax : SyntaxBase => + // Use default implementation + ((ISyntaxHierarchy)this).GetNearestAncestor(syntax); + + private sealed class ParentTrackingVisitor : SyntaxVisitor { private readonly Dictionary parentMap; private readonly Stack currentParents = new Stack(); diff --git a/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs b/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs index 09ca34f53e5..776ccd578da 100644 --- a/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs +++ b/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs @@ -474,6 +474,21 @@ protected virtual PropertyAccessSyntax ReplacePropertyAccessSyntax(PropertyAcces } void ISyntaxVisitor.VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) => ReplaceCurrent(syntax, ReplacePropertyAccessSyntax); + protected virtual ResourceAccessSyntax ReplaceResourceAccessSyntax(ResourceAccessSyntax syntax) + { + var hasChanges = Rewrite(syntax.BaseExpression, out var baseExpression); + hasChanges |= Rewrite(syntax.Colon, out var colon); + hasChanges |= Rewrite(syntax.ResourceName, out var propertyName); + + if (!hasChanges) + { + return syntax; + } + + return new ResourceAccessSyntax(baseExpression, colon, propertyName); + } + void ISyntaxVisitor.VisitResourceAccessSyntax(ResourceAccessSyntax syntax) => ReplaceCurrent(syntax, ReplaceResourceAccessSyntax); + protected virtual ParenthesizedExpressionSyntax ReplaceParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) { var hasChanges = Rewrite(syntax.OpenParen, out var openParen); diff --git a/src/Bicep.Core/Syntax/SyntaxVisitor.cs b/src/Bicep.Core/Syntax/SyntaxVisitor.cs index c94854e1904..6cedf1d22e8 100644 --- a/src/Bicep.Core/Syntax/SyntaxVisitor.cs +++ b/src/Bicep.Core/Syntax/SyntaxVisitor.cs @@ -249,6 +249,13 @@ public virtual void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) this.Visit(syntax.PropertyName); } + public virtual void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) + { + this.Visit(syntax.BaseExpression); + this.Visit(syntax.Colon); + this.Visit(syntax.ResourceName); + } + public virtual void VisitParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) { this.Visit(syntax.OpenParen); @@ -291,9 +298,9 @@ public virtual void VisitDecoratorSyntax(DecoratorSyntax syntax) this.Visit(syntax.Expression); } - public virtual void VisitMissingDeclarationSyntax(MissingDeclarationSyntax syntax) - { - this.VisitNodes(syntax.LeadingNodes); + public virtual void VisitMissingDeclarationSyntax(MissingDeclarationSyntax syntax) + { + this.VisitNodes(syntax.LeadingNodes); } protected void VisitTokens(IEnumerable tokens) @@ -310,6 +317,6 @@ protected void VisitNodes(IEnumerable nodes) { this.Visit(node); } - } + } } } diff --git a/src/Bicep.Core/TypeSystem/CyclicCheckVisitor.cs b/src/Bicep.Core/TypeSystem/CyclicCheckVisitor.cs index 951f3ff8bea..a29e628706a 100644 --- a/src/Bicep.Core/TypeSystem/CyclicCheckVisitor.cs +++ b/src/Bicep.Core/TypeSystem/CyclicCheckVisitor.cs @@ -4,9 +4,7 @@ using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; -using Bicep.Core.Diagnostics; using Bicep.Core.Navigation; -using Bicep.Core.Parsing; using Bicep.Core.Semantics; using Bicep.Core.Syntax; using Bicep.Core.Utils; @@ -15,19 +13,17 @@ namespace Bicep.Core.TypeSystem { public sealed class CyclicCheckVisitor : SyntaxVisitor { - private readonly IReadOnlyDictionary declarations; - private readonly IReadOnlyDictionary bindings; private readonly IDictionary> declarationAccessDict; - private DeclaredSymbol? currentDeclaration; + private Stack currentDeclarations; private SyntaxBase? currentDecorator; - public static ImmutableDictionary> FindCycles(ProgramSyntax programSyntax, IReadOnlyDictionary declarations, IReadOnlyDictionary bindings) + public static ImmutableDictionary> FindCycles(ProgramSyntax programSyntax, IReadOnlyDictionary bindings) { - var visitor = new CyclicCheckVisitor(declarations, bindings); + var visitor = new CyclicCheckVisitor(bindings); visitor.Visit(programSyntax); return visitor.FindCycles(); @@ -42,34 +38,42 @@ private ImmutableDictionary> Find return CycleDetector.FindCycles(symbolGraph); } - private CyclicCheckVisitor(IReadOnlyDictionary declarations, IReadOnlyDictionary bindings) + private CyclicCheckVisitor(IReadOnlyDictionary bindings) { - this.declarations = declarations; this.bindings = bindings; this.declarationAccessDict = new Dictionary>(); + this.currentDeclarations = new Stack(); } private void VisitDeclaration(TDeclarationSyntax syntax, Action visitBaseFunc) where TDeclarationSyntax : SyntaxBase, ITopLevelNamedDeclarationSyntax { - if (!bindings.ContainsKey(syntax)) + if (!bindings.TryGetValue(syntax, out var symbol) || + symbol is not DeclaredSymbol currentDeclaration || + string.IsNullOrEmpty(currentDeclaration.Name) || + string.Equals(LanguageConstants.ErrorName, currentDeclaration.Name, StringComparison.Ordinal) || + string.Equals(LanguageConstants.MissingName, currentDeclaration.Name, StringComparison.Ordinal)) { - // If we've failed to bind the symbol, we should already have an error, and a cycle should not be possible + // If we've failed to bind the symbol to a name, we should already have an error, and a cycle should not be possible return; } - currentDeclaration = declarations[syntax.Name.IdentifierName]; + // Maintain the stack of declarations since they can be nested declarationAccessDict[currentDeclaration] = new List(); - visitBaseFunc(syntax); - currentDeclaration = null; + try + { + currentDeclarations.Push(currentDeclaration); + visitBaseFunc(syntax); + } + finally + { + currentDeclarations.Pop(); + } } public override void VisitVariableDeclarationSyntax(VariableDeclarationSyntax syntax) => VisitDeclaration(syntax, base.VisitVariableDeclarationSyntax); - public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) - => VisitDeclaration(syntax, base.VisitResourceDeclarationSyntax); - public override void VisitModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) => VisitDeclaration(syntax, base.VisitModuleDeclarationSyntax); @@ -79,9 +83,35 @@ public override void VisitOutputDeclarationSyntax(OutputDeclarationSyntax syntax public override void VisitParameterDeclarationSyntax(ParameterDeclarationSyntax syntax) => VisitDeclaration(syntax, base.VisitParameterDeclarationSyntax); + public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) + { + // Push this resource onto the stack and process its body (including children). + // + // We process *this* resource using postorder because VisitDeclaration will do + // some initialization. + VisitDeclaration(syntax, base.VisitResourceDeclarationSyntax); + + // Resources are special because a lexically nested resource implies a dependency + // They are both a source of declarations and a use of them. + if (!bindings.TryGetValue(syntax, out var symbol) || symbol is not DeclaredSymbol currentDeclaration) + { + // If we've failed to bind the symbol, we should already have an error, and a cycle should not be possible + return; + } + + if (declarationAccessDict.TryGetValue(currentDeclaration, out var accesses)) + { + // Walk all ancestors and add a reference from this resource + foreach (var ancestor in currentDeclarations.OfType()) + { + accesses.Add(ancestor.DeclaringResource); + } + } + } + public override void VisitVariableAccessSyntax(VariableAccessSyntax syntax) { - if (currentDeclaration == null) + if (!currentDeclarations.TryPeek(out var currentDeclaration)) { if (currentDecorator != null) { @@ -96,21 +126,21 @@ public override void VisitVariableAccessSyntax(VariableAccessSyntax syntax) base.VisitVariableAccessSyntax(syntax); } - public override void VisitDecoratorSyntax(DecoratorSyntax syntax) - { - this.currentDecorator = syntax; - base.VisitDecoratorSyntax(syntax); + public override void VisitDecoratorSyntax(DecoratorSyntax syntax) + { + this.currentDecorator = syntax; + base.VisitDecoratorSyntax(syntax); this.currentDecorator = null; } public override void VisitFunctionCallSyntax(FunctionCallSyntax syntax) { - if (currentDeclaration == null) + if (!currentDeclarations.TryPeek(out var currentDeclaration)) { - if (currentDecorator != null) - { - // We are inside a dangling decorator. - return; + if (currentDecorator != null) + { + // We are inside a dangling decorator. + return; } throw new ArgumentException($"Function access outside of declaration or decorator"); diff --git a/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs b/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs index 1f7a409e5e5..d56d6991113 100644 --- a/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs +++ b/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs @@ -1,10 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.InteropServices.ComTypes; +using Bicep.Core.Diagnostics; using Bicep.Core.Extensions; using Bicep.Core.Parsing; using Bicep.Core.Semantics; @@ -78,6 +80,9 @@ public DeclaredTypeManager(IResourceTypeProvider resourceTypeProvider, TypeManag case PropertyAccessSyntax propertyAccess: return GetPropertyAccessType(propertyAccess); + case ResourceAccessSyntax resourceAccess: + return GetResourceAccessType(resourceAccess); + case ArrayAccessSyntax arrayAccess: return GetArrayAccessType(arrayAccess); @@ -114,7 +119,7 @@ public DeclaredTypeManager(IResourceTypeProvider resourceTypeProvider, TypeManag private DeclaredTypeAssignment GetResourceType(ResourceDeclarationSyntax syntax) { - var declaredResourceType = syntax.GetDeclaredType(this.resourceTypeProvider); + var declaredResourceType = syntax.GetDeclaredType(this.binder, this.resourceTypeProvider); // if the value is a loop (not a condition or object), the type is an array of the declared resource type return new DeclaredTypeAssignment( @@ -144,10 +149,6 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) private DeclaredTypeAssignment? GetVariableAccessType(VariableAccessSyntax syntax) { - // references to symbols can be involved in cycles - // we should not try to obtain the declared type for such symbols because we will likely never finish - bool IsCycleFree(DeclaredSymbol declaredSymbol) => this.binder.TryGetCycle(declaredSymbol) is null; - // because all variable access nodes are normally bound to something, this should always return true // (if not, the following code handles that gracefully) var symbol = this.binder.GetSymbolInfo(syntax); @@ -187,13 +188,52 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) var baseExpressionAssignment = GetDeclaredTypeAssignment(syntax.BaseExpression); // it's ok to rely on useSyntax=true because those types have already been established + + var body = baseExpressionAssignment?.DeclaringSyntax switch + { + ResourceDeclarationSyntax resourceDeclarationSyntax => resourceDeclarationSyntax.TryGetBody(), + _ => baseExpressionAssignment?.DeclaringSyntax as ObjectSyntax, + }; return GetObjectPropertyType( baseExpressionAssignment?.Reference.Type, - baseExpressionAssignment?.DeclaringSyntax as ObjectSyntax, + body, syntax.PropertyName.IdentifierName, useSyntax: true); } + private DeclaredTypeAssignment? GetResourceAccessType(ResourceAccessSyntax syntax) + { + if (!syntax.ResourceName.IsValid) + { + return null; + } + + // We should already have a symbol, use its type. + var symbol = this.binder.GetSymbolInfo(syntax); + if (symbol == null) + { + throw new InvalidOperationException("ResourceAccessSyntax was not assigned a symbol during name binding."); + } + + if (symbol is ErrorSymbol error) + { + return new DeclaredTypeAssignment(ErrorType.Create(error.GetDiagnostics()), syntax); + } + else if (symbol is not ResourceSymbol resourceSymbol) + { + var baseType = GetDeclaredType(syntax.BaseExpression); + var typeString = baseType?.Kind.ToString() ?? LanguageConstants.ErrorName; + return new DeclaredTypeAssignment(ErrorType.Create(DiagnosticBuilder.ForPosition(syntax.ResourceName).ResourceRequiredForResourceAccess(typeString)), syntax); + } + else if (IsCycleFree(resourceSymbol)) + { + // cycle: bail + } + + // This is a valid nested resource. Return its type. + return this.GetDeclaredTypeAssignment(((ResourceSymbol)symbol).DeclaringResource.Value); + } + private DeclaredTypeAssignment? GetArrayAccessType(ArrayAccessSyntax syntax) { @@ -543,5 +583,9 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) // return the match if we have it return matchingObjectType?.Type; } + + // references to symbols can be involved in cycles + // we should not try to obtain the declared type for such symbols because we will likely never finish + private bool IsCycleFree(DeclaredSymbol declaredSymbol) => this.binder.TryGetCycle(declaredSymbol) is null; } } diff --git a/src/Bicep.Core/TypeSystem/DeployTimeConstantVisitor.cs b/src/Bicep.Core/TypeSystem/DeployTimeConstantVisitor.cs index 76e2a3af6ec..1c44778e52f 100644 --- a/src/Bicep.Core/TypeSystem/DeployTimeConstantVisitor.cs +++ b/src/Bicep.Core/TypeSystem/DeployTimeConstantVisitor.cs @@ -37,7 +37,7 @@ private DeployTimeConstantVisitor(SemanticModel model, IDiagnosticWriter diagnos public static void ValidateDeployTimeConstants(SemanticModel model, IDiagnosticWriter diagnosticWriter) { var deploymentTimeConstantVisitor = new DeployTimeConstantVisitor(model, diagnosticWriter); - foreach (var declaredSymbol in model.Root.ResourceDeclarations) + foreach (var declaredSymbol in model.Root.GetAllResourceDeclarations()) { deploymentTimeConstantVisitor.Visit(declaredSymbol.DeclaringSyntax); } @@ -54,6 +54,7 @@ public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax sy // in certain cases, errors will cause this visitor to short-circuit, // which causes state to be left over after processing a peer declaration // let's clean it up + var previousBodyType = this.bodyType; this.bodyType = null; ResetState(); @@ -74,7 +75,7 @@ public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax sy } base.VisitResourceDeclarationSyntax(syntax); - this.bodyType = null; + this.bodyType = previousBodyType; } public override void VisitModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) diff --git a/src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs b/src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs index 54a192caa24..b65e0927a04 100644 --- a/src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs +++ b/src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs @@ -200,7 +200,7 @@ public override void VisitForSyntax(ForSyntax syntax) public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) => AssignTypeWithDiagnostics(syntax, diagnostics => { - var singleResourceDeclaredType = syntax.GetDeclaredType(resourceTypeProvider); + var singleResourceDeclaredType = syntax.GetDeclaredType(binder, resourceTypeProvider); var singleOrCollectionDeclaredType = syntax.Value is ForSyntax ? new TypedArrayType(singleResourceDeclaredType, TypeSymbolValidationFlags.Default) : singleResourceDeclaredType; @@ -768,6 +768,51 @@ public override void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) } }); + public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) + => AssignTypeWithDiagnostics(syntax, diagnostics => { + var errors = new List(); + + var baseType = typeManager.GetTypeInfo(syntax.BaseExpression); + CollectErrors(errors, baseType); + + if (PropagateErrorType(errors, baseType)) + { + return ErrorType.Create(errors); + } + + if (baseType is not ResourceType) + { + // can only access children of resources + return ErrorType.Create(DiagnosticBuilder.ForPosition(syntax.ResourceName).ResourceRequiredForResourceAccess(baseType.Name)); + } + + if (!syntax.ResourceName.IsValid) + { + // the resource name is not valid + // there's already a parse error for it, so we don't need to add a type error as well + return ErrorType.Empty(); + } + + // Should have a symbol from name binding. + var symbol = binder.GetSymbolInfo(syntax); + if (symbol == null) + { + throw new InvalidOperationException("ResourceAccessSyntax was not assigned a symbol during name binding."); + } + + if (symbol is ErrorSymbol error) + { + return ErrorType.Create(error.GetDiagnostics()); + } + else if (symbol is not ResourceSymbol) + { + return ErrorType.Create(DiagnosticBuilder.ForPosition(syntax.ResourceName).ResourceRequiredForResourceAccess(baseType.Kind.ToString())); + } + + // This is a valid nested resource. Return its type. + return typeManager.GetTypeInfo(((ResourceSymbol)symbol).DeclaringResource); + }); + public override void VisitFunctionCallSyntax(FunctionCallSyntax syntax) => AssignType(syntax, () => { var errors = new List(); diff --git a/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs b/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs index ece2b006b89..9c4a27f9d0c 100644 --- a/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs +++ b/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs @@ -41,7 +41,7 @@ protected override ResourceDeclarationSyntax ReplaceResourceDeclarationSyntax(Re return syntax; } - foreach (var otherResourceSymbol in semanticModel.Root.ResourceDeclarations) + foreach (var otherResourceSymbol in semanticModel.Root.GetAllResourceDeclarations()) { if (otherResourceSymbol.Type is not ResourceType otherResourceType || otherResourceType.TypeReference.Types.Length != resourceType.TypeReference.Types.Length - 1 || diff --git a/src/Bicep.LangServer.IntegrationTests/Helpers/IntegrationTestHelper.cs b/src/Bicep.LangServer.IntegrationTests/Helpers/IntegrationTestHelper.cs index e25e2589988..a142e503f19 100644 --- a/src/Bicep.LangServer.IntegrationTests/Helpers/IntegrationTestHelper.cs +++ b/src/Bicep.LangServer.IntegrationTests/Helpers/IntegrationTestHelper.cs @@ -20,8 +20,8 @@ using System.Collections.Generic; using Bicep.Core.FileSystem; using Bicep.Core.UnitTests.FileSystem; -using Bicep.Core.Navigation; - +using Bicep.Core.Navigation; + namespace Bicep.LangServer.IntegrationTests { public static class IntegrationTestHelper @@ -112,17 +112,17 @@ public static async Task StartServerWithTextAsync(string text, public static Position GetPosition(ImmutableArray lineStarts, SyntaxBase syntax) { - if (syntax is InstanceFunctionCallSyntax instanceFunctionCall) + if (syntax is ISymbolReference reference) { // get identifier span otherwise syntax.Span returns the position from the starting position of the whole expression. // e.g. in an instance function call such as: az.resourceGroup(), syntax.Span position starts at 'az', // whereas instanceFunctionCall.Name.Span the position will start in resourceGroup() which is what it should be in this // case. - return PositionHelper.GetPosition(lineStarts, instanceFunctionCall.Name.Span.Position); + return PositionHelper.GetPosition(lineStarts, reference.Name.Span.Position); } - if (syntax is ITopLevelDeclarationSyntax declaration) - { + if (syntax is ITopLevelDeclarationSyntax declaration) + { return PositionHelper.GetPosition(lineStarts, declaration.Keyword.Span.Position); } diff --git a/src/Bicep.LangServer.IntegrationTests/HoverTests.cs b/src/Bicep.LangServer.IntegrationTests/HoverTests.cs index 5c4ddd22d88..a3c1df25a08 100644 --- a/src/Bicep.LangServer.IntegrationTests/HoverTests.cs +++ b/src/Bicep.LangServer.IntegrationTests/HoverTests.cs @@ -63,9 +63,12 @@ public async Task HoveringOverSymbolReferencesAndDeclarationsShouldProduceHovers foreach (SyntaxBase symbolReference in symbolReferences) { - var syntaxPosition = symbolReference is ITopLevelDeclarationSyntax declaration - ? declaration.Keyword.Span.Position - : symbolReference.Span.Position; + var syntaxPosition = symbolReference switch + { + ITopLevelDeclarationSyntax d => d.Keyword.Span.Position, + ResourceAccessSyntax r => r.ResourceName.Span.Position, + _ => symbolReference.Span.Position, + }; var hover = await client.RequestHover(new HoverParams { @@ -111,8 +114,8 @@ public async Task HoveringOverSymbolReferencesAndDeclarationsShouldProduceHovers [DataTestMethod] [DynamicData(nameof(GetData), DynamicDataSourceType.Method, DynamicDataDisplayNameDeclaringType = typeof(DataSet), DynamicDataDisplayName = nameof(DataSet.GetDisplayName))] public async Task HoveringOverNonHoverableElementsShouldProduceEmptyHovers(DataSet dataSet) - { - // local function + { + // local function static bool IsNonHoverable(SyntaxBase node) => !(node is PropertyAccessSyntax propertyAccessSyntax && propertyAccessSyntax.BaseExpression is ISymbolReference) && node is not ISymbolReference && diff --git a/src/Bicep.LangServer.IntegrationTests/RenameSymbolTests.cs b/src/Bicep.LangServer.IntegrationTests/RenameSymbolTests.cs index e2eb0ddccb8..a63ea54a949 100644 --- a/src/Bicep.LangServer.IntegrationTests/RenameSymbolTests.cs +++ b/src/Bicep.LangServer.IntegrationTests/RenameSymbolTests.cs @@ -45,13 +45,13 @@ public async Task RenamingIdentifierAccessOrDeclarationShouldRenameDeclarationAn .ToLookup(pair => pair.Value, pair => pair.Key); var validVariableAccessPairs = symbolTable - .Where(pair => (pair.Key is VariableAccessSyntax || pair.Key is ITopLevelNamedDeclarationSyntax) + .Where(pair => (pair.Key is VariableAccessSyntax || pair.Key is ResourceAccessSyntax || pair.Key is ITopLevelNamedDeclarationSyntax) && pair.Value.Kind != SymbolKind.Error && pair.Value.Kind != SymbolKind.Function && pair.Value.Kind != SymbolKind.Namespace // symbols whose identifiers have parse errors will have a name like or && pair.Value.Name.Contains("<") == false); - + const string expectedNewText = "NewIdentifier"; foreach (var (syntax, symbol) in validVariableAccessPairs) { diff --git a/src/Bicep.LangServer.UnitTests/BicepCompletionProviderTests.cs b/src/Bicep.LangServer.UnitTests/BicepCompletionProviderTests.cs index 16fbf44377f..f61fbb09c9a 100644 --- a/src/Bicep.LangServer.UnitTests/BicepCompletionProviderTests.cs +++ b/src/Bicep.LangServer.UnitTests/BicepCompletionProviderTests.cs @@ -198,7 +198,7 @@ param p string resourceCompletion.Kind.Should().Be(CompletionItemKind.Interface); resourceCompletion.InsertTextFormat.Should().Be(InsertTextFormat.PlainText); resourceCompletion.TextEdit!.NewText.Should().Be(expectedResource); - resourceCompletion.CommitCharacters.Should().BeNull(); + resourceCompletion.CommitCharacters.Should().BeEquivalentTo(new[]{ ":", }); resourceCompletion.Detail.Should().Be(expectedResource); const string expectedParam = "p"; @@ -305,7 +305,7 @@ param concat string resourceCompletion.Kind.Should().Be(CompletionItemKind.Interface); resourceCompletion.InsertTextFormat.Should().Be(InsertTextFormat.PlainText); resourceCompletion.TextEdit!.NewText.Should().Be(expectedResource); - resourceCompletion.CommitCharacters.Should().BeNull(); + resourceCompletion.CommitCharacters.Should().BeEquivalentTo(new []{ ":", }); resourceCompletion.Detail.Should().Be(expectedResource); const string expectedParam = "concat"; diff --git a/src/Bicep.LangServer/Completions/BicepCompletionContext.cs b/src/Bicep.LangServer/Completions/BicepCompletionContext.cs index 406e6614011..ee8b6523058 100644 --- a/src/Bicep.LangServer/Completions/BicepCompletionContext.cs +++ b/src/Bicep.LangServer/Completions/BicepCompletionContext.cs @@ -35,6 +35,7 @@ public BicepCompletionContext( ObjectPropertySyntax? property, ArraySyntax? array, PropertyAccessSyntax? propertyAccess, + ResourceAccessSyntax? resourceAccess, ArrayAccessSyntax? arrayAccess, TargetScopeSyntax? targetScope, ImmutableArray activeScopes) @@ -46,6 +47,7 @@ public BicepCompletionContext( this.Property = property; this.Array = array; this.PropertyAccess = propertyAccess; + this.ResourceAccess = resourceAccess; this.ArrayAccess = arrayAccess; this.TargetScope = targetScope; this.ActiveScopes = activeScopes; @@ -63,6 +65,8 @@ public BicepCompletionContext( public PropertyAccessSyntax? PropertyAccess { get; } + public ResourceAccessSyntax? ResourceAccess { get; } + public ArrayAccessSyntax? ArrayAccess { get; } public TargetScopeSyntax? TargetScope { get; } @@ -88,7 +92,7 @@ public static BicepCompletionContext Create(Compilation compilation, int offset) var matchingTriviaType = FindTriviaMatchingOffset(syntaxTree.ProgramSyntax, offset)?.Type; if (matchingTriviaType is not null && (matchingTriviaType == SyntaxTriviaType.MultiLineComment || matchingTriviaType == SyntaxTriviaType.SingleLineComment)) { //we're in a comment, no hints here - return new BicepCompletionContext(BicepCompletionContextKind.None, replacementRange, null, null, null, null, null, null, null, ImmutableArray.Empty); + return new BicepCompletionContext(BicepCompletionContextKind.None, replacementRange, null, null, null, null, null, null, null, null, ImmutableArray.Empty); } var topLevelDeclarationInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); @@ -96,15 +100,18 @@ public static BicepCompletionContext Create(Compilation compilation, int offset) var propertyInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); var arrayInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); var propertyAccessInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); + var resourceAccessInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); var arrayAccessInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); var targetScopeInfo = SyntaxMatcher.FindLastNodeOfType(matchingNodes); var activeScopes = ActiveScopesVisitor.GetActiveScopes(compilation.GetEntrypointSemanticModel().Root, offset); var kind = ConvertFlag(IsTopLevelDeclarationStartContext(matchingNodes, offset), BicepCompletionContextKind.TopLevelDeclarationStart) | + ConvertFlag(IsNestedResourceStartContext(matchingNodes, topLevelDeclarationInfo, objectInfo, offset), BicepCompletionContextKind.NestedResourceDeclarationStart) | GetDeclarationTypeFlags(matchingNodes, offset) | ConvertFlag(IsObjectPropertyNameContext(matchingNodes, objectInfo), BicepCompletionContextKind.ObjectPropertyName) | ConvertFlag(IsMemberAccessContext(matchingNodes, propertyAccessInfo, offset), BicepCompletionContextKind.MemberAccess) | - ConvertFlag(IsArrayIndexContext(matchingNodes,arrayAccessInfo), BicepCompletionContextKind.ArrayIndex | BicepCompletionContextKind.Expression) | + ConvertFlag(IsResourceAccessContext(matchingNodes, resourceAccessInfo, offset), BicepCompletionContextKind.ResourceAccess) | + ConvertFlag(IsArrayIndexContext(matchingNodes, arrayAccessInfo), BicepCompletionContextKind.ArrayIndex | BicepCompletionContextKind.Expression) | ConvertFlag(IsPropertyValueContext(matchingNodes, propertyInfo), BicepCompletionContextKind.PropertyValue | BicepCompletionContextKind.Expression) | ConvertFlag(IsArrayItemContext(matchingNodes, arrayInfo), BicepCompletionContextKind.ArrayItem | BicepCompletionContextKind.Expression) | ConvertFlag(IsResourceBodyContext(matchingNodes, offset), BicepCompletionContextKind.ResourceBody) | @@ -128,6 +135,7 @@ public static BicepCompletionContext Create(Compilation compilation, int offset) propertyInfo.node, arrayInfo.node, propertyAccessInfo.node, + resourceAccessInfo.node, arrayAccessInfo.node, targetScopeInfo.node, activeScopes); @@ -251,6 +259,57 @@ private static bool IsTopLevelDeclarationStartContext(List matchingN return false; } + private static bool IsNestedResourceStartContext(List matchingNodes, (SyntaxBase? node, int index) topLevelDeclarationInfo, (ObjectSyntax? node, int index) objectInfo, int offset) + { + // A nested resource must be at the top level of a resource declaration (not nested within another level of object). + if (objectInfo.node == null) + { + // none of the matching nodes are ObjectSyntax, + // so we cannot possibly be in a position to begin an object property + return false; + } + + if (topLevelDeclarationInfo.node == null || topLevelDeclarationInfo.node is not ResourceDeclarationSyntax resourceDeclarationSyntax) + { + // not inside of a resource, top level declarations are handled separately. + return false; + } + + if (!object.ReferenceEquals(resourceDeclarationSyntax.TryGetBody(), objectInfo.node)) + { + // we're inside of an object, but it's not the body of a resource. + return false; + } + + switch (matchingNodes[^1]) + { + case ObjectSyntax _: + // we are somewhere in the trivia portion of the object node (trivia span is not included in the token span) + // which is why the last node in the list of matching nodes is not a Token. + return true; + + case Token token: + int nodeCount = matchingNodes.Count - objectInfo.index; + + switch (nodeCount) + { + case 2 when token.Type == TokenType.NewLine: + return true; + + case 4 when matchingNodes[^2] is IdentifierSyntax identifier && matchingNodes[^3] is ObjectPropertySyntax property && ReferenceEquals(property.Key, identifier): + // we are in a partial or full property name + return true; + + case 4 when matchingNodes[^2] is SkippedTriviaSyntax skipped && matchingNodes[^3] is ObjectPropertySyntax property && ReferenceEquals(property.Key, skipped): + return true; + } + + break; + } + + return false; + } + private static bool IsMemberAccessContext(List matchingNodes, (PropertyAccessSyntax? node, int index) propertyAccessInfo, int offset) { return propertyAccessInfo.node != null && @@ -265,6 +324,20 @@ private static bool IsMemberAccessContext(List matchingNodes, (Prope propertyAccess => offset > propertyAccess.Dot.Span.Position)); } + private static bool IsResourceAccessContext(List matchingNodes, (ResourceAccessSyntax? node, int index) resourceAccessInfo, int offset) + { + return resourceAccessInfo.node != null && + (SyntaxMatcher.IsTailMatch( + matchingNodes, + (propertyAccess, identifier, token) => ReferenceEquals(propertyAccess.ResourceName, identifier) && token.Type == TokenType.Identifier) || + SyntaxMatcher.IsTailMatch( + matchingNodes, + (propertyAccess, token) => token.Type == TokenType.Colon && ReferenceEquals(propertyAccess.Colon, token)) || + SyntaxMatcher.IsTailMatch( + matchingNodes, + propertyAccess => offset > propertyAccess.Colon.Span.Position)); + } + private static bool IsArrayIndexContext(List matchingNodes, (ArrayAccessSyntax? node, int index) arrayAccessInfo) { return arrayAccessInfo.node != null && diff --git a/src/Bicep.LangServer/Completions/BicepCompletionContextKind.cs b/src/Bicep.LangServer/Completions/BicepCompletionContextKind.cs index 51fac61b06d..2298d91cdfd 100644 --- a/src/Bicep.LangServer/Completions/BicepCompletionContextKind.cs +++ b/src/Bicep.LangServer/Completions/BicepCompletionContextKind.cs @@ -71,20 +71,30 @@ public enum BicepCompletionContextKind /// The current location is accessing properties or methods. /// MemberAccess = 1 << 11, + + /// + /// The current location is accessing a nested resource. + /// + ResourceAccess = 1 << 12, /// /// The current location needs target scope value. /// - TargetScope = 1 << 12, + TargetScope = 1 << 13, /// /// The current location needs an array index. /// - ArrayIndex = 1 << 13, + ArrayIndex = 1 << 14, /// /// The current location needs a decorator name. /// - DecoratorName = 1 << 14, + DecoratorName = 1 << 15, + + /// + /// The current location could be the start of a nested resource declaration. + /// + NestedResourceDeclarationStart = 1 << 16, } } \ No newline at end of file diff --git a/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs b/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs index 6a733022f1a..92fd98992c9 100644 --- a/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs +++ b/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs @@ -28,6 +28,8 @@ public class BicepCompletionProvider : ICompletionProvider private static readonly Container PropertyCommitChars = new Container(":"); + private static readonly Container ResourceSymbolCommitChars = new Container(":"); + private static readonly Container PropertyAccessCommitChars = new Container("."); private IFileResolver FileResolver; @@ -46,6 +48,7 @@ public IEnumerable GetFilteredCompletions(Compilation compilatio .Concat(GetDeclarationTypeCompletions(context)) .Concat(GetObjectPropertyNameCompletions(model, context)) .Concat(GetMemberAccessCompletions(compilation, context)) + .Concat(GetResourceAccessCompletions(compilation, context)) .Concat(GetArrayIndexCompletions(compilation, context)) .Concat(GetPropertyValueCompletions(model, context)) .Concat(GetArrayItemCompletions(model, context)) @@ -113,6 +116,25 @@ private IEnumerable GetDeclarationCompletions(BicepCompletionCon yield return CreateKeywordCompletion(LanguageConstants.TargetScopeKeyword, "Target Scope keyword", context.ReplacementRange); } + + if (context.Kind.HasFlag(BicepCompletionContextKind.NestedResourceDeclarationStart)) + { + yield return CreateKeywordCompletion(LanguageConstants.ResourceKeyword, "Resource keyword", context.ReplacementRange); + + // leaving out the API version on this, because we expect its more common to inherit from the containing resource. + yield return CreateContextualSnippetCompletion(LanguageConstants.ResourceKeyword, "Nested resource with defaults", @"resource ${1:Identifier} '${2:Type}' = { + name: $3 + properties: { + $0 + } +}", context.ReplacementRange, insertTextMode: InsertTextMode.AdjustIndentation); + + yield return CreateContextualSnippetCompletion(LanguageConstants.ResourceKeyword, "Nested resource without defaults", @"resource ${1:Identifier} '${2:Type}' = { + name: $3 + $0 +} +", context.ReplacementRange, insertTextMode: InsertTextMode.AdjustIndentation); + } } private IEnumerable GetTargetScopeCompletions(SemanticModel model, BicepCompletionContext context) @@ -175,6 +197,37 @@ private IEnumerable GetResourceTypeCompletions(SemanticModel mod return Enumerable.Empty(); } + // For a nested resource, we want to filter the set of types. + // + // The strategy when *can't* filter - due to errors - to fallback to the main path and offer full completions + // then once the user corrects whatever's cause the error, they will be told to simplify the type. + if (context.EnclosingDeclaration is SyntaxBase && + model.Binder.GetNearestAncestor(context.EnclosingDeclaration) is ResourceDeclarationSyntax parentSyntax && + model.GetSymbolInfo(parentSyntax) is ResourceSymbol parentSymbol && + parentSymbol.TryGetResourceTypeReference() is ResourceTypeReference parentTypeReference) + { + // This is more complex because we allow the API version to be omitted, so we want to make a list of unique values + // for the FQT, and then create a "no version" completion + a completion for each version. + var filtered = model.Compilation.ResourceTypeProvider.GetAvailableTypes() + .Where(rt => parentTypeReference.IsParentOf(rt)) + .ToLookup(rt => rt.FullyQualifiedType); + + var index = 0; + var items = new List(); + foreach (var group in filtered.OrderBy(group => group.Key, StringComparer.OrdinalIgnoreCase)) + { + // Doesn't matter which one of the group we take, we're leaving out the version. + items.Add(CreateResourceTypeSegmentCompletion(group.First(), index++, context.ReplacementRange, includeApiVersion: false, displayApiVersion: parentTypeReference.ApiVersion)); + + foreach (var resourceType in group.OrderByDescending(rt => rt.ApiVersion)) + { + items.Add(CreateResourceTypeSegmentCompletion(resourceType, index++, context.ReplacementRange, includeApiVersion: true, displayApiVersion: resourceType.ApiVersion)); + } + } + + return items; + } + // we need to ensure that Microsoft.Compute/virtualMachines@whatever comes before Microsoft.Compute/virtualMachines/extensions@whatever // similarly, newest api versions should be shown first return model.Compilation.ResourceTypeProvider.GetAvailableTypes() @@ -323,7 +376,7 @@ IEnumerable GetAccessibleDecoratorFunctionsWithCache(NamespaceTy { // add the non-output declarations with valid identifiers at current scope var currentScope = context.ActiveScopes[depth]; - AddSymbolCompletions(completions, currentScope.AllDeclarations.Where(decl => decl.NameSyntax.IsValid && !(decl is OutputSymbol))); + AddSymbolCompletions(completions, currentScope.Declarations.Where(decl => decl.NameSyntax.IsValid && !(decl is OutputSymbol))); } } else @@ -333,7 +386,7 @@ IEnumerable GetAccessibleDecoratorFunctionsWithCache(NamespaceTy @namespace => GetAccessibleDecoratorFunctionsWithCache(@namespace.Type).Any())); // Record the names of the non-output declarations which will be used to check name clashes later. - declaredNames.UnionWith(model.Root.AllDeclarations.Where(decl => decl.NameSyntax.IsValid && decl is not OutputSymbol).Select(decl => decl.Name)); + declaredNames.UnionWith(model.Root.Declarations.Where(decl => decl.NameSyntax.IsValid && decl is not OutputSymbol).Select(decl => decl.Name)); } // get names of functions that always require to be fully qualified due to clashes between namespaces @@ -430,6 +483,27 @@ private IEnumerable GetMemberAccessCompletions(Compilation compi .Select(m => CreateSymbolCompletion(m, context.ReplacementRange))); } + private IEnumerable GetResourceAccessCompletions(Compilation compilation, BicepCompletionContext context) + { + if (!context.Kind.HasFlag(BicepCompletionContextKind.ResourceAccess) || context.ResourceAccess == null) + { + return Enumerable.Empty(); + } + + var symbol = compilation.GetEntrypointSemanticModel().GetSymbolInfo(context.ResourceAccess.BaseExpression) as ResourceSymbol; + if (symbol == null) + { + return Enumerable.Empty(); + } + + // Find child resources + var children = symbol.DeclaringResource.TryGetBody()?.Resources ?? Enumerable.Empty(); + return children + .Select(r => new { resource = r, symbol = compilation.GetEntrypointSemanticModel().GetSymbolInfo(r) as ResourceSymbol, }) + .Where(entry => entry.symbol != null) + .Select(entry => CreateSymbolCompletion(entry.symbol!, context.ReplacementRange)); + } + private IEnumerable GetArrayIndexCompletions(Compilation compilation, BicepCompletionContext context) { if (!context.Kind.HasFlag(BicepCompletionContextKind.ArrayIndex) || context.ArrayAccess == null) @@ -693,6 +767,20 @@ private static CompletionItem CreateResourceTypeCompletion(ResourceTypeReference .WithSortText(index.ToString("x8")); } + private static CompletionItem CreateResourceTypeSegmentCompletion(ResourceTypeReference resourceType, int index, Range replacementRange, bool includeApiVersion, string displayApiVersion) + { + // We create one completion with and without the API version. + var insertText = includeApiVersion ? + StringUtils.EscapeBicepString($"{resourceType.Types[^1]}@{resourceType.ApiVersion}") : + StringUtils.EscapeBicepString($"{resourceType.Types[^1]}"); + return CompletionItemBuilder.Create(CompletionItemKind.Class) + .WithLabel(insertText) + .WithPlainTextEdit(replacementRange, insertText) + .WithDocumentation($"Namespace: `{resourceType.Namespace}`{MarkdownNewLine}Type: `{resourceType.TypesString}`{MarkdownNewLine}API Version: `{displayApiVersion}`") + // 8 hex digits is probably overkill :) + .WithSortText(index.ToString("x8")); + } + private static CompletionItem CreateModulePathCompletion(string name, string path, Range replacementRange, CompletionItemKind completionItemKind, CompletionPriority priority) { path = StringUtils.EscapeBicepString(path); @@ -733,6 +821,12 @@ private static CompletionItem CreateSymbolCompletion(Symbol symbol, Range replac .WithLabel(insertText) .WithSortText(GetSortText(insertText, priority)); + if (symbol is ResourceSymbol) + { + // treat : as a commit character for the resource access operator case + completion.WithCommitCharacters(ResourceSymbolCommitChars); + } + if (symbol is FunctionSymbol function) { // for functions without any parameters on all the overloads, we should be placing the cursor after the parentheses diff --git a/src/Bicep.LangServer/Handlers/BicepDocumentSymbolHandler.cs b/src/Bicep.LangServer/Handlers/BicepDocumentSymbolHandler.cs index dd4002de90d..9b8a64aee08 100644 --- a/src/Bicep.LangServer/Handlers/BicepDocumentSymbolHandler.cs +++ b/src/Bicep.LangServer/Handlers/BicepDocumentSymbolHandler.cs @@ -52,7 +52,7 @@ private static DocumentSymbolRegistrationOptions GetSymbolRegistrationOptions() private IEnumerable GetSymbols(CompilationContext context) { - return context.Compilation.GetEntrypointSemanticModel().Root.AllDeclarations + return context.Compilation.GetEntrypointSemanticModel().Root.Declarations .OrderBy(symbol=>symbol.DeclaringSyntax.Span.Position) .Select(symbol => new SymbolInformationOrDocumentSymbol(CreateDocumentSymbol(symbol, context.LineStarts))); } diff --git a/src/Bicep.LangServer/SemanticTokenVisitor.cs b/src/Bicep.LangServer/SemanticTokenVisitor.cs index 4e976ac1ea6..a209796dbc9 100644 --- a/src/Bicep.LangServer/SemanticTokenVisitor.cs +++ b/src/Bicep.LangServer/SemanticTokenVisitor.cs @@ -132,6 +132,12 @@ public override void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) base.VisitPropertyAccessSyntax(syntax); } + public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) + { + AddTokenType(syntax.ResourceName, SemanticTokenType.Property); + base.VisitResourceAccessSyntax(syntax); + } + public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { AddTokenType(syntax.Keyword, SemanticTokenType.Keyword); diff --git a/src/Bicep.Wasm/LanguageHelpers/SemanticTokenVisitor.cs b/src/Bicep.Wasm/LanguageHelpers/SemanticTokenVisitor.cs index 7aca51660ab..3f347c97e4b 100644 --- a/src/Bicep.Wasm/LanguageHelpers/SemanticTokenVisitor.cs +++ b/src/Bicep.Wasm/LanguageHelpers/SemanticTokenVisitor.cs @@ -128,6 +128,12 @@ public override void VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) base.VisitPropertyAccessSyntax(syntax); } + public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) + { + AddTokenType(syntax.ResourceName, SemanticTokenType.Property); + base.VisitResourceAccessSyntax(syntax); + } + public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { AddTokenType(syntax.Keyword, SemanticTokenType.Keyword);