From efdb7996eef2c60eaddae78d4ec515916154e029 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:05:39 -0700 Subject: [PATCH 01/25] Bump vsce from 1.86.0 to 1.87.0 in /src/vscode-bicep (#1866) Bumps [vsce](https://github.com/Microsoft/vsce) from 1.86.0 to 1.87.0. - [Release notes](https://github.com/Microsoft/vsce/releases) - [Commits](https://github.com/Microsoft/vsce/compare/v1.86.0...v1.87.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 6 +++--- src/vscode-bicep/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index 8404a211ea7..d412c17b36b 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -8899,9 +8899,9 @@ } }, "vsce": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.86.0.tgz", - "integrity": "sha512-B+T46mvUnI2m7/AGHG0QshXNffGHiHJCha2YUZByNI8llFt9V4mksBFLt0iUY+Kx2akkQxi8gjxGeH7TfeHsIA==", + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.87.0.tgz", + "integrity": "sha512-7Ow05XxIM4gHBq/Ho3hefdmiZG0fddHtu0M0XJ1sojyZBvxPxTHaMuBsRnfnMzgCqxDTFI5iLr94AgiwQnhOMQ==", "dev": true, "requires": { "azure-devops-node-api": "^7.2.0", diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index f776ffb3703..318a5aae43e 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -115,7 +115,7 @@ "ts-loader": "^8.0.18", "ts-node": "^9.1.1", "typescript": "^4.2.3", - "vsce": "^1.86.0", + "vsce": "^1.87.0", "vscode-test": "^1.5.1", "webpack": "^5.24.4", "webpack-cli": "^4.5.0" From 8a9eb2fa82d2916dbd6985f65fe4e49bca8e7082 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:06:01 -0700 Subject: [PATCH 02/25] Bump eslint from 7.21.0 to 7.22.0 in /src/vscode-bicep (#1867) Bumps [eslint](https://github.com/eslint/eslint) from 7.21.0 to 7.22.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.21.0...v7.22.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 49 +++++++++++++++++++++--------- src/vscode-bicep/package.json | 2 +- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index d412c17b36b..d03d932b90d 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -535,6 +535,17 @@ "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + } } }, "@istanbuljs/load-nyc-config": { @@ -3233,9 +3244,9 @@ } }, "eslint": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz", - "integrity": "sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==", + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz", + "integrity": "sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -3255,7 +3266,7 @@ "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -3263,7 +3274,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -4043,9 +4054,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -4058,12 +4069,20 @@ "dev": true }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.6.0.tgz", + "integrity": "sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } } }, "globby": { @@ -8323,9 +8342,9 @@ }, "dependencies": { "ajv": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", - "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.1.tgz", + "integrity": "sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index 318a5aae43e..81b752801dd 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -102,7 +102,7 @@ "@types/webpack": "^4.41.26", "@typescript-eslint/eslint-plugin": "^4.17.0", "@typescript-eslint/parser": "^4.17.0", - "eslint": "^7.21.0", + "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-header": "^3.1.1", "eslint-plugin-jest": "^24.2.1", From d86f9f1a3dbf5ecb94c6232daa60223ef1bf0f5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:06:29 -0700 Subject: [PATCH 03/25] Bump webpack from 5.24.4 to 5.25.1 in /src/vscode-bicep (#1868) Bumps [webpack](https://github.com/webpack/webpack) from 5.24.4 to 5.25.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.24.4...v5.25.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 24 ++++++++++++------------ src/vscode-bicep/package.json | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index d03d932b90d..24e8faed902 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -2256,9 +2256,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001197", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001197.tgz", - "integrity": "sha512-8aE+sqBqtXz4G8g35Eg/XEaFr2N7rd/VQ6eABGBmNtcB8cN6qNJhMi6oSFy4UWWZgqgL3filHT8Nha4meu3tsw==", + "version": "1.0.30001200", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001200.tgz", + "integrity": "sha512-ic/jXfa6tgiPBAISWk16jRI2q8YfjxHnSG7ddSL1ptrIP8Uy11SayFrjXRAk3NumHpDb21fdTkbTxb/hOrFrnQ==", "dev": true }, "capture-exit": { @@ -3071,9 +3071,9 @@ } }, "electron-to-chromium": { - "version": "1.3.683", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.683.tgz", - "integrity": "sha512-8mFfiAesXdEdE0DhkMKO7W9U6VU/9T3VTWwZ+4g84/YMP4kgwgFtQgUxuu7FUMcvSeKSNhFQNU+WZ68BQTLT5A==", + "version": "1.3.687", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz", + "integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==", "dev": true }, "emitter-listener": { @@ -9128,9 +9128,9 @@ "dev": true }, "webpack": { - "version": "5.24.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.24.4.tgz", - "integrity": "sha512-RXOdxF9hFFFhg47BryCgyFrEyyu7Y/75/uiI2DoUiTMqysK+WczVSTppvkR47oZcmI/DPaXCiCiaXBP8QjkNpA==", + "version": "5.25.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.1.tgz", + "integrity": "sha512-dzFTJwehoLZkeHUkvMSwAgVdGL+PerfX0mke9tOWjJs4OzFctkxCqD8Zj5J387jLkC4gNqSin0/EurhH28boCg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -9159,9 +9159,9 @@ }, "dependencies": { "acorn": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", - "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true }, "enhanced-resolve": { diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index 81b752801dd..a95c1e70331 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -117,7 +117,7 @@ "typescript": "^4.2.3", "vsce": "^1.87.0", "vscode-test": "^1.5.1", - "webpack": "^5.24.4", + "webpack": "^5.25.1", "webpack-cli": "^4.5.0" }, "dependencies": { From d8d03a0a10c223a8441c0a26651455b953ad51fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:06:52 -0700 Subject: [PATCH 04/25] Bump @types/node from 14.14.33 to 14.14.34 in /src/vscode-bicep (#1864) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.33 to 14.14.34. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 6 +++--- src/vscode-bicep/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index 24e8faed902..05f34d49820 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -1189,9 +1189,9 @@ "dev": true }, "@types/node": { - "version": "14.14.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz", - "integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==" + "version": "14.14.34", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.34.tgz", + "integrity": "sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA==" }, "@types/node-fetch": { "version": "2.5.8", diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index a95c1e70331..d7f90e10671 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -95,7 +95,7 @@ "devDependencies": { "@types/jest": "^26.0.20", "@types/mocha": "^8.2.1", - "@types/node": "^14.14.33", + "@types/node": "^14.14.34", "@types/semver": "^7.3.4", "@types/triple-beam": "^1.3.2", "@types/vscode": "^1.52.0", From 85afbd302b60298c4e0e9ec69a5a6d778b18a5c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:07:15 -0700 Subject: [PATCH 05/25] Bump eslint-plugin-jest from 24.2.1 to 24.3.1 in /src/vscode-bicep (#1865) Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 24.2.1 to 24.3.1. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v24.2.1...v24.3.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 6 +++--- src/vscode-bicep/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index 05f34d49820..7852624fea5 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -3324,9 +3324,9 @@ "dev": true }, "eslint-plugin-jest": { - "version": "24.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.2.1.tgz", - "integrity": "sha512-s24ve8WUu3DLVidvlSzaqlOpTZre9lTkZTAO+a7X0WMtj8HraWTiTEkW3pbDT1xVxqEHMWSv+Kx7MyqR50nhBw==", + "version": "24.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.1.tgz", + "integrity": "sha512-RQt59rfMSHyvedImT72iaf8JcvCcR4P7Uq499dALtjY8mrCjbwWrFi1UceG4sid2wVIeDi+0tjxXZ8CZEVO7Zw==", "dev": true, "requires": { "@typescript-eslint/experimental-utils": "^4.0.1" diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index d7f90e10671..4389b1b5494 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -105,7 +105,7 @@ "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-header": "^3.1.1", - "eslint-plugin-jest": "^24.2.1", + "eslint-plugin-jest": "^24.3.1", "eslint-plugin-prettier": "^3.3.1", "jest": "^26.6.2", "nerdbank-gitversioning": "^3.3.37", From 61c78f4c761988b2c15e55ca5bd61a1457376333 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:07:37 -0700 Subject: [PATCH 06/25] Bump @types/node from 14.14.33 to 14.14.34 in /src/playground (#1869) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.33 to 14.14.34. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/playground/package-lock.json | 6 +++--- src/playground/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/playground/package-lock.json b/src/playground/package-lock.json index e51393dc461..4a97aa5ba56 100644 --- a/src/playground/package-lock.json +++ b/src/playground/package-lock.json @@ -217,9 +217,9 @@ "dev": true }, "@types/node": { - "version": "14.14.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz", - "integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==", + "version": "14.14.34", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.34.tgz", + "integrity": "sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA==", "dev": true }, "@types/pako": { diff --git a/src/playground/package.json b/src/playground/package.json index 3fc09b3310e..679444e44f0 100644 --- a/src/playground/package.json +++ b/src/playground/package.json @@ -13,7 +13,7 @@ "license": "ISC", "devDependencies": { "@types/copy-webpack-plugin": "^6.4.0", - "@types/node": "^14.14.33", + "@types/node": "^14.14.34", "@types/pako": "^1.0.1", "@types/react": "^16.14.5", "@types/react-dom": "^17.0.2", From afc04cad5c6ce232df35e4c7497f84297d84a24e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 00:07:59 -0700 Subject: [PATCH 07/25] Bump webpack from 5.24.4 to 5.25.1 in /src/playground (#1870) Bumps [webpack](https://github.com/webpack/webpack) from 5.24.4 to 5.25.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.24.4...v5.25.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/playground/package-lock.json | 24 ++++++++++++------------ src/playground/package.json | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/playground/package-lock.json b/src/playground/package-lock.json index 4a97aa5ba56..c270e30ec01 100644 --- a/src/playground/package-lock.json +++ b/src/playground/package-lock.json @@ -629,9 +629,9 @@ } }, "acorn": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", - "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true }, "ajv": { @@ -1050,9 +1050,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001197", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001197.tgz", - "integrity": "sha512-8aE+sqBqtXz4G8g35Eg/XEaFr2N7rd/VQ6eABGBmNtcB8cN6qNJhMi6oSFy4UWWZgqgL3filHT8Nha4meu3tsw==", + "version": "1.0.30001200", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001200.tgz", + "integrity": "sha512-ic/jXfa6tgiPBAISWk16jRI2q8YfjxHnSG7ddSL1ptrIP8Uy11SayFrjXRAk3NumHpDb21fdTkbTxb/hOrFrnQ==", "dev": true }, "chalk": { @@ -1825,9 +1825,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.683", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.683.tgz", - "integrity": "sha512-8mFfiAesXdEdE0DhkMKO7W9U6VU/9T3VTWwZ+4g84/YMP4kgwgFtQgUxuu7FUMcvSeKSNhFQNU+WZ68BQTLT5A==", + "version": "1.3.687", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz", + "integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==", "dev": true }, "emoji-regex": { @@ -5574,9 +5574,9 @@ } }, "webpack": { - "version": "5.24.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.24.4.tgz", - "integrity": "sha512-RXOdxF9hFFFhg47BryCgyFrEyyu7Y/75/uiI2DoUiTMqysK+WczVSTppvkR47oZcmI/DPaXCiCiaXBP8QjkNpA==", + "version": "5.25.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.1.tgz", + "integrity": "sha512-dzFTJwehoLZkeHUkvMSwAgVdGL+PerfX0mke9tOWjJs4OzFctkxCqD8Zj5J387jLkC4gNqSin0/EurhH28boCg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", diff --git a/src/playground/package.json b/src/playground/package.json index 679444e44f0..f10cd43437c 100644 --- a/src/playground/package.json +++ b/src/playground/package.json @@ -29,7 +29,7 @@ "ts-loader": "^8.0.18", "ts-node": "^9.1.1", "typescript": "^4.2.3", - "webpack": "^5.24.4", + "webpack": "^5.25.1", "webpack-cli": "^4.5.0", "webpack-dev-server": "^3.11.2" }, From 12aa6f6063d49dd0fcfb9fb43e97ce28d064f592 Mon Sep 17 00:00:00 2001 From: Lukas Rottach <50323692+lrottach@users.noreply.github.com> Date: Mon, 15 Mar 2021 14:19:18 +0100 Subject: [PATCH 08/25] Changed 'name' parameter to avoid deployment errors while following the tutorial (#1861) * docs: changed 'name' parameter to 'storageAccountName' * docs: changed name parameter in both .bicep and .json 01 example --- docs/tutorial/01-simple-template.md | 10 +++++----- docs/tutorial/02-deploying-a-bicep-file.md | 8 ++++---- docs/tutorial/03-using-expressions.md | 2 +- docs/tutorial/complete-bicep-files/01.bicep | 4 ++-- docs/tutorial/complete-bicep-files/01.json | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/tutorial/01-simple-template.md b/docs/tutorial/01-simple-template.md index 2c179c6a3c9..7ad8db800e5 100644 --- a/docs/tutorial/01-simple-template.md +++ b/docs/tutorial/01-simple-template.md @@ -36,10 +36,10 @@ In most cases, I want to expose the resource name and the resource location via ``` param location string = 'eastus' -param name string = 'uniquestorage001' // must be globally unique +param storageAccountName string = 'uniquestorage001' // must be globally unique resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = { - name: name + name: storageAccountName location: location kind: 'Storage' sku: { @@ -59,7 +59,7 @@ Storage account names must be between 3 and 24 characters, so let's add those re ```bicep @minLength(3) @maxLength(24) -param name string = 'uniquestorage001' // must be globally unique +param storageAccountName string = 'uniquestorage001' // must be globally unique ``` ## Add variables and outputs @@ -71,12 +71,12 @@ param location string = 'eastus' @minLength(3) @maxLength(24) -param name string = 'uniquestorage001' // must be globally unique +param storageAccountName string = 'uniquestorage001' // must be globally unique var storageSku = 'Standard_LRS' // declare variable and assign value resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = { - name: name + name: storageAccountName location: location kind: 'Storage' sku: { diff --git a/docs/tutorial/02-deploying-a-bicep-file.md b/docs/tutorial/02-deploying-a-bicep-file.md index 342b84bd6ff..8b05626a406 100644 --- a/docs/tutorial/02-deploying-a-bicep-file.md +++ b/docs/tutorial/02-deploying-a-bicep-file.md @@ -16,24 +16,24 @@ az deployment group create -f ./main.bicep -g my-rg New-AzResourceGroupDeployment -TemplateFile ./main.bicep -ResourceGroupName my-rg ``` ->**Note:** make sure you update the default value of the `name` parameter to be globally unique before deploying. +>**Note:** make sure you update the default value of the `storageAccountName` parameter to be globally unique before deploying. ## Deploy with parameters -Our Bicep file exposed two parameters that we can be optionally overridden (`location` and `name`) by passing new values at deployment time. +Our Bicep file exposed two parameters that we can be optionally overridden (`location` and `storageAccountName`) by passing new values at deployment time. ### Pass parameters on the command line **Az CLI**: ```bash -az deployment group create -f ./main.bicep -g my-rg --parameters location=westus name=uniquelogstorage001 +az deployment group create -f ./main.bicep -g my-rg --parameters location=westus storageAccountName=uniquelogstorage001 ``` **Azure PowerShell**: ```powershell -New-AzResourceGroupDeployment -TemplateFile ./main.bicep -ResourceGroupName my-rg -location westus -name uniquelogstorage001 +New-AzResourceGroupDeployment -TemplateFile ./main.bicep -ResourceGroupName my-rg -location westus -storageAccountName uniquelogstorage001 ``` ### Use a local parameters JSON file diff --git a/docs/tutorial/03-using-expressions.md b/docs/tutorial/03-using-expressions.md index afa8bb81cbd..f5ef8814c4e 100644 --- a/docs/tutorial/03-using-expressions.md +++ b/docs/tutorial/03-using-expressions.md @@ -18,7 +18,7 @@ var location = resourceGroup().location output makeCapital string = toUpper('all lowercase') ``` -In our `main.bicep` file, instead of forcing users to guess a unique storage account name, let's get rid of our `name` parameter and use the `uniqueString()` and `resourceGroup()` functions to calculate a unique name. We'll also use the `resourceGroup().location` property instead of hardcoding a default location. +In our `main.bicep` file, instead of forcing users to guess a unique storage account name, let's get rid of our `storageAccountName` parameter and use the `uniqueString()` and `resourceGroup()` functions to calculate a unique name. We'll also use the `resourceGroup().location` property instead of hardcoding a default location. ```bicep param location string = resourceGroup().location diff --git a/docs/tutorial/complete-bicep-files/01.bicep b/docs/tutorial/complete-bicep-files/01.bicep index 756b4ca6556..2d4891e3100 100644 --- a/docs/tutorial/complete-bicep-files/01.bicep +++ b/docs/tutorial/complete-bicep-files/01.bicep @@ -2,12 +2,12 @@ param location string = 'eastus' @minLength(3) @maxLength(24) -param name string = 'uniquestorage001' // must be globally unique +param storageAccountName string = 'uniquestorage001' // must be globally unique var storageSku = 'Standard_LRS' // declare variable and assign value resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = { - name: name + name: storageAccountName location: location kind: 'Storage' sku: { diff --git a/docs/tutorial/complete-bicep-files/01.json b/docs/tutorial/complete-bicep-files/01.json index e8e7196a753..c5a0317bfb2 100644 --- a/docs/tutorial/complete-bicep-files/01.json +++ b/docs/tutorial/complete-bicep-files/01.json @@ -6,7 +6,7 @@ "type": "string", "defaultValue": "eastus" }, - "name": { + "storageAccountName": { "type": "string", "defaultValue": "uniquestorage001", "maxLength": 24, @@ -21,7 +21,7 @@ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", - "name": "[parameters('name')]", + "name": "[parameters('storageAccountName')]", "location": "[parameters('location')]", "kind": "Storage", "sku": { @@ -32,7 +32,7 @@ "outputs": { "storageId": { "type": "string", - "value": "[resourceId('Microsoft.Storage/storageAccounts', parameters('name'))]" + "value": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]" } }, "metadata": { From da67710fe07338e96def40eccae41f83cf55000f Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Mon, 15 Mar 2021 14:05:40 -0400 Subject: [PATCH 09/25] Add documentation on updating baselines via GH Action (#1878) --- CONTRIBUTING.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2b849c5647..cc0ec5f84f4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,12 +30,23 @@ The Bicep solution is comprised of the following main components: * `dotnet test` ### Updating test baselines -* Many of the bicep integration tests rely on baseline test assertion files that are checked into the repo. Code changes in some areas will require updates to the baseline assertions. +Many of the bicep integration tests rely on baseline test assertion files that are checked into the repo. Code changes in some areas will require updates to the baseline assertions. + +#### Manually * If you see a test failure with a message containing Windows and *nix copy commands, you have encountered such a test. You have the following options to fix the test: 1. Manually execute the provided command in a shell. This makes sense for a single test, but is extremely tedious otherwise. 1. Run the `SetBaseline.ps1` script at the repo root to execute the tests in `SetBaseLine` mode, which causes the baselines to be automatically updated in bulk for failing tests. You should see baseline file modifications in Git pending changes. (Make sure your Git pending changes are empty before doing so - your changes could get overwritten!). * Inspect the baseline assertion diffs to ensure changes are expected and match the code changes you have made. (If a pull request contains changes to baseline files that can't be explained, it will not be merged.) +#### Via GitHub Action +If you have an active branch pushed to your GitHub fork, you can use the "Update Baselines" GitHub action to automatically update any broken baselines: +1. Under your fork of the repo, navigate to "Actions" -> "Update Baselines". +1. Press "Run workflow", and select your branch name under the "Use work flow from" dropdown. +1. If any baseline changes are detected, the action will create a commit with the diffs, and push it to your branch. +1. Because of [this limitation](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token), you will need to manually re-run the CI action once the commit has been made: + 1. Under your fork of the repo, navigate to "Actions" -> "Build". + 1. Press "Run workflow", and select your branch name under the "Use work flow from" dropdown. + ### Creating new integration tests dataset * To Add new integration tests dataset you need to: 1. Add a entry to src/Bicep.Core.Samples/DataSets.cs From ea8526c3ec6e6d7d89d5b843e72178e70727e7d3 Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Mon, 15 Mar 2021 14:20:37 -0400 Subject: [PATCH 10/25] Add type definitions for providers() (#1877) * Add type definitions for providers() * Update test baselines * Update AzNamespaceSymbol.cs Co-authored-by: Bicep Automation --- .../ScenarioTests.cs | 28 ++++++++++ .../Files/Functions/az.json | 27 ++++++++-- .../Assertions/JTokenAssertionsExtensions.cs | 8 +-- .../Semantics/Namespaces/AzNamespaceSymbol.cs | 53 ++++++++++++------- 4 files changed, 90 insertions(+), 26 deletions(-) diff --git a/src/Bicep.Core.IntegrationTests/ScenarioTests.cs b/src/Bicep.Core.IntegrationTests/ScenarioTests.cs index 6b500aa3299..2fb673ce95a 100644 --- a/src/Bicep.Core.IntegrationTests/ScenarioTests.cs +++ b/src/Bicep.Core.IntegrationTests/ScenarioTests.cs @@ -971,5 +971,33 @@ public void Test_Issue1817() }); } } + + [TestMethod] + public void Test_Issue1630() + { + var (template, diags, _) = CompilationHelper.Compile(@" +var singleResource = providers('Microsoft.Insights', 'components') +var allResources = providers('Microsoft.Insights') + +// singleResource is an object! +var firstApiVersion = singleResource.apiVersions[0] + +// allResources is an array of objects! +var firstResourceFirstApiVersion = allResources[0].apiVersions[0] + +output singleResource object = singleResource +output allResources array = allResources +"); + + using (new AssertionScope()) + { + diags.Should().BeEmpty(); + + template.Should().HaveValueAtPath("$.variables['singleResource']", "[providers('Microsoft.Insights', 'components')]"); + template.Should().HaveValueAtPath("$.variables['firstApiVersion']", "[variables('singleResource').apiVersions[0]]"); + template.Should().HaveValueAtPath("$.variables['allResources']", "[providers('Microsoft.Insights')]"); + template.Should().HaveValueAtPath("$.variables['firstResourceFirstApiVersion']", "[variables('allResources')[0].apiVersions[0]]"); + } + } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/Functions/az.json b/src/Bicep.Core.Samples/Files/Functions/az.json index 6e077b5135b..f6786510454 100644 --- a/src/Bicep.Core.Samples/Files/Functions/az.json +++ b/src/Bicep.Core.Samples/Files/Functions/az.json @@ -117,6 +117,25 @@ "[offset: int]" ] }, + { + "name": "providers", + "description": "Returns information about a resource provider and its supported resource types. If you don't provide a resource type, the function returns all the supported types for the resource provider.", + "fixedParameters": [ + { + "name": "providerNamespace", + "description": "the namespace of the provider", + "type": "string", + "required": true + } + ], + "minimumArgumentCount": 1, + "maximumArgumentCount": 1, + "flags": "default", + "typeSignature": "(providerNamespace: string): provider[]", + "parameterTypeSignatures": [ + "providerNamespace: string" + ] + }, { "name": "providers", "description": "Returns information about a resource provider and its supported resource types. If you don't provide a resource type, the function returns all the supported types for the resource provider.", @@ -131,16 +150,16 @@ "name": "resourceType", "description": "The type of resource within the specified namespace", "type": "string", - "required": false + "required": true } ], - "minimumArgumentCount": 1, + "minimumArgumentCount": 2, "maximumArgumentCount": 2, "flags": "default", - "typeSignature": "(providerNamespace: string, [resourceType: string]): array", + "typeSignature": "(providerNamespace: string, resourceType: string): provider", "parameterTypeSignatures": [ "providerNamespace: string", - "[resourceType: string]" + "resourceType: string" ] }, { diff --git a/src/Bicep.Core.UnitTests/Assertions/JTokenAssertionsExtensions.cs b/src/Bicep.Core.UnitTests/Assertions/JTokenAssertionsExtensions.cs index 19030581de0..96d4dd72f26 100644 --- a/src/Bicep.Core.UnitTests/Assertions/JTokenAssertionsExtensions.cs +++ b/src/Bicep.Core.UnitTests/Assertions/JTokenAssertionsExtensions.cs @@ -69,12 +69,12 @@ public static AndConstraint HaveValueAtPath(this JTokenAsserti Execute.Assertion .BecauseOf(because, becauseArgs) .ForCondition(valueAtPath is not null) - .FailWith("Expected value at path {0} to be {1} but it was null", jtokenPath, expected.ToString()); + .FailWith("Expected value at path {0} to be {1}{reason} but it was null. Original JSON: {2}", jtokenPath, expected.ToString(), instance.Subject?.ToString()); Execute.Assertion .BecauseOf(because, becauseArgs) .ForCondition(JToken.DeepEquals(valueAtPath, expected)) - .FailWith("Expected value at path {0} to be {1} but it was {2}", jtokenPath, expected.ToString(), valueAtPath?.ToString()); + .FailWith("Expected value at path {0} to be {1}{reason} but it was {2}", jtokenPath, expected.ToString(), valueAtPath?.ToString()); return new AndConstraint(instance); } @@ -86,7 +86,7 @@ public static AndConstraint NotHaveValueAtPath(this JTokenAsse Execute.Assertion .BecauseOf(because, becauseArgs) .ForCondition(valueAtPath is null) - .FailWith("Expected value at path {0} to be null, but it was {1}", jtokenPath, valueAtPath); + .FailWith("Expected value at path {0} to be null{reason}, but it was {1}", jtokenPath, valueAtPath); return new AndConstraint(instance); } @@ -96,7 +96,7 @@ public static AndConstraint NotHaveValue(this JTokenAssertions Execute.Assertion .BecauseOf(because, becauseArgs) .ForCondition(instance.Subject is null) - .FailWith("Expected value to be null, but it was {0}", instance.Subject?.ToString()); + .FailWith("Expected value to be null{reason}, but it was {0}", instance.Subject?.ToString()); return new AndConstraint(instance); } diff --git a/src/Bicep.Core/Semantics/Namespaces/AzNamespaceSymbol.cs b/src/Bicep.Core/Semantics/Namespaces/AzNamespaceSymbol.cs index 80b042a2c0d..b42f2900f96 100644 --- a/src/Bicep.Core/Semantics/Namespaces/AzNamespaceSymbol.cs +++ b/src/Bicep.Core/Semantics/Namespaces/AzNamespaceSymbol.cs @@ -15,19 +15,19 @@ namespace Bicep.Core.Semantics.Namespaces { public class AzNamespaceSymbol : NamespaceSymbol { - private static ObjectType GetRestrictedResourceGroupReturnValue(IEnumerable arguments) + private static ObjectType GetRestrictedResourceGroupReturnType(IEnumerable arguments) => new ResourceGroupScopeType(arguments, Enumerable.Empty()); - private static ObjectType GetRestrictedSubscriptionReturnValue(IEnumerable arguments) + private static ObjectType GetRestrictedSubscriptionReturnType(IEnumerable arguments) => new SubscriptionScopeType(arguments, Enumerable.Empty()); - private static ObjectType GetRestrictedManagementGroupReturnValue(IEnumerable arguments) + private static ObjectType GetRestrictedManagementGroupReturnType(IEnumerable arguments) => new ManagementGroupScopeType(arguments, Enumerable.Empty()); - private static ObjectType GetRestrictedTenantReturnValue(IEnumerable arguments) + private static ObjectType GetRestrictedTenantReturnType(IEnumerable arguments) => new TenantScopeType(arguments, Enumerable.Empty()); - private static ObjectType GetResourceGroupReturnValue(IEnumerable arguments) + private static ObjectType GetResourceGroupReturnType(IEnumerable arguments) { var properties = new NamedObjectType("properties", TypeSymbolValidationFlags.Default, new [] { @@ -46,7 +46,7 @@ private static ObjectType GetResourceGroupReturnValue(IEnumerable arguments) + private static ObjectType GetSubscriptionReturnType(IEnumerable arguments) { return new SubscriptionScopeType(arguments, new [] { @@ -56,6 +56,17 @@ private static ObjectType GetSubscriptionReturnValue(IEnumerable GetAzOverloads(ResourceScope resour .WithVariableParameter("resourceName",LanguageConstants.String, minimumCount: 1, "The extension resource name segment") .Build(); - // TODO: Not sure about return type + var singleProvider = GetSingleProvidersReturnType(); yield return new FunctionOverloadBuilder("providers") - .WithReturnType(LanguageConstants.Array) + .WithReturnType(new TypedArrayType(singleProvider, TypeSymbolValidationFlags.Default)) + .WithDescription("Returns information about a resource provider and its supported resource types. If you don't provide a resource type, the function returns all the supported types for the resource provider.") + .WithRequiredParameter("providerNamespace",LanguageConstants.String, "the namespace of the provider") + .Build(); + + yield return new FunctionOverloadBuilder("providers") + .WithReturnType(singleProvider) .WithDescription("Returns information about a resource provider and its supported resource types. If you don't provide a resource type, the function returns all the supported types for the resource provider.") .WithRequiredParameter("providerNamespace",LanguageConstants.String, "the namespace of the provider") - .WithOptionalParameter("resourceType",LanguageConstants.String, "The type of resource within the specified namespace") + .WithRequiredParameter("resourceType",LanguageConstants.String, "The type of resource within the specified namespace") .Build(); // TODO: return type is string[] @@ -325,4 +342,4 @@ public AzNamespaceSymbol(ResourceScope resourceScope) { } } -} \ No newline at end of file +} From 5e22507dd3faad065fd287e85a3170311d532fba Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Mon, 15 Mar 2021 20:09:14 -0400 Subject: [PATCH 11/25] Add rewriter to simplify loop statements generated by the decompiler (#1873) * Simplify length() based array iteration in decompiler * Add some comments to rewriters * Update test baselines * Use symbols for function resolution * Add negative test Co-authored-by: Bicep Automation --- src/Bicep.Core.UnitTests/Utils/PrintHelper.cs | 11 +- src/Bicep.Core/Semantics/FunctionSymbol.cs | 5 +- src/Bicep.Core/Semantics/NamespaceSymbol.cs | 4 +- .../Semantics/SemanticModelHelper.cs | 30 ++ src/Bicep.Core/Syntax/ForSyntax.cs | 6 +- .../Syntax/Rewriters/CallbackRewriter.cs | 37 ++ src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs | 353 +++++++++--------- .../Syntax/Visitors/CallbackVisitor.cs | 9 +- .../TypeSystem/DecoratorResolver.cs | 4 +- src/Bicep.Core/TypeSystem/FunctionResolver.cs | 16 +- src/Bicep.Core/TypeSystem/NamedObjectType.cs | 2 +- src/Bicep.Core/TypeSystem/NamespaceType.cs | 7 +- src/Bicep.Core/TypeSystem/ObjectType.cs | 3 +- .../Working/copyloop/main.bicep | 12 + .../Working/copyloop/main.json | 21 +- .../DependsOnRemovalRewriterTests.cs | 11 +- .../ForExpressionSimplifierRewriterTests.cs | 253 +++++++++++++ .../ParentChildResourceNameRewriterTests.cs | 8 +- .../Rewriters/TypeCasingFixerRewriterTests.cs | 8 +- .../Rewriters/DependsOnRemovalRewriter.cs | 13 +- .../ForExpressionSimplifierRewriter.cs | 196 ++++++++++ .../ParentChildResourceNameRewriter.cs | 15 +- .../Rewriters/TypeCasingFixerRewriter.cs | 8 +- src/Bicep.Decompiler/TemplateDecompiler.cs | 1 + 24 files changed, 815 insertions(+), 218 deletions(-) create mode 100644 src/Bicep.Core/Semantics/SemanticModelHelper.cs create mode 100644 src/Bicep.Core/Syntax/Rewriters/CallbackRewriter.cs create mode 100644 src/Bicep.Decompiler.UnitTests/Rewriters/ForExpressionSimplifierRewriterTests.cs create mode 100644 src/Bicep.Decompiler/Rewriters/ForExpressionSimplifierRewriter.cs diff --git a/src/Bicep.Core.UnitTests/Utils/PrintHelper.cs b/src/Bicep.Core.UnitTests/Utils/PrintHelper.cs index 93541815d61..2f4aef3cd02 100644 --- a/src/Bicep.Core.UnitTests/Utils/PrintHelper.cs +++ b/src/Bicep.Core.UnitTests/Utils/PrintHelper.cs @@ -1,9 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using Bicep.Core.Parsing; using Bicep.Core.PrettyPrint; using Bicep.Core.PrettyPrint.Options; using Bicep.Core.Syntax; +using Bicep.Core.UnitTests.Assertions; namespace Bicep.Core.UnitTests.Utils { @@ -15,9 +17,14 @@ public static class PrintHelper 2, false); - public static string PrettyPrint(ProgramSyntax programSyntax) + public static string PrintAndCheckForParseErrors(ProgramSyntax programSyntax) { - return PrettyPrinter.PrintProgram(programSyntax, DefaultOptions); + var asString = PrettyPrinter.PrintProgram(programSyntax, DefaultOptions); + + var parsed = ParserHelper.Parse(asString); + parsed.GetParseDiagnostics().Should().BeEmpty(); + + return asString; } } } \ No newline at end of file diff --git a/src/Bicep.Core/Semantics/FunctionSymbol.cs b/src/Bicep.Core/Semantics/FunctionSymbol.cs index 331ea5711f4..ac6728fd3dd 100644 --- a/src/Bicep.Core/Semantics/FunctionSymbol.cs +++ b/src/Bicep.Core/Semantics/FunctionSymbol.cs @@ -10,11 +10,12 @@ namespace Bicep.Core.Semantics { public class FunctionSymbol : Symbol { - public FunctionSymbol(string name, IEnumerable overloads) + public FunctionSymbol(ObjectType owner, string name, IEnumerable overloads) : base(name) { Overloads = overloads.ToImmutableArray(); FunctionFlags = Overloads.First().Flags; + DeclaringType = owner; if (Overloads.Skip(1).Any(fo => fo.Flags != FunctionFlags)) { @@ -30,5 +31,7 @@ public FunctionSymbol(string name, IEnumerable overloads) public ImmutableArray Overloads { get; } public FunctionFlags FunctionFlags { get; } + + public ObjectType DeclaringType { get; } } } diff --git a/src/Bicep.Core/Semantics/NamespaceSymbol.cs b/src/Bicep.Core/Semantics/NamespaceSymbol.cs index b5eb564383a..63d528fdef5 100644 --- a/src/Bicep.Core/Semantics/NamespaceSymbol.cs +++ b/src/Bicep.Core/Semantics/NamespaceSymbol.cs @@ -11,9 +11,7 @@ public class NamespaceSymbol : Symbol public NamespaceSymbol(string name, IEnumerable functionOverloads, IEnumerable bannedFunctions, IEnumerable decorators) : base(name) { - var methodResolver = new FunctionResolver(functionOverloads, bannedFunctions); - var decoratorResolver = new DecoratorResolver(decorators); - Type = new NamespaceType(name, Enumerable.Empty(), methodResolver, decoratorResolver); + Type = new NamespaceType(name, Enumerable.Empty(), functionOverloads, bannedFunctions, decorators); } public NamespaceType Type { get; } diff --git a/src/Bicep.Core/Semantics/SemanticModelHelper.cs b/src/Bicep.Core/Semantics/SemanticModelHelper.cs new file mode 100644 index 00000000000..4a16eeb709f --- /dev/null +++ b/src/Bicep.Core/Semantics/SemanticModelHelper.cs @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using Bicep.Core.Syntax; + +namespace Bicep.Core.Semantics +{ + public static class SemanticModelHelper + { + public static FunctionCallSyntaxBase? TryGetFunctionInNamespace(SemanticModel semanticModel, string @namespace, SyntaxBase syntax) + { + if (syntax is not FunctionCallSyntaxBase functionCallSyntax || + semanticModel.GetSymbolInfo(functionCallSyntax) is not FunctionSymbol functionSymbol) + { + return null; + } + + if (!semanticModel.Binder.FileSymbol.ImportedNamespaces.TryGetValue(@namespace, out var namespaceSymbol)) + { + return null; + } + + if (!object.ReferenceEquals(namespaceSymbol.Type, functionSymbol.DeclaringType)) + { + return null; + } + + return functionCallSyntax; + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core/Syntax/ForSyntax.cs b/src/Bicep.Core/Syntax/ForSyntax.cs index c74fef11142..9da4cf43d67 100644 --- a/src/Bicep.Core/Syntax/ForSyntax.cs +++ b/src/Bicep.Core/Syntax/ForSyntax.cs @@ -11,7 +11,7 @@ public class ForSyntax : SyntaxBase public ForSyntax( Token openSquare, Token forKeyword, - SyntaxBase itemVariableOrVariableBlock, + SyntaxBase variableSection, SyntaxBase inKeyword, SyntaxBase expression, SyntaxBase colon, @@ -20,7 +20,7 @@ public ForSyntax( { AssertTokenType(openSquare, nameof(openSquare), TokenType.LeftSquare); AssertKeyword(forKeyword, nameof(forKeyword), LanguageConstants.ForKeyword); - AssertSyntaxType(itemVariableOrVariableBlock, nameof(itemVariableOrVariableBlock), typeof(LocalVariableSyntax), typeof(ForVariableBlockSyntax), typeof(SkippedTriviaSyntax)); + AssertSyntaxType(variableSection, nameof(variableSection), typeof(LocalVariableSyntax), typeof(ForVariableBlockSyntax), typeof(SkippedTriviaSyntax)); AssertSyntaxType(inKeyword, nameof(inKeyword), typeof(Token), typeof(SkippedTriviaSyntax)); AssertKeyword(inKeyword as Token, nameof(inKeyword), LanguageConstants.InKeyword); AssertSyntaxType(colon, nameof(colon), typeof(Token), typeof(SkippedTriviaSyntax)); @@ -30,7 +30,7 @@ public ForSyntax( this.OpenSquare = openSquare; this.ForKeyword = forKeyword; - this.VariableSection = itemVariableOrVariableBlock; + this.VariableSection = variableSection; this.InKeyword = inKeyword; this.Expression = expression; this.Colon = colon; diff --git a/src/Bicep.Core/Syntax/Rewriters/CallbackRewriter.cs b/src/Bicep.Core/Syntax/Rewriters/CallbackRewriter.cs new file mode 100644 index 00000000000..79b9d68b1c0 --- /dev/null +++ b/src/Bicep.Core/Syntax/Rewriters/CallbackRewriter.cs @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System; + +namespace Bicep.Core.Syntax.Rewriters +{ + /// + /// Rewriter that allows use of a callback to rewrite any type of node. + /// + public class CallbackRewriter : SyntaxRewriteVisitor + { + private readonly Func callback; + + public static TSyntax Rewrite(TSyntax syntax, Func callback) + where TSyntax : SyntaxBase + { + var rewriter = new CallbackRewriter(callback); + + return rewriter.Rewrite(syntax); + } + + /// + /// Creates a new rewriter with the specified callback. + /// + /// The rewrite callback function that will be invoked on each node. + private CallbackRewriter(Func callback) + { + this.callback = callback; + } + + protected override SyntaxBase RewriteInternal(SyntaxBase syntax) + { + return callback(base.RewriteInternal(syntax)); + } + } +} + diff --git a/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs b/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs index 2903f3e1c10..c2eee1478c3 100644 --- a/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs +++ b/src/Bicep.Core/Syntax/SyntaxRewriteVisitor.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using Bicep.Core.Diagnostics; using Bicep.Core.Parsing; @@ -15,7 +16,7 @@ public abstract class SyntaxRewriteVisitor : ISyntaxVisitor public TSyntax Rewrite(TSyntax syntax) where TSyntax : SyntaxBase { - if (Rewrite(syntax, out var newSyntax)) + if (TryRewriteStrict(syntax, out var newSyntax)) { return newSyntax; } @@ -23,52 +24,62 @@ public TSyntax Rewrite(TSyntax syntax) return syntax; } - private bool Rewrite(TSyntax syntax, out TSyntax newSyntax) - where TSyntax : SyntaxBase + protected virtual SyntaxBase RewriteInternal(SyntaxBase syntax) { currentSyntax = null; syntax.Accept(this); - if (currentSyntax is not TSyntax rewrittenSyntax) + if (currentSyntax is null) { - throw new InvalidOperationException($"Expected {nameof(currentSyntax)} to be of type {typeof(TSyntax)}"); + throw new InvalidOperationException($"Expected {nameof(currentSyntax)} to not be null"); } - newSyntax = rewrittenSyntax; - return !object.ReferenceEquals(newSyntax, syntax); + return currentSyntax; } - private bool Rewrite(IEnumerable syntaxes, out IEnumerable newSyntaxes) + private bool TryRewrite(SyntaxBase? syntax, [NotNullIfNotNull("syntax")] out SyntaxBase? newSyntax) + => TryRewriteStrict(syntax, out newSyntax); + + private bool TryRewriteStrict(TSyntax? syntax, [NotNullIfNotNull("syntax")] out TSyntax? newSyntax) where TSyntax : SyntaxBase { - var hasChanges = false; - var newSyntaxList = new List(); - foreach (var syntax in syntaxes) + if (syntax is null) { - hasChanges |= Rewrite(syntax, out var newSyntax); - newSyntaxList.Add(newSyntax); + newSyntax = null; + return false; } - newSyntaxes = hasChanges ? newSyntaxList : syntaxes; + var newSyntaxUntyped = RewriteInternal(syntax); + var hasChanges = !object.ReferenceEquals(syntax, newSyntaxUntyped); + + if (newSyntaxUntyped is not TSyntax newSyntaxTyped) + { + throw new InvalidOperationException($"Expected {nameof(currentSyntax)} to be of type {typeof(TSyntax)}"); + } + + newSyntax = newSyntaxTyped; return hasChanges; } - private bool RewriteNullable(TSyntax? syntax, out TSyntax? newSyntax) + private bool TryRewrite(IEnumerable syntaxes, out IEnumerable newSyntaxes) + => TryRewriteStrict(syntaxes, out newSyntaxes); + + private bool TryRewriteStrict(IEnumerable syntaxes, out IEnumerable newSyntaxes) where TSyntax : SyntaxBase { - if (syntax is null) + var hasChanges = false; + var newSyntaxList = new List(); + foreach (var syntax in syntaxes) { - newSyntax = null; - return false; + hasChanges |= TryRewriteStrict(syntax, out var newSyntax); + newSyntaxList.Add(newSyntax); } - var hasChanges = Rewrite(syntax, out var newSyntaxNullable); - newSyntax = newSyntaxNullable; - + newSyntaxes = hasChanges ? newSyntaxList : syntaxes; return hasChanges; } - private void ReplaceCurrent(TSyntax syntax, Func replaceFunc) + private void ReplaceCurrent(TSyntax syntax, Func replaceFunc) where TSyntax : SyntaxBase { if (currentSyntax is not null) @@ -84,8 +95,8 @@ private void ReplaceCurrent(TSyntax syntax, Func repl protected virtual SeparatedSyntaxList ReplaceSeparatedSyntaxList(SeparatedSyntaxList syntax) { - var hasChanges = Rewrite(syntax.Elements, out var elements); - hasChanges |= Rewrite(syntax.Separators, out var separators); + var hasChanges = TryRewrite(syntax.Elements, out var elements); + hasChanges |= TryRewrite(syntax.Separators, out var separators); if (!hasChanges) { @@ -96,13 +107,13 @@ protected virtual SeparatedSyntaxList ReplaceSeparatedSyntaxList(SeparatedSyntax } void ISyntaxVisitor.VisitSeparatedSyntaxList(SeparatedSyntaxList syntax) => ReplaceCurrent(syntax, ReplaceSeparatedSyntaxList); - protected virtual ParameterDeclarationSyntax ReplaceParameterDeclarationSyntax(ParameterDeclarationSyntax syntax) + protected virtual SyntaxBase ReplaceParameterDeclarationSyntax(ParameterDeclarationSyntax syntax) { - var hasChanges = Rewrite(syntax.LeadingNodes, out var leadingNodes); - hasChanges |= Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.Type, out var type); - hasChanges |= RewriteNullable(syntax.Modifier, out var modifier); + var hasChanges = TryRewrite(syntax.LeadingNodes, out var leadingNodes); + hasChanges |= TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewrite(syntax.Type, out var type); + hasChanges |= TryRewrite(syntax.Modifier, out var modifier); if (!hasChanges) { @@ -113,10 +124,10 @@ protected virtual ParameterDeclarationSyntax ReplaceParameterDeclarationSyntax(P } void ISyntaxVisitor.VisitParameterDeclarationSyntax(ParameterDeclarationSyntax syntax) => ReplaceCurrent(syntax, ReplaceParameterDeclarationSyntax); - protected virtual ParameterDefaultValueSyntax ReplaceParameterDefaultValueSyntax(ParameterDefaultValueSyntax syntax) + protected virtual SyntaxBase ReplaceParameterDefaultValueSyntax(ParameterDefaultValueSyntax syntax) { - var hasChanges = Rewrite(syntax.AssignmentToken, out var assignmentToken); - hasChanges |= Rewrite(syntax.DefaultValue, out var defaultValue); + var hasChanges = TryRewriteStrict(syntax.AssignmentToken, out var assignmentToken); + hasChanges |= TryRewrite(syntax.DefaultValue, out var defaultValue); if (!hasChanges) { @@ -127,12 +138,12 @@ protected virtual ParameterDefaultValueSyntax ReplaceParameterDefaultValueSyntax } void ISyntaxVisitor.VisitParameterDefaultValueSyntax(ParameterDefaultValueSyntax syntax) => ReplaceCurrent(syntax, ReplaceParameterDefaultValueSyntax); - protected virtual VariableDeclarationSyntax ReplaceVariableDeclarationSyntax(VariableDeclarationSyntax syntax) + protected virtual SyntaxBase ReplaceVariableDeclarationSyntax(VariableDeclarationSyntax syntax) { - var hasChanges = Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.Assignment, out var assignment); - hasChanges |= Rewrite(syntax.Value, out var value); + var hasChanges = TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewrite(syntax.Assignment, out var assignment); + hasChanges |= TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -143,9 +154,9 @@ protected virtual VariableDeclarationSyntax ReplaceVariableDeclarationSyntax(Var } void ISyntaxVisitor.VisitVariableDeclarationSyntax(VariableDeclarationSyntax syntax) => ReplaceCurrent(syntax, ReplaceVariableDeclarationSyntax); - protected virtual LocalVariableSyntax ReplaceLocalVariableSyntax(LocalVariableSyntax syntax) + protected virtual SyntaxBase ReplaceLocalVariableSyntax(LocalVariableSyntax syntax) { - var hasChanges = Rewrite(syntax.Name, out var name); + var hasChanges = TryRewriteStrict(syntax.Name, out var name); if (!hasChanges) { return syntax; @@ -156,12 +167,12 @@ protected virtual LocalVariableSyntax ReplaceLocalVariableSyntax(LocalVariableSy void ISyntaxVisitor.VisitLocalVariableSyntax(LocalVariableSyntax syntax) => ReplaceCurrent(syntax, ReplaceLocalVariableSyntax); - protected virtual TargetScopeSyntax ReplaceTargetScopeSyntax(TargetScopeSyntax syntax) + protected virtual SyntaxBase ReplaceTargetScopeSyntax(TargetScopeSyntax syntax) { - var hasChanges = Rewrite(syntax.LeadingNodes, out var leadingNodes); - hasChanges |= Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.Assignment, out var assignment); - hasChanges |= Rewrite(syntax.Value, out var value); + var hasChanges = TryRewrite(syntax.LeadingNodes, out var leadingNodes); + hasChanges |= TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewrite(syntax.Assignment, out var assignment); + hasChanges |= TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -172,15 +183,15 @@ protected virtual TargetScopeSyntax ReplaceTargetScopeSyntax(TargetScopeSyntax s } void ISyntaxVisitor.VisitTargetScopeSyntax(TargetScopeSyntax syntax) => ReplaceCurrent(syntax, ReplaceTargetScopeSyntax); - protected virtual ResourceDeclarationSyntax ReplaceResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) + protected virtual SyntaxBase ReplaceResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { - var hasChanges = Rewrite(syntax.LeadingNodes, out var leadingNodes); - hasChanges |= Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.Type, out var type); - hasChanges |= RewriteNullable(syntax.ExistingKeyword, out var existingKeyword); - hasChanges |= Rewrite(syntax.Assignment, out var assignment); - hasChanges |= Rewrite(syntax.Value, out var value); + var hasChanges = TryRewrite(syntax.LeadingNodes, out var leadingNodes); + hasChanges |= TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewrite(syntax.Type, out var type); + hasChanges |= TryRewriteStrict(syntax.ExistingKeyword, out var existingKeyword); + hasChanges |= TryRewrite(syntax.Assignment, out var assignment); + hasChanges |= TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -191,14 +202,14 @@ protected virtual ResourceDeclarationSyntax ReplaceResourceDeclarationSyntax(Res } void ISyntaxVisitor.VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) => ReplaceCurrent(syntax, ReplaceResourceDeclarationSyntax); - protected virtual ModuleDeclarationSyntax ReplaceModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) + protected virtual SyntaxBase ReplaceModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) { - var hasChanges = Rewrite(syntax.LeadingNodes, out var leadingNodes); - hasChanges |= Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.Path, out var path); - hasChanges |= Rewrite(syntax.Assignment, out var assignment); - hasChanges |= Rewrite(syntax.Value, out var value); + var hasChanges = TryRewrite(syntax.LeadingNodes, out var leadingNodes); + hasChanges |= TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewrite(syntax.Path, out var path); + hasChanges |= TryRewrite(syntax.Assignment, out var assignment); + hasChanges |= TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -209,14 +220,14 @@ protected virtual ModuleDeclarationSyntax ReplaceModuleDeclarationSyntax(ModuleD } void ISyntaxVisitor.VisitModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) => ReplaceCurrent(syntax, ReplaceModuleDeclarationSyntax); - protected virtual OutputDeclarationSyntax ReplaceOutputDeclarationSyntax(OutputDeclarationSyntax syntax) + protected virtual SyntaxBase ReplaceOutputDeclarationSyntax(OutputDeclarationSyntax syntax) { - var hasChanges = Rewrite(syntax.LeadingNodes, out var leadingNodes); - hasChanges |= Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.Type, out var type); - hasChanges |= Rewrite(syntax.Assignment, out var assignment); - hasChanges |= Rewrite(syntax.Value, out var value); + var hasChanges = TryRewrite(syntax.LeadingNodes, out var leadingNodes); + hasChanges |= TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewrite(syntax.Type, out var type); + hasChanges |= TryRewrite(syntax.Assignment, out var assignment); + hasChanges |= TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -227,9 +238,9 @@ protected virtual OutputDeclarationSyntax ReplaceOutputDeclarationSyntax(OutputD } void ISyntaxVisitor.VisitOutputDeclarationSyntax(OutputDeclarationSyntax syntax) => ReplaceCurrent(syntax, ReplaceOutputDeclarationSyntax); - protected virtual IdentifierSyntax ReplaceIdentifierSyntax(IdentifierSyntax syntax) + protected virtual SyntaxBase ReplaceIdentifierSyntax(IdentifierSyntax syntax) { - var hasChanges = Rewrite(syntax.Child, out var child); + var hasChanges = TryRewrite(syntax.Child, out var child); if (!hasChanges) { @@ -240,9 +251,9 @@ protected virtual IdentifierSyntax ReplaceIdentifierSyntax(IdentifierSyntax synt } void ISyntaxVisitor.VisitIdentifierSyntax(IdentifierSyntax syntax) => ReplaceCurrent(syntax, ReplaceIdentifierSyntax); - protected virtual TypeSyntax ReplaceTypeSyntax(TypeSyntax syntax) + protected virtual SyntaxBase ReplaceTypeSyntax(TypeSyntax syntax) { - var hasChanges = Rewrite(syntax.Identifier, out var identifier); + var hasChanges = TryRewriteStrict(syntax.Identifier, out var identifier); if (!hasChanges) { @@ -253,9 +264,9 @@ protected virtual TypeSyntax ReplaceTypeSyntax(TypeSyntax syntax) } void ISyntaxVisitor.VisitTypeSyntax(TypeSyntax syntax) => ReplaceCurrent(syntax, ReplaceTypeSyntax); - protected virtual BooleanLiteralSyntax ReplaceBooleanLiteralSyntax(BooleanLiteralSyntax syntax) + protected virtual SyntaxBase ReplaceBooleanLiteralSyntax(BooleanLiteralSyntax syntax) { - var hasChanges = Rewrite(syntax.Literal, out var literal); + var hasChanges = TryRewriteStrict(syntax.Literal, out var literal); if (!hasChanges) { @@ -266,10 +277,10 @@ protected virtual BooleanLiteralSyntax ReplaceBooleanLiteralSyntax(BooleanLitera } void ISyntaxVisitor.VisitBooleanLiteralSyntax(BooleanLiteralSyntax syntax) => ReplaceCurrent(syntax, ReplaceBooleanLiteralSyntax); - protected virtual StringSyntax ReplaceStringSyntax(StringSyntax syntax) + protected virtual SyntaxBase ReplaceStringSyntax(StringSyntax syntax) { - var hasChanges = Rewrite(syntax.StringTokens, out var stringTokens); - hasChanges |= Rewrite(syntax.Expressions, out var expressions); + var hasChanges = TryRewriteStrict(syntax.StringTokens, out var stringTokens); + hasChanges |= TryRewrite(syntax.Expressions, out var expressions); if (!hasChanges) { @@ -286,10 +297,10 @@ protected virtual StringSyntax ReplaceStringSyntax(StringSyntax syntax) } void ISyntaxVisitor.VisitStringSyntax(StringSyntax syntax) => ReplaceCurrent(syntax, ReplaceStringSyntax); - protected virtual ProgramSyntax ReplaceProgramSyntax(ProgramSyntax syntax) + protected virtual SyntaxBase ReplaceProgramSyntax(ProgramSyntax syntax) { - var hasChanges = Rewrite(syntax.Children, out var children); - hasChanges |= Rewrite(syntax.EndOfFile, out var endOfFile); + var hasChanges = TryRewrite(syntax.Children, out var children); + hasChanges |= TryRewriteStrict(syntax.EndOfFile, out var endOfFile); if (!hasChanges) { @@ -300,9 +311,9 @@ protected virtual ProgramSyntax ReplaceProgramSyntax(ProgramSyntax syntax) } void ISyntaxVisitor.VisitProgramSyntax(ProgramSyntax syntax) => ReplaceCurrent(syntax, ReplaceProgramSyntax); - protected virtual IntegerLiteralSyntax ReplaceIntegerLiteralSyntax(IntegerLiteralSyntax syntax) + protected virtual SyntaxBase ReplaceIntegerLiteralSyntax(IntegerLiteralSyntax syntax) { - var hasChanges = Rewrite(syntax.Literal, out var literal); + var hasChanges = TryRewriteStrict(syntax.Literal, out var literal); if (!hasChanges) { @@ -313,9 +324,9 @@ protected virtual IntegerLiteralSyntax ReplaceIntegerLiteralSyntax(IntegerLitera } void ISyntaxVisitor.VisitIntegerLiteralSyntax(IntegerLiteralSyntax syntax) => ReplaceCurrent(syntax, ReplaceIntegerLiteralSyntax); - protected virtual NullLiteralSyntax ReplaceNullLiteralSyntax(NullLiteralSyntax syntax) + protected virtual SyntaxBase ReplaceNullLiteralSyntax(NullLiteralSyntax syntax) { - var hasChanges = Rewrite(syntax.NullKeyword, out var nullKeyword); + var hasChanges = TryRewriteStrict(syntax.NullKeyword, out var nullKeyword); if (!hasChanges) { @@ -326,9 +337,9 @@ protected virtual NullLiteralSyntax ReplaceNullLiteralSyntax(NullLiteralSyntax s } void ISyntaxVisitor.VisitNullLiteralSyntax(NullLiteralSyntax syntax) => ReplaceCurrent(syntax, ReplaceNullLiteralSyntax); - protected virtual SkippedTriviaSyntax ReplaceSkippedTriviaSyntax(SkippedTriviaSyntax syntax) + protected virtual SyntaxBase ReplaceSkippedTriviaSyntax(SkippedTriviaSyntax syntax) { - var hasChanges = Rewrite(syntax.Elements, out var elements); + var hasChanges = TryRewrite(syntax.Elements, out var elements); if (!hasChanges) { @@ -339,11 +350,11 @@ protected virtual SkippedTriviaSyntax ReplaceSkippedTriviaSyntax(SkippedTriviaSy } void ISyntaxVisitor.VisitSkippedTriviaSyntax(SkippedTriviaSyntax syntax) => ReplaceCurrent(syntax, ReplaceSkippedTriviaSyntax); - protected virtual ObjectSyntax ReplaceObjectSyntax(ObjectSyntax syntax) + protected virtual SyntaxBase ReplaceObjectSyntax(ObjectSyntax syntax) { - var hasChanges = Rewrite(syntax.OpenBrace, out var openBrace); - hasChanges |= Rewrite(syntax.Children, out var children); - hasChanges |= Rewrite(syntax.CloseBrace, out var closeBrace); + var hasChanges = TryRewriteStrict(syntax.OpenBrace, out var openBrace); + hasChanges |= TryRewrite(syntax.Children, out var children); + hasChanges |= TryRewriteStrict(syntax.CloseBrace, out var closeBrace); if (!hasChanges) { @@ -354,11 +365,11 @@ protected virtual ObjectSyntax ReplaceObjectSyntax(ObjectSyntax syntax) } void ISyntaxVisitor.VisitObjectSyntax(ObjectSyntax syntax) => ReplaceCurrent(syntax, ReplaceObjectSyntax); - protected virtual ObjectPropertySyntax ReplaceObjectPropertySyntax(ObjectPropertySyntax syntax) + protected virtual SyntaxBase ReplaceObjectPropertySyntax(ObjectPropertySyntax syntax) { - var hasChanges = Rewrite(syntax.Key, out var key); - hasChanges |= Rewrite(syntax.Colon, out var colon); - hasChanges |= Rewrite(syntax.Value, out var value); + var hasChanges = TryRewrite(syntax.Key, out var key); + hasChanges |= TryRewrite(syntax.Colon, out var colon); + hasChanges |= TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -369,11 +380,11 @@ protected virtual ObjectPropertySyntax ReplaceObjectPropertySyntax(ObjectPropert } void ISyntaxVisitor.VisitObjectPropertySyntax(ObjectPropertySyntax syntax) => ReplaceCurrent(syntax, ReplaceObjectPropertySyntax); - protected virtual ArraySyntax ReplaceArraySyntax(ArraySyntax syntax) + protected virtual SyntaxBase ReplaceArraySyntax(ArraySyntax syntax) { - var hasChanges = Rewrite(syntax.OpenBracket, out var openBracket); - hasChanges |= Rewrite(syntax.Children, out var children); - hasChanges |= Rewrite(syntax.CloseBracket, out var closeBracket); + var hasChanges = TryRewriteStrict(syntax.OpenBracket, out var openBracket); + hasChanges |= TryRewrite(syntax.Children, out var children); + hasChanges |= TryRewriteStrict(syntax.CloseBracket, out var closeBracket); if (!hasChanges) { @@ -384,9 +395,9 @@ protected virtual ArraySyntax ReplaceArraySyntax(ArraySyntax syntax) } void ISyntaxVisitor.VisitArraySyntax(ArraySyntax syntax) => ReplaceCurrent(syntax, ReplaceArraySyntax); - protected virtual ArrayItemSyntax ReplaceArrayItemSyntax(ArrayItemSyntax syntax) + protected virtual SyntaxBase ReplaceArrayItemSyntax(ArrayItemSyntax syntax) { - var hasChanges = Rewrite(syntax.Value, out var value); + var hasChanges = TryRewrite(syntax.Value, out var value); if (!hasChanges) { @@ -397,13 +408,13 @@ protected virtual ArrayItemSyntax ReplaceArrayItemSyntax(ArrayItemSyntax syntax) } void ISyntaxVisitor.VisitArrayItemSyntax(ArrayItemSyntax syntax) => ReplaceCurrent(syntax, ReplaceArrayItemSyntax); - protected virtual TernaryOperationSyntax ReplaceTernaryOperationSyntax(TernaryOperationSyntax syntax) + protected virtual SyntaxBase ReplaceTernaryOperationSyntax(TernaryOperationSyntax syntax) { - var hasChanges = Rewrite(syntax.ConditionExpression, out var conditionExpression); - hasChanges |= Rewrite(syntax.Question, out var question); - hasChanges |= Rewrite(syntax.TrueExpression, out var trueExpression); - hasChanges |= Rewrite(syntax.Colon, out var colon); - hasChanges |= Rewrite(syntax.FalseExpression, out var falseExpression); + var hasChanges = TryRewrite(syntax.ConditionExpression, out var conditionExpression); + hasChanges |= TryRewriteStrict(syntax.Question, out var question); + hasChanges |= TryRewrite(syntax.TrueExpression, out var trueExpression); + hasChanges |= TryRewriteStrict(syntax.Colon, out var colon); + hasChanges |= TryRewrite(syntax.FalseExpression, out var falseExpression); if (!hasChanges) { @@ -414,11 +425,11 @@ protected virtual TernaryOperationSyntax ReplaceTernaryOperationSyntax(TernaryOp } void ISyntaxVisitor.VisitTernaryOperationSyntax(TernaryOperationSyntax syntax) => ReplaceCurrent(syntax, ReplaceTernaryOperationSyntax); - protected virtual BinaryOperationSyntax ReplaceBinaryOperationSyntax(BinaryOperationSyntax syntax) + protected virtual SyntaxBase ReplaceBinaryOperationSyntax(BinaryOperationSyntax syntax) { - var hasChanges = Rewrite(syntax.LeftExpression, out var leftExpression); - hasChanges |= Rewrite(syntax.OperatorToken, out var operatorToken); - hasChanges |= Rewrite(syntax.RightExpression, out var rightExpression); + var hasChanges = TryRewrite(syntax.LeftExpression, out var leftExpression); + hasChanges |= TryRewriteStrict(syntax.OperatorToken, out var operatorToken); + hasChanges |= TryRewrite(syntax.RightExpression, out var rightExpression); if (!hasChanges) { @@ -429,10 +440,10 @@ protected virtual BinaryOperationSyntax ReplaceBinaryOperationSyntax(BinaryOpera } void ISyntaxVisitor.VisitBinaryOperationSyntax(BinaryOperationSyntax syntax) => ReplaceCurrent(syntax, ReplaceBinaryOperationSyntax); - protected virtual UnaryOperationSyntax ReplaceUnaryOperationSyntax(UnaryOperationSyntax syntax) + protected virtual SyntaxBase ReplaceUnaryOperationSyntax(UnaryOperationSyntax syntax) { - var hasChanges = Rewrite(syntax.OperatorToken, out var operatorToken); - hasChanges |= Rewrite(syntax.Expression, out var expression); + var hasChanges = TryRewriteStrict(syntax.OperatorToken, out var operatorToken); + hasChanges |= TryRewrite(syntax.Expression, out var expression); if (!hasChanges) { @@ -443,12 +454,12 @@ protected virtual UnaryOperationSyntax ReplaceUnaryOperationSyntax(UnaryOperatio } void ISyntaxVisitor.VisitUnaryOperationSyntax(UnaryOperationSyntax syntax) => ReplaceCurrent(syntax, ReplaceUnaryOperationSyntax); - protected virtual ArrayAccessSyntax ReplaceArrayAccessSyntax(ArrayAccessSyntax syntax) + protected virtual SyntaxBase ReplaceArrayAccessSyntax(ArrayAccessSyntax syntax) { - var hasChanges = Rewrite(syntax.BaseExpression, out var baseExpression); - hasChanges |= Rewrite(syntax.OpenSquare, out var openSquare); - hasChanges |= Rewrite(syntax.IndexExpression, out var indexExpression); - hasChanges |= Rewrite(syntax.CloseSquare, out var closeSquare); + var hasChanges = TryRewrite(syntax.BaseExpression, out var baseExpression); + hasChanges |= TryRewriteStrict(syntax.OpenSquare, out var openSquare); + hasChanges |= TryRewrite(syntax.IndexExpression, out var indexExpression); + hasChanges |= TryRewriteStrict(syntax.CloseSquare, out var closeSquare); if (!hasChanges) { @@ -459,11 +470,11 @@ protected virtual ArrayAccessSyntax ReplaceArrayAccessSyntax(ArrayAccessSyntax s } void ISyntaxVisitor.VisitArrayAccessSyntax(ArrayAccessSyntax syntax) => ReplaceCurrent(syntax, ReplaceArrayAccessSyntax); - protected virtual PropertyAccessSyntax ReplacePropertyAccessSyntax(PropertyAccessSyntax syntax) + protected virtual SyntaxBase ReplacePropertyAccessSyntax(PropertyAccessSyntax syntax) { - var hasChanges = Rewrite(syntax.BaseExpression, out var baseExpression); - hasChanges |= Rewrite(syntax.Dot, out var dot); - hasChanges |= Rewrite(syntax.PropertyName, out var propertyName); + var hasChanges = TryRewrite(syntax.BaseExpression, out var baseExpression); + hasChanges |= TryRewriteStrict(syntax.Dot, out var dot); + hasChanges |= TryRewriteStrict(syntax.PropertyName, out var propertyName); if (!hasChanges) { @@ -474,26 +485,26 @@ protected virtual PropertyAccessSyntax ReplacePropertyAccessSyntax(PropertyAcces } void ISyntaxVisitor.VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) => ReplaceCurrent(syntax, ReplacePropertyAccessSyntax); - protected virtual ResourceAccessSyntax ReplaceResourceAccessSyntax(ResourceAccessSyntax syntax) + protected virtual SyntaxBase ReplaceResourceAccessSyntax(ResourceAccessSyntax syntax) { - var hasChanges = Rewrite(syntax.BaseExpression, out var baseExpression); - hasChanges |= Rewrite(syntax.DoubleColon, out var colon); - hasChanges |= Rewrite(syntax.ResourceName, out var propertyName); + var hasChanges = TryRewrite(syntax.BaseExpression, out var baseExpression); + hasChanges |= TryRewriteStrict(syntax.DoubleColon, out var doubleColon); + hasChanges |= TryRewriteStrict(syntax.ResourceName, out var propertyName); if (!hasChanges) { return syntax; } - return new ResourceAccessSyntax(baseExpression, colon, propertyName); + return new ResourceAccessSyntax(baseExpression, doubleColon, propertyName); } void ISyntaxVisitor.VisitResourceAccessSyntax(ResourceAccessSyntax syntax) => ReplaceCurrent(syntax, ReplaceResourceAccessSyntax); - protected virtual ParenthesizedExpressionSyntax ReplaceParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) + protected virtual SyntaxBase ReplaceParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) { - var hasChanges = Rewrite(syntax.OpenParen, out var openParen); - hasChanges |= Rewrite(syntax.Expression, out var expression); - hasChanges |= Rewrite(syntax.CloseParen, out var closeParen); + var hasChanges = TryRewriteStrict(syntax.OpenParen, out var openParen); + hasChanges |= TryRewrite(syntax.Expression, out var expression); + hasChanges |= TryRewrite(syntax.CloseParen, out var closeParen); if (!hasChanges) { @@ -504,12 +515,12 @@ protected virtual ParenthesizedExpressionSyntax ReplaceParenthesizedExpressionSy } void ISyntaxVisitor.VisitParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) => ReplaceCurrent(syntax, ReplaceParenthesizedExpressionSyntax); - protected virtual FunctionCallSyntax ReplaceFunctionCallSyntax(FunctionCallSyntax syntax) + protected virtual SyntaxBase ReplaceFunctionCallSyntax(FunctionCallSyntax syntax) { - var hasChanges = Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.OpenParen, out var openParen); - hasChanges |= Rewrite(syntax.Arguments, out var arguments); - hasChanges |= Rewrite(syntax.CloseParen, out var closeParen); + var hasChanges = TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewriteStrict(syntax.OpenParen, out var openParen); + hasChanges |= TryRewriteStrict(syntax.Arguments, out var arguments); + hasChanges |= TryRewriteStrict(syntax.CloseParen, out var closeParen); if (!hasChanges) { @@ -520,14 +531,14 @@ protected virtual FunctionCallSyntax ReplaceFunctionCallSyntax(FunctionCallSynta } void ISyntaxVisitor.VisitFunctionCallSyntax(FunctionCallSyntax syntax) => ReplaceCurrent(syntax, ReplaceFunctionCallSyntax); - protected virtual InstanceFunctionCallSyntax ReplaceInstanceFunctionCallSyntax(InstanceFunctionCallSyntax syntax) + protected virtual SyntaxBase ReplaceInstanceFunctionCallSyntax(InstanceFunctionCallSyntax syntax) { - var hasChanges = Rewrite(syntax.BaseExpression, out var baseExpression); - hasChanges |= Rewrite(syntax.Dot, out var dot); - hasChanges |= Rewrite(syntax.Name, out var name); - hasChanges |= Rewrite(syntax.OpenParen, out var openParen); - hasChanges |= Rewrite(syntax.Arguments, out var arguments); - hasChanges |= Rewrite(syntax.CloseParen, out var closeParen); + var hasChanges = TryRewrite(syntax.BaseExpression, out var baseExpression); + hasChanges |= TryRewriteStrict(syntax.Dot, out var dot); + hasChanges |= TryRewriteStrict(syntax.Name, out var name); + hasChanges |= TryRewriteStrict(syntax.OpenParen, out var openParen); + hasChanges |= TryRewriteStrict(syntax.Arguments, out var arguments); + hasChanges |= TryRewriteStrict(syntax.CloseParen, out var closeParen); if (!hasChanges) { @@ -539,10 +550,10 @@ protected virtual InstanceFunctionCallSyntax ReplaceInstanceFunctionCallSyntax(I void ISyntaxVisitor.VisitInstanceFunctionCallSyntax(InstanceFunctionCallSyntax syntax) => ReplaceCurrent(syntax, ReplaceInstanceFunctionCallSyntax); - protected virtual FunctionArgumentSyntax ReplaceFunctionArgumentSyntax(FunctionArgumentSyntax syntax) + protected virtual SyntaxBase ReplaceFunctionArgumentSyntax(FunctionArgumentSyntax syntax) { - var hasChanges = Rewrite(syntax.Expression, out var expression); - hasChanges |= RewriteNullable(syntax.Comma, out var comma); + var hasChanges = TryRewrite(syntax.Expression, out var expression); + hasChanges |= TryRewriteStrict(syntax.Comma, out var comma); if (!hasChanges) { @@ -553,9 +564,9 @@ protected virtual FunctionArgumentSyntax ReplaceFunctionArgumentSyntax(FunctionA } void ISyntaxVisitor.VisitFunctionArgumentSyntax(FunctionArgumentSyntax syntax) => ReplaceCurrent(syntax, ReplaceFunctionArgumentSyntax); - protected virtual VariableAccessSyntax ReplaceVariableAccessSyntax(VariableAccessSyntax syntax) + protected virtual SyntaxBase ReplaceVariableAccessSyntax(VariableAccessSyntax syntax) { - var hasChanges = Rewrite(syntax.Name, out var name); + var hasChanges = TryRewriteStrict(syntax.Name, out var name); if (!hasChanges) { @@ -566,11 +577,11 @@ protected virtual VariableAccessSyntax ReplaceVariableAccessSyntax(VariableAcces } void ISyntaxVisitor.VisitVariableAccessSyntax(VariableAccessSyntax syntax) => ReplaceCurrent(syntax, ReplaceVariableAccessSyntax); - protected virtual IfConditionSyntax ReplaceIfExpressionSyntax(IfConditionSyntax syntax) + protected virtual SyntaxBase ReplaceIfExpressionSyntax(IfConditionSyntax syntax) { - var hasChanges = Rewrite(syntax.Keyword, out var keyword); - hasChanges |= Rewrite(syntax.ConditionExpression, out var conditionExpression); - hasChanges |= Rewrite(syntax.Body, out var body); + var hasChanges = TryRewriteStrict(syntax.Keyword, out var keyword); + hasChanges |= TryRewrite(syntax.ConditionExpression, out var conditionExpression); + hasChanges |= TryRewrite(syntax.Body, out var body); if (!hasChanges) { @@ -581,16 +592,16 @@ protected virtual IfConditionSyntax ReplaceIfExpressionSyntax(IfConditionSyntax } void ISyntaxVisitor.VisitIfConditionSyntax(IfConditionSyntax syntax) => ReplaceCurrent(syntax, ReplaceIfExpressionSyntax); - protected virtual ForSyntax ReplaceForSyntax(ForSyntax syntax) + protected virtual SyntaxBase ReplaceForSyntax(ForSyntax syntax) { - var hasChanges = Rewrite(syntax.OpenSquare, out var openSquare); - hasChanges |= Rewrite(syntax.ForKeyword, out var forKeyword); - hasChanges |= Rewrite(syntax.VariableSection, out var itemVariable); - hasChanges |= Rewrite(syntax.InKeyword, out var inKeyword); - hasChanges |= Rewrite(syntax.Expression, out var expression); - hasChanges |= Rewrite(syntax.Colon, out var colon); - hasChanges |= Rewrite(syntax.Body, out var body); - hasChanges |= Rewrite(syntax.CloseSquare, out var closeSquare); + var hasChanges = TryRewriteStrict(syntax.OpenSquare, out var openSquare); + hasChanges |= TryRewriteStrict(syntax.ForKeyword, out var forKeyword); + hasChanges |= TryRewrite(syntax.VariableSection, out var itemVariable); + hasChanges |= TryRewrite(syntax.InKeyword, out var inKeyword); + hasChanges |= TryRewrite(syntax.Expression, out var expression); + hasChanges |= TryRewrite(syntax.Colon, out var colon); + hasChanges |= TryRewrite(syntax.Body, out var body); + hasChanges |= TryRewrite(syntax.CloseSquare, out var closeSquare); if (!hasChanges) { @@ -602,13 +613,13 @@ protected virtual ForSyntax ReplaceForSyntax(ForSyntax syntax) void ISyntaxVisitor.VisitForSyntax(ForSyntax syntax) => ReplaceCurrent(syntax, ReplaceForSyntax); - protected virtual ForVariableBlockSyntax ReplaceForVariableBlockSyntax(ForVariableBlockSyntax syntax) + protected virtual SyntaxBase ReplaceForVariableBlockSyntax(ForVariableBlockSyntax syntax) { - var hasChanges = Rewrite(syntax.OpenParen, out var openParen); - hasChanges |= Rewrite(syntax.ItemVariable, out var itemVariable); - hasChanges |= Rewrite(syntax.Comma, out var comma); - hasChanges |= Rewrite(syntax.IndexVariable, out var indexVariable); - hasChanges |= Rewrite(syntax.CloseParen, out var closeParen); + var hasChanges = TryRewriteStrict(syntax.OpenParen, out var openParen); + hasChanges |= TryRewriteStrict(syntax.ItemVariable, out var itemVariable); + hasChanges |= TryRewrite(syntax.Comma, out var comma); + hasChanges |= TryRewriteStrict(syntax.IndexVariable, out var indexVariable); + hasChanges |= TryRewrite(syntax.CloseParen, out var closeParen); if(!hasChanges) { @@ -620,10 +631,10 @@ protected virtual ForVariableBlockSyntax ReplaceForVariableBlockSyntax(ForVariab void ISyntaxVisitor.VisitForVariableBlockSyntax(ForVariableBlockSyntax syntax) => ReplaceCurrent(syntax, ReplaceForVariableBlockSyntax); - protected virtual DecoratorSyntax ReplaceDecoratorSyntax(DecoratorSyntax syntax) + protected virtual SyntaxBase ReplaceDecoratorSyntax(DecoratorSyntax syntax) { - var hasChanges = Rewrite(syntax.At, out var at); - hasChanges |= Rewrite(syntax.Expression, out var expression); + var hasChanges = TryRewriteStrict(syntax.At, out var at); + hasChanges |= TryRewrite(syntax.Expression, out var expression); if (!hasChanges) { @@ -634,9 +645,9 @@ protected virtual DecoratorSyntax ReplaceDecoratorSyntax(DecoratorSyntax syntax) } void ISyntaxVisitor.VisitDecoratorSyntax(DecoratorSyntax syntax) => ReplaceCurrent(syntax, ReplaceDecoratorSyntax); - protected virtual MissingDeclarationSyntax ReplaceMissingDeclarationSyntax(MissingDeclarationSyntax syntax) + protected virtual SyntaxBase ReplaceMissingDeclarationSyntax(MissingDeclarationSyntax syntax) { - var hasChange = Rewrite(syntax.LeadingNodes, out var leadingNodes); + var hasChange = TryRewriteStrict(syntax.LeadingNodes, out var leadingNodes); if (!hasChange) { diff --git a/src/Bicep.Core/Syntax/Visitors/CallbackVisitor.cs b/src/Bicep.Core/Syntax/Visitors/CallbackVisitor.cs index b64afa72731..af2cc3be05b 100644 --- a/src/Bicep.Core/Syntax/Visitors/CallbackVisitor.cs +++ b/src/Bicep.Core/Syntax/Visitors/CallbackVisitor.cs @@ -11,11 +11,18 @@ public class CallbackVisitor : SyntaxVisitor { private readonly Func callback; + public static void Visit(SyntaxBase syntax, Func callback) + { + var visitor = new CallbackVisitor(callback); + + visitor.Visit(syntax); + } + /// /// Creates a new visitor with the specified callback. /// /// The callback function that will be invoked before visiting a node. Return true to visit the node (the callback will be invoked on each child node). Return false to skip this node and its children. - public CallbackVisitor(Func callback) + private CallbackVisitor(Func callback) { this.callback = callback; } diff --git a/src/Bicep.Core/TypeSystem/DecoratorResolver.cs b/src/Bicep.Core/TypeSystem/DecoratorResolver.cs index fbaddac0486..6bea2a7fde0 100644 --- a/src/Bicep.Core/TypeSystem/DecoratorResolver.cs +++ b/src/Bicep.Core/TypeSystem/DecoratorResolver.cs @@ -15,10 +15,10 @@ public class DecoratorResolver private readonly ImmutableHashSet functionSymbols; - public DecoratorResolver(IEnumerable decorators) + public DecoratorResolver(ObjectType owner, IEnumerable decorators) { this.decoratorsByOverloads = decorators.ToImmutableDictionary(decorator => decorator.Overload, decorator => decorator); - this.functionResolver = FunctionResolver.Create(decoratorsByOverloads.Keys); + this.functionResolver = new FunctionResolver(owner, decoratorsByOverloads.Keys); this.functionSymbols = functionResolver.GetKnownFunctions().Values.ToImmutableHashSet(); } diff --git a/src/Bicep.Core/TypeSystem/FunctionResolver.cs b/src/Bicep.Core/TypeSystem/FunctionResolver.cs index b585dbd73be..0d4cee27757 100644 --- a/src/Bicep.Core/TypeSystem/FunctionResolver.cs +++ b/src/Bicep.Core/TypeSystem/FunctionResolver.cs @@ -15,20 +15,15 @@ namespace Bicep.Core.TypeSystem { public class FunctionResolver { - public static FunctionResolver Empty { get; } - = new FunctionResolver(Enumerable.Empty(), Enumerable.Empty()); - - public static FunctionResolver Create(IEnumerable? functionOverloads) - => functionOverloads != null ? new FunctionResolver(functionOverloads, Enumerable.Empty()) : FunctionResolver.Empty; - - public FunctionResolver(IEnumerable functionOverloads, IEnumerable? bannedFunctions = null) + public FunctionResolver(ObjectType owner, IEnumerable? functionOverloads = null, IEnumerable? bannedFunctions = null) { + functionOverloads ??= Enumerable.Empty(); bannedFunctions ??= Enumerable.Empty(); // prepopulate cache with all known (non-wildcard) symbols this.FunctionCache = functionOverloads .Where(fo => !(fo is FunctionWildcardOverload)) - .GroupBy(fo => fo.Name, (name, overloads) => new FunctionSymbol(name, overloads), LanguageConstants.IdentifierComparer) + .GroupBy(fo => fo.Name, (name, overloads) => new FunctionSymbol(owner, name, overloads), LanguageConstants.IdentifierComparer) .ToDictionary(s => s.Name, s => s, LanguageConstants.IdentifierComparer); this.BannedFunctions = bannedFunctions.ToImmutableDictionary(bf => bf.Name, LanguageConstants.IdentifierComparer); @@ -37,6 +32,7 @@ public FunctionResolver(IEnumerable functionOverloads, IEnumer this.FunctionWildcardOverloads = functionOverloads .OfType() .ToImmutableArray(); + this.DeclaringType = owner; } private IDictionary FunctionCache { get; } @@ -45,6 +41,8 @@ public FunctionResolver(IEnumerable functionOverloads, IEnumer private ImmutableArray FunctionWildcardOverloads { get; } + public ObjectType DeclaringType { get; } + public Symbol? TryGetSymbol(IdentifierSyntax identifierSyntax) => TryGetBannedFunction(identifierSyntax) ?? TryGetFunctionSymbol(identifierSyntax.IdentifierName); @@ -74,7 +72,7 @@ public ImmutableDictionary GetKnownFunctions() var wildcardOverloads = FunctionWildcardOverloads.Where(fo => fo.WildcardRegex.IsMatch(name)); // create a new symbol for each unique name that matches the wildcard - var cachedSymbol = wildcardOverloads.Any() ? new FunctionSymbol(name, wildcardOverloads) : null; + var cachedSymbol = wildcardOverloads.Any() ? new FunctionSymbol(DeclaringType, name, wildcardOverloads) : null; FunctionCache[name] = cachedSymbol; return cachedSymbol; diff --git a/src/Bicep.Core/TypeSystem/NamedObjectType.cs b/src/Bicep.Core/TypeSystem/NamedObjectType.cs index b86081649df..117d354d5cc 100644 --- a/src/Bicep.Core/TypeSystem/NamedObjectType.cs +++ b/src/Bicep.Core/TypeSystem/NamedObjectType.cs @@ -13,7 +13,7 @@ public NamedObjectType(string name, TypeSymbolValidationFlags validationFlags, I { this.ValidationFlags = validationFlags; this.Properties = properties.ToImmutableDictionary(property => property.Name, LanguageConstants.IdentifierComparer); - this.MethodResolver = FunctionResolver.Create(functions); + this.MethodResolver = new FunctionResolver(this, functions); this.AdditionalPropertiesType = additionalPropertiesType; this.AdditionalPropertiesFlags = additionalPropertiesFlags; } diff --git a/src/Bicep.Core/TypeSystem/NamespaceType.cs b/src/Bicep.Core/TypeSystem/NamespaceType.cs index 0e88c6b8101..312e13b885d 100644 --- a/src/Bicep.Core/TypeSystem/NamespaceType.cs +++ b/src/Bicep.Core/TypeSystem/NamespaceType.cs @@ -2,19 +2,18 @@ // Licensed under the MIT License. using System.Collections.Generic; using System.Collections.Immutable; -using System.Linq; using Bicep.Core.Semantics; namespace Bicep.Core.TypeSystem { public sealed class NamespaceType : ObjectType { - public NamespaceType(string name, IEnumerable properties, FunctionResolver methodResolver, DecoratorResolver decoratorResolver) + public NamespaceType(string name, IEnumerable properties, IEnumerable functionOverloads, IEnumerable bannedFunctions, IEnumerable decorators) : base(name) { this.Properties = properties.ToImmutableDictionary(property => property.Name, LanguageConstants.IdentifierComparer); - this.MethodResolver = methodResolver; - this.DecoratorResolver = decoratorResolver; + this.MethodResolver = new FunctionResolver(this, functionOverloads, bannedFunctions); + this.DecoratorResolver = new DecoratorResolver(this, decorators); } public override TypeKind TypeKind => TypeKind.Namespace; diff --git a/src/Bicep.Core/TypeSystem/ObjectType.cs b/src/Bicep.Core/TypeSystem/ObjectType.cs index a50b0f93d63..33b91a6d589 100644 --- a/src/Bicep.Core/TypeSystem/ObjectType.cs +++ b/src/Bicep.Core/TypeSystem/ObjectType.cs @@ -13,13 +13,14 @@ public class ObjectType : TypeSymbol public ObjectType(string name) : base(name) { AdditionalPropertiesType = LanguageConstants.Any; + MethodResolver = new FunctionResolver(this, null); } public override TypeKind TypeKind => TypeKind.Primitive; public virtual ImmutableDictionary Properties => ImmutableDictionary.Empty; - public virtual FunctionResolver MethodResolver => FunctionResolver.Empty; + public virtual FunctionResolver MethodResolver { get; } public virtual ITypeReference? AdditionalPropertiesType { get; } diff --git a/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.bicep b/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.bicep index 84bf50cb953..0b5e6c59910 100644 --- a/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.bicep +++ b/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.bicep @@ -8,6 +8,12 @@ param vmSize string @secure() param adminPassword string +var items = [ + 'a' + 'b' + 'c' +] + resource storagePrefix_id 'Microsoft.Storage/storageAccounts@2019-04-01' = [for i in range(0, storageCount): { name: toLower(concat(i, storagePrefix, uniqueString(resourceGroup().id))) location: resourceGroup().location @@ -55,3 +61,9 @@ resource vmPrefix_resource 'Microsoft.Compute/virtualMachines@2020-06-01' = [for } } }] + +output myVar array = [for (item, i) in items: { + name: '>${item}<' + value: item + index: i +}] diff --git a/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.json b/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.json index d76d8e4966c..008a6180131 100644 --- a/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.json +++ b/src/Bicep.Decompiler.IntegrationTests/Working/copyloop/main.json @@ -27,6 +27,13 @@ "type": "secureString" } }, + "variables": { + "items": [ + "a", + "b", + "c" + ] + }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", @@ -93,5 +100,17 @@ } } ], - "outputs": {} + "outputs": { + "myVar": { + "type": "array", + "copy": { + "count": "[length(variables('items'))]", + "input": { + "name": "[format('>{0}<', variables('items')[copyIndex()])]", + "value": "[variables('items')[copyIndex()]]", + "index": "[copyIndex()]" + } + } + } + } } \ No newline at end of file diff --git a/src/Bicep.Decompiler.UnitTests/Rewriters/DependsOnRemovalRewriterTests.cs b/src/Bicep.Decompiler.UnitTests/Rewriters/DependsOnRemovalRewriterTests.cs index 6f40499bf2a..96e292ebd80 100644 --- a/src/Bicep.Decompiler.UnitTests/Rewriters/DependsOnRemovalRewriterTests.cs +++ b/src/Bicep.Decompiler.UnitTests/Rewriters/DependsOnRemovalRewriterTests.cs @@ -50,7 +50,7 @@ public void Unnecessary_dependsOn_statements_are_removed() var rewriter = new DependsOnRemovalRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' } @@ -75,6 +75,7 @@ public void Unnecessary_dependsOn_statements_are_removed() } }"); } + [TestMethod] public void Unneccessary_dependsOn_statements_are_removed_for_modules() { @@ -114,7 +115,7 @@ public void Unneccessary_dependsOn_statements_are_removed_for_modules() var rewriter = new DependsOnRemovalRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' } @@ -159,7 +160,7 @@ public void Necessary_dependsOn_statements_are_not_removed() var rewriter = new DependsOnRemovalRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' } @@ -191,7 +192,7 @@ public void Necessary_dependsOn_statements_are_not_removed_for_modules() var rewriter = new DependsOnRemovalRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' } @@ -217,7 +218,7 @@ public void ProgramSyntax_is_not_modified_if_no_changes_are_applied() var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - // Check that the two references are exactly the same + // Reference equality check to ensure we're not regenerating syntax unnecessarily newProgramSyntax.Should().BeSameAs(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); } } diff --git a/src/Bicep.Decompiler.UnitTests/Rewriters/ForExpressionSimplifierRewriterTests.cs b/src/Bicep.Decompiler.UnitTests/Rewriters/ForExpressionSimplifierRewriterTests.cs new file mode 100644 index 00000000000..7853160f8a1 --- /dev/null +++ b/src/Bicep.Decompiler.UnitTests/Rewriters/ForExpressionSimplifierRewriterTests.cs @@ -0,0 +1,253 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using Bicep.Core.Decompiler.Rewriters; +using Bicep.Core.UnitTests.Utils; +using FluentAssertions; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Bicep.Core.IntegrationTests.ArmHelpers +{ + [TestClass] + public class ForExpressionSimplifierRewriterTests + { + [TestMethod] + public void Length_based_for_loop_is_rewritten() + { + var bicepFile = @" +var items = [ + 'a' + 'b' + 'c' +] +output test array = [for i in range(0, length(items)): { + name: '${items[i]}' + value: items[i] +}] +"; + + var (_, _, compilation) = CompilationHelper.Compile(("main.bicep", bicepFile)); + var rewriter = new ForExpressionSimplifierRewriter(compilation.GetEntrypointSemanticModel()); + + var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( +@"var items = [ + 'a' + 'b' + 'c' +] +output test array = [for item in items: { + name: '${item}' + value: item +}]"); + } + + [TestMethod] + public void Length_based_for_loop_with_index_access_is_rewritten() + { + var bicepFile = @" +var items = [ + 'a' + 'b' + 'c' +] +output test array = [for i in range(0, length(items)): { + name: '${items[i]}' + value: items[i] + index: i +}] +"; + + var (_, _, compilation) = CompilationHelper.Compile(("main.bicep", bicepFile)); + var rewriter = new ForExpressionSimplifierRewriter(compilation.GetEntrypointSemanticModel()); + + var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( +@"var items = [ + 'a' + 'b' + 'c' +] +output test array = [for (item, i) in items: { + name: '${item}' + value: item + index: i +}]"); + } + + [TestMethod] + public void Loop_inside_a_loop() + { + var bicepFile = @" +var vmNames = [ + 'vm1' + 'vm2' +] + +var dataDisks = [ + { + lun: 0 + diskSizeGb: 1023 + } + { + lun: 1 + diskSizeGb: 1023 + } +] + +resource vmsLoop 'Microsoft.Compute/virtualMachines@2020-06-01' = [for i in range(0, length(vmNames)): { + name: '${vmPrefix}-${vmNames[i]}' + location: resourceGroup().location + properties: { + hardwareProfile: { + vmSize: vmSize + } + osProfile: { + computerName: '${vmPrefix}-${vmNames[i]}' + adminUsername: 'vmadmin' + adminPassword: adminPassword + } + storageProfile: { + dataDisks: [for j in range(0, length(dataDisks)): { + diskSizeGB: dataDisks[j].diskSizeGb + lun: dataDisks[j].lun + createOption: 'Empty' + }] + } + } +}] +"; + + var (_, _, compilation) = CompilationHelper.Compile(("main.bicep", bicepFile)); + var rewriter = new ForExpressionSimplifierRewriter(compilation.GetEntrypointSemanticModel()); + + var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( +@"var vmNames = [ + 'vm1' + 'vm2' +] + +var dataDisks = [ + { + lun: 0 + diskSizeGb: 1023 + } + { + lun: 1 + diskSizeGb: 1023 + } +] + +resource vmsLoop 'Microsoft.Compute/virtualMachines@2020-06-01' = [for item_1 in vmNames: { + name: '${vmPrefix}-${item_1}' + location: resourceGroup().location + properties: { + hardwareProfile: { + vmSize: vmSize + } + osProfile: { + computerName: '${vmPrefix}-${item_1}' + adminUsername: 'vmadmin' + adminPassword: adminPassword + } + storageProfile: { + dataDisks: [for item in dataDisks: { + diskSizeGB: item.diskSizeGb + lun: item.lun + createOption: 'Empty' + }] + } + } +}]"); + } + + [TestMethod] + public void Length_based_for_loop_with_anything_other_than_variable_access_cannot_be_rewritten() + { + // without the ability to perform a deep syntax comparison, this scenario (somewhat common in decompiled templates) + // is not supported :( + + var bicepFile = @" +var items = [ + 'a' + 'b' + 'c' +] +var container = { + items: items +} +output test array = [for i in range(0, length(container.items)): { + name: '${container.items[i]}' + value: container.items[i] + index: i +}] +"; + + var (_, _, compilation) = CompilationHelper.Compile(("main.bicep", bicepFile)); + var rewriter = new ForExpressionSimplifierRewriter(compilation.GetEntrypointSemanticModel()); + + var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + + // Reference equality check to ensure we're not regenerating syntax unnecessarily + newProgramSyntax.Should().BeSameAs(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + } + + [TestMethod] + public void Length_based_for_loop_is_rewritten_using_namespaces() + { + var bicepFile = @" +var items = [ + 'a' + 'b' + 'c' +] +output test array = [for i in sys.range(0, sys.length(items)): { + name: '${items[i]}' + value: items[i] +}] +"; + + var (_, _, compilation) = CompilationHelper.Compile(("main.bicep", bicepFile)); + var rewriter = new ForExpressionSimplifierRewriter(compilation.GetEntrypointSemanticModel()); + + var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( +@"var items = [ + 'a' + 'b' + 'c' +] +output test array = [for item in items: { + name: '${item}' + value: item +}]"); + } + + [TestMethod] + public void Length_based_for_loop_is_not_rewritten_with_incorrect_namespace() + { + var bicepFile = @" +var items = [ + 'a' + 'b' + 'c' +] + +// oops - we've used the wrong namespace! +output test array = [for i in az.range(0, az.length(items)): { + name: '${items[i]}' + value: items[i] +}] +"; + + var (_, _, compilation) = CompilationHelper.Compile(("main.bicep", bicepFile)); + var rewriter = new ForExpressionSimplifierRewriter(compilation.GetEntrypointSemanticModel()); + + var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + + // Reference equality check to ensure syntax has not been modified + newProgramSyntax.Should().BeSameAs(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); + } + } +} \ No newline at end of file diff --git a/src/Bicep.Decompiler.UnitTests/Rewriters/ParentChildResourceNameRewriterTests.cs b/src/Bicep.Decompiler.UnitTests/Rewriters/ParentChildResourceNameRewriterTests.cs index 962d81d3ae0..f908932643b 100644 --- a/src/Bicep.Decompiler.UnitTests/Rewriters/ParentChildResourceNameRewriterTests.cs +++ b/src/Bicep.Decompiler.UnitTests/Rewriters/ParentChildResourceNameRewriterTests.cs @@ -32,7 +32,7 @@ public void Parent_syntax_common_variable_reference_can_be_replaced() var rewriter = new ParentChildResourceNameRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"var parentName = 'resA' resource resA 'My.Rp/resA@2020-01-01' = { @@ -68,7 +68,7 @@ public void Parent_syntax_common_variable_reference_in_string_can_be_replaced() var rewriter = new ParentChildResourceNameRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"var parentName = 'resA' resource resA 'My.Rp/resA@2020-01-01' = { @@ -113,7 +113,7 @@ public void Parent_syntax_common_multiple_variable_references_in_string_can_be_r var rewriter = new ParentChildResourceNameRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"param parentName string = 'resA' var parentSuffix = 'suffix' var test = 'hello' @@ -158,7 +158,7 @@ public void Mismatching_resource_type_will_not_be_replaced() var rewriter = new ParentChildResourceNameRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"var parentName = 'resA' resource resA 'My.Rp/resA@2020-01-01' = { diff --git a/src/Bicep.Decompiler.UnitTests/Rewriters/TypeCasingFixerRewriterTests.cs b/src/Bicep.Decompiler.UnitTests/Rewriters/TypeCasingFixerRewriterTests.cs index ed787016ee5..e62045cdd54 100644 --- a/src/Bicep.Decompiler.UnitTests/Rewriters/TypeCasingFixerRewriterTests.cs +++ b/src/Bicep.Decompiler.UnitTests/Rewriters/TypeCasingFixerRewriterTests.cs @@ -26,7 +26,7 @@ public void ProgramSyntax_is_not_modified_if_no_changes_are_applied() var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - // Check that the two references are exactly the same + // Reference equality check to ensure we're not regenerating syntax unnecessarily newProgramSyntax.Should().BeSameAs(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); } @@ -69,7 +69,7 @@ public void Casing_issues_are_corrected() var rewriter = new TypeCasingFixerRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' properties: { @@ -118,7 +118,7 @@ public void Nested_casing_issues_take_multiple_passes_to_correct() var rewriter = new TypeCasingFixerRewriter(compilation.GetEntrypointSemanticModel()); var newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - var firstPassBicepFile = PrintHelper.PrettyPrint(newProgramSyntax); + var firstPassBicepFile = PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax); firstPassBicepFile.Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' @@ -137,7 +137,7 @@ public void Nested_casing_issues_take_multiple_passes_to_correct() rewriter = new TypeCasingFixerRewriter(compilation.GetEntrypointSemanticModel()); newProgramSyntax = rewriter.Rewrite(compilation.SyntaxTreeGrouping.EntryPoint.ProgramSyntax); - PrintHelper.PrettyPrint(newProgramSyntax).Should().Be( + PrintHelper.PrintAndCheckForParseErrors(newProgramSyntax).Should().Be( @"resource resA 'My.Rp/resA@2020-01-01' = { name: 'resA' properties: { diff --git a/src/Bicep.Decompiler/Rewriters/DependsOnRemovalRewriter.cs b/src/Bicep.Decompiler/Rewriters/DependsOnRemovalRewriter.cs index c1768a801f3..40a155db5ff 100644 --- a/src/Bicep.Decompiler/Rewriters/DependsOnRemovalRewriter.cs +++ b/src/Bicep.Decompiler/Rewriters/DependsOnRemovalRewriter.cs @@ -9,6 +9,15 @@ namespace Bicep.Core.Decompiler.Rewriters { + // Looks for resources where a dependency can already be inferred by the structure of the resource declaration. + // + // As an example, because the below resource already has a reference to 'otherRes' in the name property, the dependsOn is not adding anything: + // resource myRes 'My.Rp/myResource@2020-01-01' = { + // name: otherRes.name + // dependsOn: [ + // otherRes + // ] + // } public class DependsOnRemovalRewriter : SyntaxRewriteVisitor { private readonly SemanticModel semanticModel; @@ -121,7 +130,7 @@ public DependsOnRemovalRewriter(SemanticModel semanticModel) @object.CloseBrace); } - protected override ResourceDeclarationSyntax ReplaceResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) + protected override SyntaxBase ReplaceResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { var replacementValue = TryGetReplacementValue(syntax.Value); if (replacementValue is null) @@ -139,7 +148,7 @@ protected override ResourceDeclarationSyntax ReplaceResourceDeclarationSyntax(Re replacementValue); } - protected override ModuleDeclarationSyntax ReplaceModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) + protected override SyntaxBase ReplaceModuleDeclarationSyntax(ModuleDeclarationSyntax syntax) { var replacementValue = TryGetReplacementValue(syntax.Value); if (replacementValue is null) diff --git a/src/Bicep.Decompiler/Rewriters/ForExpressionSimplifierRewriter.cs b/src/Bicep.Decompiler/Rewriters/ForExpressionSimplifierRewriter.cs new file mode 100644 index 00000000000..e276d7de3b7 --- /dev/null +++ b/src/Bicep.Decompiler/Rewriters/ForExpressionSimplifierRewriter.cs @@ -0,0 +1,196 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Bicep.Core.Semantics; +using Bicep.Core.Syntax; +using Bicep.Core.Syntax.Rewriters; +using Bicep.Core.Syntax.Visitors; +using Bicep.Core.TypeSystem; + +namespace Bicep.Core.Decompiler.Rewriters +{ + /// + /// Looks for syntax of form (commonly generated by the decompiler): + /// for {index} in range(0, length({array})) + /// Where elements are being accessed via: + /// {array}[{index}] + /// + /// Rewrites this syntax instead to: + /// for {item} in {array} + /// Where elements are accessed via: + /// {item} + /// + public class ForExpressionSimplifierRewriter : SyntaxRewriteVisitor + { + private readonly SemanticModel semanticModel; + + public ForExpressionSimplifierRewriter(SemanticModel semanticModel) + { + this.semanticModel = semanticModel; + } + + private static bool IsLoopIteratorExpression(SemanticModel semanticModel, SyntaxBase syntax, [NotNullWhen(true)] out VariableAccessSyntax? arrayVariable) + { + arrayVariable = null; + + // look for a range() function with 2 args + if (SemanticModelHelper.TryGetFunctionInNamespace(semanticModel, "sys", syntax) is not FunctionCallSyntaxBase rangeFunction || + !LanguageConstants.IdentifierComparer.Equals(rangeFunction.Name.IdentifierName, "range") || + rangeFunction.Arguments.Length != 2) + { + return false; + } + + // first range() arg must be 0 + if (rangeFunction.Arguments[0].Expression is not IntegerLiteralSyntax startRange || + startRange.Value != 0) + { + return false; + } + + // look for a length() function with 1 arg + if (SemanticModelHelper.TryGetFunctionInNamespace(semanticModel, "sys", rangeFunction.Arguments[1].Expression) is not FunctionCallSyntaxBase lengthFunction || + !LanguageConstants.IdentifierComparer.Equals(lengthFunction.Name.IdentifierName, "length") || + lengthFunction.Arguments.Length != 1) + { + return false; + } + + // first length() arg must be a variable + if (lengthFunction.Arguments[0].Expression is not VariableAccessSyntax variableAccess) + { + return false; + } + + arrayVariable = variableAccess; + return true; + } + + protected override SyntaxBase ReplaceForSyntax(ForSyntax syntax) + { + syntax = (ForSyntax)base.ReplaceForSyntax(syntax); + + // look for range(0, length()) + if (!IsLoopIteratorExpression(semanticModel, syntax.Expression, out var arrayVariable)) + { + return syntax; + } + + if (syntax.VariableSection is not LocalVariableSyntax indexVariable) + { + return syntax; + } + + var arraySymbol = semanticModel.GetSymbolInfo(arrayVariable); + var arrayIndexSymbol = semanticModel.GetSymbolInfo(indexVariable); + + if (arraySymbol is null || arrayIndexSymbol is null) + { + return syntax; + } + + var arrayAccesses = new HashSet(); + var independentIndexAccesses = new HashSet(); + CallbackVisitor.Visit(syntax, child => { + if (child is ArrayAccessSyntax arrayAccess) + { + if (semanticModel.GetSymbolInfo(arrayAccess.BaseExpression) == arraySymbol && + semanticModel.GetSymbolInfo(arrayAccess.IndexExpression) == arrayIndexSymbol) + { + arrayAccesses.Add(arrayAccess); + + // we don't want to count the VariableAccessSyntax under this particular node, + // so return false to skip visiting children. + return false; + } + } + + if (child is VariableAccessSyntax variableAccess) + { + var accessSymbol = semanticModel.GetSymbolInfo(variableAccess); + if (accessSymbol == arrayIndexSymbol) + { + independentIndexAccesses.Add(variableAccess); + } + } + + return true; + }); + + if (!arrayAccesses.Any()) + { + // nothing to really simplify here + return syntax; + } + + var itemVarName = GetUniqueVariableNameForNewScope(syntax, "item"); + var forBody = CallbackRewriter.Rewrite(syntax.Body, child => { + if (arrayAccesses.Contains(child)) + { + return new VariableAccessSyntax(SyntaxFactory.CreateIdentifier(itemVarName)); + } + + return child; + }); + + SyntaxBase forVariableBlockSyntax; + if (independentIndexAccesses.Any()) + { + forVariableBlockSyntax = new ForVariableBlockSyntax( + SyntaxFactory.LeftParenToken, + new LocalVariableSyntax(SyntaxFactory.CreateIdentifier(itemVarName)), + SyntaxFactory.CommaToken, + new LocalVariableSyntax(SyntaxFactory.CreateIdentifier(arrayIndexSymbol.Name)), + SyntaxFactory.RightParenToken); + } + else + { + forVariableBlockSyntax = new LocalVariableSyntax(SyntaxFactory.CreateIdentifier(itemVarName)); + } + + var forExpression = new VariableAccessSyntax(SyntaxFactory.CreateIdentifier(arraySymbol.Name)); + + return new ForSyntax( + syntax.OpenSquare, + syntax.ForKeyword, + forVariableBlockSyntax, + syntax.InKeyword, + forExpression, + syntax.Colon, + forBody, + syntax.CloseSquare); + } + + private static string GetUniqueVariableNameForNewScope(SyntaxBase syntax, string name) + { + var variableAccesses = new HashSet(LanguageConstants.IdentifierComparer); + CallbackVisitor.Visit(syntax, child => { + if (child is VariableAccessSyntax variableAccess) + { + variableAccesses.Add(variableAccess.Name.IdentifierName); + } + + return true; + }); + + if (!variableAccesses.Contains(name)) + { + return name; + } + + var index = 1; + while (true) + { + var newName = $"{name}_{index}"; + + if (!variableAccesses.Contains(newName)) + { + return newName; + } + } + } + } +} \ No newline at end of file diff --git a/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs b/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs index 9c4a27f9d0c..37914cee221 100644 --- a/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs +++ b/src/Bicep.Decompiler/Rewriters/ParentChildResourceNameRewriter.cs @@ -11,6 +11,19 @@ namespace Bicep.Core.Decompiler.Rewriters { + // Looks for cases where the child and parent share a common syntax structure for naming, and replaces with a direct reference to the parent instead. + // + // As an example, because 'resB' below has its name formatted as '${parentName}/resB', we can replace this with '${resA.name}/resB': + // resource resA 'My.Rp/resA@2020-01-01' = { + // name: parentName + // } + // + // resource resB 'My.Rp/resA/childB@2020-01-01' = { + // name: '${parentName}/resB' + // dependsOn: [ + // resA + // ] + // } public class ParentChildResourceNameRewriter : SyntaxRewriteVisitor { private readonly SemanticModel semanticModel; @@ -20,7 +33,7 @@ public ParentChildResourceNameRewriter(SemanticModel semanticModel) this.semanticModel = semanticModel; } - protected override ResourceDeclarationSyntax ReplaceResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) + protected override SyntaxBase ReplaceResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { if (syntax.TryGetBody() is not ObjectSyntax resourceBody || resourceBody.SafeGetPropertyByName("name") is not ObjectPropertySyntax resourceNameProp || diff --git a/src/Bicep.Decompiler/Rewriters/TypeCasingFixerRewriter.cs b/src/Bicep.Decompiler/Rewriters/TypeCasingFixerRewriter.cs index 1d9c82be19b..7917c0993a0 100644 --- a/src/Bicep.Decompiler/Rewriters/TypeCasingFixerRewriter.cs +++ b/src/Bicep.Decompiler/Rewriters/TypeCasingFixerRewriter.cs @@ -13,6 +13,8 @@ namespace Bicep.Core.Decompiler.Rewriters { + // Looks for object properties where type information is available, and the key matches a known property, but the casing is different. + // This occurs commonly when decompiling from JSON where properties are case insensitive, and avoids generating a .bicep file with lots of warnings that need to be fixed. public class TypeCasingFixerRewriter : SyntaxRewriteVisitor { private readonly SemanticModel semanticModel; @@ -22,7 +24,7 @@ public TypeCasingFixerRewriter(SemanticModel semanticModel) this.semanticModel = semanticModel; } - protected override ObjectSyntax ReplaceObjectSyntax(ObjectSyntax syntax) + protected override SyntaxBase ReplaceObjectSyntax(ObjectSyntax syntax) { var declaredType = semanticModel.GetDeclaredType(syntax); if (declaredType is not ObjectType objectType) @@ -73,7 +75,7 @@ protected override ObjectSyntax ReplaceObjectSyntax(ObjectSyntax syntax) syntax.CloseBrace); } - protected override PropertyAccessSyntax ReplacePropertyAccessSyntax(PropertyAccessSyntax syntax) + protected override SyntaxBase ReplacePropertyAccessSyntax(PropertyAccessSyntax syntax) { var baseType = semanticModel.GetDeclaredType(syntax.BaseExpression); if (baseType is not ObjectType objectType) @@ -100,7 +102,7 @@ protected override PropertyAccessSyntax ReplacePropertyAccessSyntax(PropertyAcce propertySyntax); } - protected override StringSyntax ReplaceStringSyntax(StringSyntax syntax) + protected override SyntaxBase ReplaceStringSyntax(StringSyntax syntax) { var declaredType = semanticModel.GetDeclaredType(syntax); diff --git a/src/Bicep.Decompiler/TemplateDecompiler.cs b/src/Bicep.Decompiler/TemplateDecompiler.cs index 4ab983fbea7..08433a00d5a 100644 --- a/src/Bicep.Decompiler/TemplateDecompiler.cs +++ b/src/Bicep.Decompiler/TemplateDecompiler.cs @@ -81,6 +81,7 @@ public static (Uri entrypointUri, ImmutableDictionary filesToSave) RewriteSyntax(resourceTypeProvider, workspace, entryUri, semanticModel => new ParentChildResourceNameRewriter(semanticModel)); RewriteSyntax(resourceTypeProvider, workspace, entryUri, semanticModel => new DependsOnRemovalRewriter(semanticModel)); + RewriteSyntax(resourceTypeProvider, workspace, entryUri, semanticModel => new ForExpressionSimplifierRewriter(semanticModel)); for (var i = 0; i < 5; i++) { // This is a little weird. If there are casing issues nested inside casing issues (e.g. in an object), then the inner casing issue will have no type information From 0e1d1b1811061cb15f33ecbb1f24a8316637dd32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 05:51:29 +0000 Subject: [PATCH 12/25] Bump webpack from 5.25.1 to 5.26.0 in /src/vscode-bicep (#1889) Bumps [webpack](https://github.com/webpack/webpack) from 5.25.1 to 5.26.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.25.1...v5.26.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 18 +++++++++--------- src/vscode-bicep/package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index 7852624fea5..91d1c7d0894 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -2256,9 +2256,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001200", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001200.tgz", - "integrity": "sha512-ic/jXfa6tgiPBAISWk16jRI2q8YfjxHnSG7ddSL1ptrIP8Uy11SayFrjXRAk3NumHpDb21fdTkbTxb/hOrFrnQ==", + "version": "1.0.30001202", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", + "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==", "dev": true }, "capture-exit": { @@ -3071,9 +3071,9 @@ } }, "electron-to-chromium": { - "version": "1.3.687", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz", - "integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==", + "version": "1.3.689", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.689.tgz", + "integrity": "sha512-WCn+ZaU3V8WttlLNSOGOAlR2XpxibGre7slwGrYBB6oTjYPgP29LNDGG6wLvLTMseLdE+G1vno7PfY7JyDV48g==", "dev": true }, "emitter-listener": { @@ -9128,9 +9128,9 @@ "dev": true }, "webpack": { - "version": "5.25.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.1.tgz", - "integrity": "sha512-dzFTJwehoLZkeHUkvMSwAgVdGL+PerfX0mke9tOWjJs4OzFctkxCqD8Zj5J387jLkC4gNqSin0/EurhH28boCg==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.26.0.tgz", + "integrity": "sha512-9kQATUOGQBkqzNKFmFON4KXZDsXnE7xk58tBxca8aCi+6/QhAbmWIvtGqBL66XIsBFpomFH0/0KyCaySo0ta2g==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index 4389b1b5494..7421db7e2be 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -117,7 +117,7 @@ "typescript": "^4.2.3", "vsce": "^1.87.0", "vscode-test": "^1.5.1", - "webpack": "^5.25.1", + "webpack": "^5.26.0", "webpack-cli": "^4.5.0" }, "dependencies": { From 668180fd2ffdd5306bf8c17ea62032fb31550d4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 05:52:31 +0000 Subject: [PATCH 13/25] Bump @types/node from 14.14.34 to 14.14.35 in /src/vscode-bicep (#1888) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.34 to 14.14.35. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 6 +++--- src/vscode-bicep/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index 91d1c7d0894..84da80f2448 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -1189,9 +1189,9 @@ "dev": true }, "@types/node": { - "version": "14.14.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.34.tgz", - "integrity": "sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA==" + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==" }, "@types/node-fetch": { "version": "2.5.8", diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index 7421db7e2be..93043720b15 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -95,7 +95,7 @@ "devDependencies": { "@types/jest": "^26.0.20", "@types/mocha": "^8.2.1", - "@types/node": "^14.14.34", + "@types/node": "^14.14.35", "@types/semver": "^7.3.4", "@types/triple-beam": "^1.3.2", "@types/vscode": "^1.52.0", From cebc940762c847acbece7964e34d40cfa07d9efc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 05:53:19 +0000 Subject: [PATCH 14/25] Bump @typescript-eslint/parser in /src/vscode-bicep (#1890) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.17.0 to 4.18.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/parser) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 61 +++++++++++++++++++++++++++--- src/vscode-bicep/package.json | 2 +- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index 84da80f2448..dc0cafdf38a 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -1421,15 +1421,64 @@ } }, "@typescript-eslint/parser": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.17.0.tgz", - "integrity": "sha512-KYdksiZQ0N1t+6qpnl6JeK9ycCFprS9xBAiIrw4gSphqONt8wydBw4BXJi3C11ywZmyHulvMaLjWsxDjUSDwAw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.18.0.tgz", + "integrity": "sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.17.0", - "@typescript-eslint/types": "4.17.0", - "@typescript-eslint/typescript-estree": "4.17.0", + "@typescript-eslint/scope-manager": "4.18.0", + "@typescript-eslint/types": "4.18.0", + "@typescript-eslint/typescript-estree": "4.18.0", "debug": "^4.1.1" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz", + "integrity": "sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.18.0", + "@typescript-eslint/visitor-keys": "4.18.0" + } + }, + "@typescript-eslint/types": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.18.0.tgz", + "integrity": "sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz", + "integrity": "sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.18.0", + "@typescript-eslint/visitor-keys": "4.18.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz", + "integrity": "sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.18.0", + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + } } }, "@typescript-eslint/scope-manager": { diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index 93043720b15..a54a68cdfd3 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -101,7 +101,7 @@ "@types/vscode": "^1.52.0", "@types/webpack": "^4.41.26", "@typescript-eslint/eslint-plugin": "^4.17.0", - "@typescript-eslint/parser": "^4.17.0", + "@typescript-eslint/parser": "^4.18.0", "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-header": "^3.1.1", From f56eb6523ac82d682fb305f8d6891ec127659c23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 05:54:20 +0000 Subject: [PATCH 15/25] Bump webpack from 5.25.1 to 5.26.0 in /src/playground (#1892) Bumps [webpack](https://github.com/webpack/webpack) from 5.25.1 to 5.26.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.25.1...v5.26.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/playground/package-lock.json | 18 +++++++++--------- src/playground/package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/playground/package-lock.json b/src/playground/package-lock.json index c270e30ec01..b6320a2b9d9 100644 --- a/src/playground/package-lock.json +++ b/src/playground/package-lock.json @@ -1050,9 +1050,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001200", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001200.tgz", - "integrity": "sha512-ic/jXfa6tgiPBAISWk16jRI2q8YfjxHnSG7ddSL1ptrIP8Uy11SayFrjXRAk3NumHpDb21fdTkbTxb/hOrFrnQ==", + "version": "1.0.30001202", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", + "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==", "dev": true }, "chalk": { @@ -1825,9 +1825,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.687", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz", - "integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==", + "version": "1.3.689", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.689.tgz", + "integrity": "sha512-WCn+ZaU3V8WttlLNSOGOAlR2XpxibGre7slwGrYBB6oTjYPgP29LNDGG6wLvLTMseLdE+G1vno7PfY7JyDV48g==", "dev": true }, "emoji-regex": { @@ -5574,9 +5574,9 @@ } }, "webpack": { - "version": "5.25.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.1.tgz", - "integrity": "sha512-dzFTJwehoLZkeHUkvMSwAgVdGL+PerfX0mke9tOWjJs4OzFctkxCqD8Zj5J387jLkC4gNqSin0/EurhH28boCg==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.26.0.tgz", + "integrity": "sha512-9kQATUOGQBkqzNKFmFON4KXZDsXnE7xk58tBxca8aCi+6/QhAbmWIvtGqBL66XIsBFpomFH0/0KyCaySo0ta2g==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", diff --git a/src/playground/package.json b/src/playground/package.json index f10cd43437c..a907c9d3a4b 100644 --- a/src/playground/package.json +++ b/src/playground/package.json @@ -29,7 +29,7 @@ "ts-loader": "^8.0.18", "ts-node": "^9.1.1", "typescript": "^4.2.3", - "webpack": "^5.25.1", + "webpack": "^5.26.0", "webpack-cli": "^4.5.0", "webpack-dev-server": "^3.11.2" }, From 813295877d47403f264e77a9003124e5c093c258 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 05:57:27 +0000 Subject: [PATCH 16/25] Bump @types/node from 14.14.34 to 14.14.35 in /src/playground (#1894) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.34 to 14.14.35. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/playground/package-lock.json | 6 +++--- src/playground/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/playground/package-lock.json b/src/playground/package-lock.json index b6320a2b9d9..4133a5a67f5 100644 --- a/src/playground/package-lock.json +++ b/src/playground/package-lock.json @@ -217,9 +217,9 @@ "dev": true }, "@types/node": { - "version": "14.14.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.34.tgz", - "integrity": "sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA==", + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", "dev": true }, "@types/pako": { diff --git a/src/playground/package.json b/src/playground/package.json index a907c9d3a4b..a7e8f543c0d 100644 --- a/src/playground/package.json +++ b/src/playground/package.json @@ -13,7 +13,7 @@ "license": "ISC", "devDependencies": { "@types/copy-webpack-plugin": "^6.4.0", - "@types/node": "^14.14.34", + "@types/node": "^14.14.35", "@types/pako": "^1.0.1", "@types/react": "^16.14.5", "@types/react-dom": "^17.0.2", From 5dbde282532a97be0c6032104b0e0e9e2ebd2d45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 08:00:05 +0000 Subject: [PATCH 17/25] Bump @typescript-eslint/eslint-plugin in /src/vscode-bicep (#1891) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.17.0 to 4.18.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/eslint-plugin) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/vscode-bicep/package-lock.json | 56 +++++++++++++++--------------- src/vscode-bicep/package.json | 2 +- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/vscode-bicep/package-lock.json b/src/vscode-bicep/package-lock.json index dc0cafdf38a..57a778b1a2d 100644 --- a/src/vscode-bicep/package-lock.json +++ b/src/vscode-bicep/package-lock.json @@ -1328,13 +1328,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.17.0.tgz", - "integrity": "sha512-/fKFDcoHg8oNan39IKFOb5WmV7oWhQe1K6CDaAVfJaNWEhmfqlA24g+u1lqU5bMH7zuNasfMId4LaYWC5ijRLw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.18.0.tgz", + "integrity": "sha512-Lzkc/2+7EoH7+NjIWLS2lVuKKqbEmJhtXe3rmfA8cyiKnZm3IfLf51irnBcmow8Q/AptVV0XBZmBJKuUJTe6cQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.17.0", - "@typescript-eslint/scope-manager": "4.17.0", + "@typescript-eslint/experimental-utils": "4.18.0", + "@typescript-eslint/scope-manager": "4.18.0", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "lodash": "^4.17.15", @@ -1344,43 +1344,43 @@ }, "dependencies": { "@typescript-eslint/experimental-utils": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.17.0.tgz", - "integrity": "sha512-ZR2NIUbnIBj+LGqCFGQ9yk2EBQrpVVFOh9/Kd0Lm6gLpSAcCuLLe5lUCibKGCqyH9HPwYC0GIJce2O1i8VYmWA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.18.0.tgz", + "integrity": "sha512-92h723Kblt9JcT2RRY3QS2xefFKar4ZQFVs3GityOKWQYgtajxt/tuXIzL7sVCUlM1hgreiV5gkGYyBpdOwO6A==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.17.0", - "@typescript-eslint/types": "4.17.0", - "@typescript-eslint/typescript-estree": "4.17.0", + "@typescript-eslint/scope-manager": "4.18.0", + "@typescript-eslint/types": "4.18.0", + "@typescript-eslint/typescript-estree": "4.18.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/scope-manager": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.17.0.tgz", - "integrity": "sha512-OJ+CeTliuW+UZ9qgULrnGpPQ1bhrZNFpfT/Bc0pzNeyZwMik7/ykJ0JHnQ7krHanFN9wcnPK89pwn84cRUmYjw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz", + "integrity": "sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ==", "dev": true, "requires": { - "@typescript-eslint/types": "4.17.0", - "@typescript-eslint/visitor-keys": "4.17.0" + "@typescript-eslint/types": "4.18.0", + "@typescript-eslint/visitor-keys": "4.18.0" } }, "@typescript-eslint/types": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.17.0.tgz", - "integrity": "sha512-RN5z8qYpJ+kXwnLlyzZkiJwfW2AY458Bf8WqllkondQIcN2ZxQowAToGSd9BlAUZDB5Ea8I6mqL2quGYCLT+2g==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.18.0.tgz", + "integrity": "sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.17.0.tgz", - "integrity": "sha512-lRhSFIZKUEPPWpWfwuZBH9trYIEJSI0vYsrxbvVvNyIUDoKWaklOAelsSkeh3E2VBSZiNe9BZ4E5tYBZbUczVQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz", + "integrity": "sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.17.0", - "@typescript-eslint/visitor-keys": "4.17.0", + "@typescript-eslint/types": "4.18.0", + "@typescript-eslint/visitor-keys": "4.18.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -1389,12 +1389,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.17.0.tgz", - "integrity": "sha512-WfuMN8mm5SSqXuAr9NM+fItJ0SVVphobWYkWOwQ1odsfC014Vdxk/92t4JwS1Q6fCA/ABfCKpa3AVtpUKTNKGQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz", + "integrity": "sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.17.0", + "@typescript-eslint/types": "4.18.0", "eslint-visitor-keys": "^2.0.0" } }, diff --git a/src/vscode-bicep/package.json b/src/vscode-bicep/package.json index a54a68cdfd3..010c20918c8 100644 --- a/src/vscode-bicep/package.json +++ b/src/vscode-bicep/package.json @@ -100,7 +100,7 @@ "@types/triple-beam": "^1.3.2", "@types/vscode": "^1.52.0", "@types/webpack": "^4.41.26", - "@typescript-eslint/eslint-plugin": "^4.17.0", + "@typescript-eslint/eslint-plugin": "^4.18.0", "@typescript-eslint/parser": "^4.18.0", "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", From 3ecb8a2b9d306c45f8b380c631fc51ab6e5cdb67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 11:41:07 +0000 Subject: [PATCH 18/25] Bump css-loader from 5.1.2 to 5.1.3 in /src/playground (#1893) Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 5.1.2 to 5.1.3. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v5.1.2...v5.1.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/playground/package-lock.json | 12 ++++++------ src/playground/package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/playground/package-lock.json b/src/playground/package-lock.json index 4133a5a67f5..d59ef6cc959 100644 --- a/src/playground/package-lock.json +++ b/src/playground/package-lock.json @@ -1436,9 +1436,9 @@ } }, "css-loader": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.2.tgz", - "integrity": "sha512-T7vTXHSx0KrVEg/xjcl7G01RcVXpcw4OELwDPvkr7izQNny85A84dK3dqrczuEfBcu7Yg7mdTjJLSTibRUoRZg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.3.tgz", + "integrity": "sha512-CoPZvyh8sLiGARK3gqczpfdedbM74klGWurF2CsNZ2lhNaXdLIUks+3Mfax3WBeRuHoglU+m7KG/+7gY6G4aag==", "dev": true, "requires": { "camelcase": "^6.2.0", @@ -3513,9 +3513,9 @@ "optional": true }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", + "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", "dev": true }, "nanomatch": { diff --git a/src/playground/package.json b/src/playground/package.json index a7e8f543c0d..d863c931fb6 100644 --- a/src/playground/package.json +++ b/src/playground/package.json @@ -20,7 +20,7 @@ "@types/webpack": "^4.41.26", "@types/webpack-dev-server": "^3.11.2", "copy-webpack-plugin": "^8.0.0", - "css-loader": "^5.1.2", + "css-loader": "^5.1.3", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.3.1", "monaco-editor-webpack-plugin": "^2.1.0", From 82210d750f6664b4eb7a4f001a10e89df4374177 Mon Sep 17 00:00:00 2001 From: Pinaki Ghatak <57876192+pinakighatak@users.noreply.github.com> Date: Tue, 16 Mar 2021 15:40:47 +0100 Subject: [PATCH 19/25] curl download file extension added (#1896) --- docs/cicd-with-bicep.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/cicd-with-bicep.md b/docs/cicd-with-bicep.md index 0d4033fb52c..c8123b45d0d 100644 --- a/docs/cicd-with-bicep.md +++ b/docs/cicd-with-bicep.md @@ -18,6 +18,10 @@ name: bicep build and deploy on: push +env: + # Common variables + AZURE_RESOURCE_GROUP: 'myResourceGroupName' + jobs: bicep-build-and-deploy: name: bicep build and deploy @@ -28,12 +32,12 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - # Install the latest release of the bicep CLI - - name: Install bicep CLI + # Install the latest release of the bicep CLI binaries + - name: Install bicep CLI Binaries run: | - curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 - chmod +x ./bicep - sudo mv ./bicep /usr/local/bin/bicep + curl -Lo bicep.bin https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./bicep.bin + sudo mv ./bicep.bin /usr/local/bin/bicep bicep --help # Transpile bicep file into ARM template @@ -56,7 +60,7 @@ jobs: with: inlineScript: | az account show - az deployment group what-if -f ./main.json -p ./parameters.json -g my-rg + az deployment group what-if -f ./main.json -p ./parameters.json -g ${{ env.AZURE_RESOURCE_GROUP }} # You may want a human approval in between the what-if step # and the deploy step to evaluate output before deployment @@ -67,7 +71,7 @@ jobs: with: inlineScript: | az account show - az deployment group create -f ./main.json -g my-rg + az deployment group create -f ./main.json -g ${{ env.AZURE_RESOURCE_GROUP }} ``` Instead of installing the Bicep CLI manually, you may instead want to use the [community-maintained github action](https://github.com/marketplace/actions/bicep-build) from [@justinyoo](https://github.com/justinyoo) that can run `bicep build` on your behalf. From d752e73632fecde5140899c5c3de577640186ee3 Mon Sep 17 00:00:00 2001 From: Marcin Jastrzebski Date: Tue, 16 Mar 2021 13:37:06 -0700 Subject: [PATCH 20/25] resource/module loop filters (#1884) --- docs/grammar.md | 3 +- docs/spec/loops.md | 12 +- .../Files/Completions/object.json | 18 + .../Completions/symbolsPlusX.json | 98 + .../Completions/symbolsPlusX_if.json | 2519 ++++++++ .../Files/InvalidModules_LF/main.bicep | 29 + .../InvalidModules_LF/main.diagnostics.bicep | 58 +- .../InvalidModules_LF/main.formatted.bicep | 28 + .../InvalidModules_LF/main.symbols.bicep | 45 + .../Files/InvalidModules_LF/main.syntax.bicep | 317 + .../Files/InvalidModules_LF/main.tokens.bicep | 196 + .../Completions/arrayPlusSymbols.json | 470 ++ .../cleanupPreferencesPlusSymbols.json | 470 ++ .../cliPropertyAccessIndexesPlusSymbols.json | 470 ++ ...iPropertyAccessIndexesPlusSymbols_for.json | 470 ++ ...opertyAccessIndexesPlusSymbols_for_if.json | 5012 ++++++++++++++++ ...liPropertyAccessIndexesPlusSymbols_if.json | 470 ++ .../createModeIndexPlusSymbols.json | 470 ++ .../createModeIndexPlusSymbols_for.json | 470 ++ .../createModeIndexPlusSymbols_for_if.json | 4760 +++++++++++++++ .../createModeIndexPlusSymbols_if.json | 470 ++ .../Completions/defaultCreateModeIndexes.json | 470 ++ .../defaultCreateModeIndexes_for.json | 470 ++ .../defaultCreateModeIndexes_for_if.json | 5246 +++++++++++++++++ .../defaultCreateModeIndexes_if.json | 470 ++ .../deploymentScriptKindsPlusSymbols.json | 470 ++ .../deploymentScriptKindsPlusSymbols_for.json | 470 ++ ...ploymentScriptKindsPlusSymbols_for_if.json | 4781 +++++++++++++++ .../deploymentScriptKindsPlusSymbols_if.json | 470 ++ ...DiscriminatorPropertyIndexPlusSymbols.json | 470 ++ ...riminatorPropertyIndexPlusSymbols_for.json | 470 ++ ...inatorPropertyIndexPlusSymbols_for_if.json | 4760 +++++++++++++++ ...criminatorPropertyIndexPlusSymbols_if.json | 470 ++ .../Completions/objectPlusFor.json | 18 + .../Completions/objectPlusSymbols.json | 470 ++ .../storageSkuNamePlusSymbols.json | 470 ++ .../Completions/symbols.json | 470 ++ .../Completions/symbolsPlusAccount.json | 470 ++ .../Completions/symbolsPlusAccount2.json | 470 ++ .../symbolsPlusAccountRuleState.json | 470 ++ .../symbolsPlusAccountRuleStateSomething.json | 470 ++ .../Completions/symbolsPlusArrayAndFor.json | 470 ++ .../symbolsPlusArrayWithoutFor.json | 470 ++ .../Completions/symbolsPlusRule.json | 470 ++ .../Files/InvalidResources_CRLF/main.bicep | 136 +- .../main.diagnostics.bicep | 199 +- .../main.formatted.bicep | 122 +- .../InvalidResources_CRLF/main.symbols.bicep | 188 +- .../InvalidResources_CRLF/main.syntax.bicep | 1138 +++- .../InvalidResources_CRLF/main.tokens.bicep | 735 ++- .../Completions/objectVarTopLevelIndexes.json | 14 + .../Completions/symbols.json | 14 + .../Completions/twoIndexPlusSymbols.json | 14 + .../Files/InvalidVariables_LF/main.bicep | 3 + .../main.diagnostics.bicep | 6 + .../InvalidVariables_LF/main.formatted.bicep | 3 + .../InvalidVariables_LF/main.symbols.bicep | 5 + .../InvalidVariables_LF/main.syntax.bicep | 25 + .../InvalidVariables_LF/main.tokens.bicep | 16 + .../Files/Loops_LF/main.bicep | 28 + .../Files/Loops_LF/main.diagnostics.bicep | 28 + .../Files/Loops_LF/main.formatted.bicep | 28 + .../Files/Loops_LF/main.json | 108 +- .../Files/Loops_LF/main.symbols.bicep | 40 + .../Files/Loops_LF/main.syntax.bicep | 410 +- .../Files/Loops_LF/main.tokens.bicep | 242 +- .../Diagnostics/DiagnosticBuilder.cs | 5 + src/Bicep.Core/Emit/TemplateWriter.cs | 23 +- src/Bicep.Core/Parsing/Parser.cs | 46 +- .../PrettyPrint/DocumentBuildVisitor.cs | 3 + .../Syntax/ModuleDeclarationSyntax.cs | 9 +- .../Syntax/ResourceDeclarationSyntax.cs | 9 +- .../TypeSystem/DeclaredTypeManager.cs | 30 +- .../Completions/BicepCompletionProvider.cs | 12 +- 74 files changed, 44152 insertions(+), 77 deletions(-) create mode 100644 src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX_if.json create mode 100644 src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for_if.json create mode 100644 src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for_if.json create mode 100644 src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for_if.json create mode 100644 src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for_if.json create mode 100644 src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for_if.json diff --git a/docs/grammar.md b/docs/grammar.md index 312b604b550..71c693e096c 100644 --- a/docs/grammar.md +++ b/docs/grammar.md @@ -94,8 +94,9 @@ parenthesizedExpression -> "(" expression ")" ifCondition -> "if" parenthesizedExpression object -forExpression -> "[" "for" (IDENTIFIER(item) | forVariableBlock) "in" expression ":" expression(body) "]" +forExpression -> "[" "for" (IDENTIFIER(item) | forVariableBlock) "in" expression ":" forBody "]" forVariableBlock -> "(" IDENTIFIER(item) "," IDENTIFIER(index) ")" +forBody -> expression(body) | ifCondition interpString -> stringLeftPiece ( expression stringMiddlePiece )* expression stringRightPiece | stringComplete stringLeftPiece -> "'" STRINGCHAR* "${" diff --git a/docs/spec/loops.md b/docs/spec/loops.md index 2acaea9c979..c24d33371b6 100644 --- a/docs/spec/loops.md +++ b/docs/spec/loops.md @@ -11,7 +11,7 @@ Loops may be used to iterate over an array to declare multiple resources or to s A new scope is created inside the loop body. Identifiers declared in the outer scope may be accessed inside the inner scope, but identifiers declared in the inner scope will not be added to the outer scope. [Resources](./resources.md), [variables](./variables.md), and [parameters](./parameters.md) declared at the scope of the file may be referenced within the loop body. Multiple loops may be nested inside each other. -Filtering the loop is also allowed via the `where` keyword. (See the examples below for more details.) +Filtering the loop is also allowed via the `if` keyword in the loop body. (See the examples below for more details.) ## Examples @@ -127,13 +127,13 @@ resource vnet 'Microsoft.Network/virtualNetworks@2018-11-01' = { ``` ### Nested loops and filtering. -The example below demonstrates a nested loop combined with filters at each loop. Filters must be expressions that evaluate to a boolean value. +The example below demonstrates a nested loop combined with a filtered resource loop. Filters must be expressions that evaluate to a boolean value. ```bicep -resource parentResources 'Microsoft.Example/examples@2020-06-06' = [for parent in parents where parent.enabled: { +resource parentResources 'Microsoft.Example/examples@2020-06-06' = [for parent in parents: if(parent.enabled) { name: parent.name properties: { - children: [for child in parent.children where parent.includeChildren && child.enabled: { + children: [for child in parent.children: { name: child.name setting: child.settingValue }] @@ -141,6 +141,8 @@ resource parentResources 'Microsoft.Example/examples@2020-06-06' = [for parent i }] ``` +Filters are also supported with module loops. + ### Batch size decorator By default for-expressions used in values of module or resource declarations will be deployed concurrently in a non-deterministic order at runtime. This behavior can be changed with the `@batchSize` decorator. The decorator is allowed on resource or module declarations whose values are a for-expression. The decorator accepts one integer literal parameter with value equal or greater than 1. @@ -171,7 +173,7 @@ var nsgNames = [ resource nsg 'Microsoft.Network/networkSecurityGroups@2020-06-01' = [for name in nsgNames: { name: name - location: resourceGroup().location + location: resourceGroup().location }] output nsgs array = [for i in range(0, length(nsgNames)): { diff --git a/src/Bicep.Core.Samples/Files/Completions/object.json b/src/Bicep.Core.Samples/Files/Completions/object.json index a0a6b98e932..baf740ae54a 100644 --- a/src/Bicep.Core.Samples/Files/Completions/object.json +++ b/src/Bicep.Core.Samples/Files/Completions/object.json @@ -17,6 +17,24 @@ "newText": "[for ${2:item} in ${1:list}: {\n\t$0\n}]" } }, + { + "label": "for-filtered", + "kind": "snippet", + "detail": "for-filtered", + "documentation": { + "kind": "markdown", + "value": "```bicep\n[for (item, index) in list: if (condition) {\n\t\n}]\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_for-filtered", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "[for (${2:item}, ${3:index}) in ${1:list}: if (${4:condition}) {\n\t$0\n}]" + } + }, { "label": "for-indexed", "kind": "snippet", 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 e08a653bceb..ed92d90b77a 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX.json +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX.json @@ -713,6 +713,62 @@ "newText": "expectedLoopBody2" } }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "module", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + } + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "module", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + } + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "module", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + } + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "module", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + } + }, { "label": "expectedLoopVar", "kind": "module", @@ -1769,6 +1825,20 @@ "command": "editor.action.triggerParameterHints" } }, + { + "label": "paramNameCompletionsInFilteredLoops", + "kind": "module", + "detail": "paramNameCompletionsInFilteredLoops", + "deprecated": false, + "preselect": false, + "sortText": "2_paramNameCompletionsInFilteredLoops", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramNameCompletionsInFilteredLoops" + } + }, { "label": "pickZones", "kind": "function", @@ -1786,6 +1856,20 @@ "command": "editor.action.triggerParameterHints" } }, + { + "label": "propertyAccessCompletionsForFilteredModuleLoop", + "kind": "variable", + "detail": "propertyAccessCompletionsForFilteredModuleLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyAccessCompletionsForFilteredModuleLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyAccessCompletionsForFilteredModuleLoop" + } + }, { "label": "providers", "kind": "function", @@ -2390,6 +2474,20 @@ "newText": "wrongLoopBodyType2" } }, + { + "label": "wrongModuleParameterInFilteredLoop", + "kind": "module", + "detail": "wrongModuleParameterInFilteredLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongModuleParameterInFilteredLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongModuleParameterInFilteredLoop" + } + }, { "label": "wrongModuleParameterInLoop2", "kind": "module", diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX_if.json b/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX_if.json new file mode 100644 index 00000000000..c2bde5e723a --- /dev/null +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/Completions/symbolsPlusX_if.json @@ -0,0 +1,2519 @@ +[ + { + "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": "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": "childCompletionA", + "kind": "module", + "detail": "childCompletionA", + "deprecated": false, + "preselect": false, + "sortText": "2_childCompletionA", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "childCompletionA" + } + }, + { + "label": "childCompletionB", + "kind": "module", + "detail": "childCompletionB", + "deprecated": false, + "preselect": false, + "sortText": "2_childCompletionB", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "childCompletionB" + } + }, + { + "label": "childCompletionC", + "kind": "module", + "detail": "childCompletionC", + "deprecated": false, + "preselect": false, + "sortText": "2_childCompletionC", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "childCompletionC" + } + }, + { + "label": "childCompletionD", + "kind": "module", + "detail": "childCompletionD", + "deprecated": false, + "preselect": false, + "sortText": "2_childCompletionD", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "childCompletionD" + } + }, + { + "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": "completionB", + "kind": "module", + "detail": "completionB", + "deprecated": false, + "preselect": false, + "sortText": "2_completionB", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "completionB" + } + }, + { + "label": "completionC", + "kind": "module", + "detail": "completionC", + "deprecated": false, + "preselect": false, + "sortText": "2_completionC", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "completionC" + } + }, + { + "label": "completionD", + "kind": "module", + "detail": "completionD", + "deprecated": false, + "preselect": false, + "sortText": "2_completionD", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "completionD" + } + }, + { + "label": "completionE", + "kind": "module", + "detail": "completionE", + "deprecated": false, + "preselect": false, + "sortText": "2_completionE", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "completionE" + } + }, + { + "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": "cwdFileCompletionA", + "kind": "module", + "detail": "cwdFileCompletionA", + "deprecated": false, + "preselect": false, + "sortText": "2_cwdFileCompletionA", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cwdFileCompletionA" + } + }, + { + "label": "cwdFileCompletionB", + "kind": "module", + "detail": "cwdFileCompletionB", + "deprecated": false, + "preselect": false, + "sortText": "2_cwdFileCompletionB", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cwdFileCompletionB" + } + }, + { + "label": "cwdFileCompletionC", + "kind": "module", + "detail": "cwdFileCompletionC", + "deprecated": false, + "preselect": false, + "sortText": "2_cwdFileCompletionC", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cwdFileCompletionC" + } + }, + { + "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": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "directRefToCollectionViaLoopBody", + "kind": "module", + "detail": "directRefToCollectionViaLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefToCollectionViaLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefToCollectionViaLoopBody" + } + }, + { + "label": "directRefToCollectionViaLoopBodyWithExtraDependsOn", + "kind": "module", + "detail": "directRefToCollectionViaLoopBodyWithExtraDependsOn", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefToCollectionViaLoopBodyWithExtraDependsOn", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefToCollectionViaLoopBodyWithExtraDependsOn" + } + }, + { + "label": "directRefToCollectionViaSingleBody", + "kind": "module", + "detail": "directRefToCollectionViaSingleBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefToCollectionViaSingleBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefToCollectionViaSingleBody" + } + }, + { + "label": "directRefToCollectionViaSingleConditionalBody", + "kind": "module", + "detail": "directRefToCollectionViaSingleConditionalBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefToCollectionViaSingleConditionalBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefToCollectionViaSingleConditionalBody" + } + }, + { + "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": "emptyArray", + "kind": "variable", + "detail": "emptyArray", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyArray" + } + }, + { + "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": "evenMoreDuplicates", + "kind": "variable", + "detail": "evenMoreDuplicates", + "deprecated": false, + "preselect": false, + "sortText": "2_evenMoreDuplicates", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "evenMoreDuplicates" + } + }, + { + "label": "expectedArrayExpression", + "kind": "module", + "detail": "expectedArrayExpression", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression" + } + }, + { + "label": "expectedArrayExpression2", + "kind": "module", + "detail": "expectedArrayExpression2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression2" + } + }, + { + "label": "expectedColon", + "kind": "module", + "detail": "expectedColon", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon" + } + }, + { + "label": "expectedColon2", + "kind": "module", + "detail": "expectedColon2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon2" + } + }, + { + "label": "expectedComma", + "kind": "module", + "detail": "expectedComma", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedComma", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedComma" + } + }, + { + "label": "expectedForKeyword", + "kind": "module", + "detail": "expectedForKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword" + } + }, + { + "label": "expectedForKeyword2", + "kind": "module", + "detail": "expectedForKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword2" + } + }, + { + "label": "expectedInKeyword", + "kind": "module", + "detail": "expectedInKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword" + } + }, + { + "label": "expectedInKeyword2", + "kind": "module", + "detail": "expectedInKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword2" + } + }, + { + "label": "expectedInKeyword3", + "kind": "module", + "detail": "expectedInKeyword3", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword3" + } + }, + { + "label": "expectedIndexVarName", + "kind": "module", + "detail": "expectedIndexVarName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedIndexVarName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedIndexVarName" + } + }, + { + "label": "expectedItemVarName", + "kind": "module", + "detail": "expectedItemVarName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedItemVarName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedItemVarName" + } + }, + { + "label": "expectedLoopBody", + "kind": "module", + "detail": "expectedLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody" + } + }, + { + "label": "expectedLoopBody2", + "kind": "module", + "detail": "expectedLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody2" + } + }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "module", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + } + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "module", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + } + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "module", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + } + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "module", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + } + }, + { + "label": "expectedLoopVar", + "kind": "module", + "detail": "expectedLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopVar" + } + }, + { + "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": "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": "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": "interp", + "kind": "variable", + "detail": "interp", + "deprecated": false, + "preselect": false, + "sortText": "2_interp", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "interp" + } + }, + { + "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": "listKeys", + "kind": "function", + "detail": "listKeys()", + "deprecated": false, + "preselect": false, + "sortText": "3_listKeys", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "listKeys($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "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": "missingFewerLoopBodyProperties", + "kind": "module", + "detail": "missingFewerLoopBodyProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingFewerLoopBodyProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingFewerLoopBodyProperties" + } + }, + { + "label": "missingLoopBodyProperties", + "kind": "module", + "detail": "missingLoopBodyProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingLoopBodyProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingLoopBodyProperties" + } + }, + { + "label": "missingLoopBodyProperties2", + "kind": "module", + "detail": "missingLoopBodyProperties2", + "deprecated": false, + "preselect": false, + "sortText": "2_missingLoopBodyProperties2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingLoopBodyProperties2" + } + }, + { + "label": "missingValue", + "kind": "module", + "detail": "missingValue", + "deprecated": false, + "preselect": false, + "sortText": "2_missingValue", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingValue" + } + }, + { + "label": "modAEmptyInputs", + "kind": "module", + "detail": "modAEmptyInputs", + "deprecated": false, + "preselect": false, + "sortText": "2_modAEmptyInputs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modAEmptyInputs" + } + }, + { + "label": "modAEmptyInputsWithCondition", + "kind": "module", + "detail": "modAEmptyInputsWithCondition", + "deprecated": false, + "preselect": false, + "sortText": "2_modAEmptyInputsWithCondition", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modAEmptyInputsWithCondition" + } + }, + { + "label": "modANoInputs", + "kind": "module", + "detail": "modANoInputs", + "deprecated": false, + "preselect": false, + "sortText": "2_modANoInputs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modANoInputs" + } + }, + { + "label": "modANoInputsWithCondition", + "kind": "module", + "detail": "modANoInputsWithCondition", + "deprecated": false, + "preselect": false, + "sortText": "2_modANoInputsWithCondition", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modANoInputsWithCondition" + } + }, + { + "label": "modANoName", + "kind": "module", + "detail": "modANoName", + "deprecated": false, + "preselect": false, + "sortText": "2_modANoName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modANoName" + } + }, + { + "label": "modANoNameWithCondition", + "kind": "module", + "detail": "modANoNameWithCondition", + "deprecated": false, + "preselect": false, + "sortText": "2_modANoNameWithCondition", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modANoNameWithCondition" + } + }, + { + "label": "modAUnspecifiedInputs", + "kind": "module", + "detail": "modAUnspecifiedInputs", + "deprecated": false, + "preselect": false, + "sortText": "2_modAUnspecifiedInputs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modAUnspecifiedInputs" + } + }, + { + "label": "modCycle", + "kind": "module", + "detail": "modCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_modCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modCycle" + } + }, + { + "label": "modWithListKeysInCondition", + "kind": "module", + "detail": "modWithListKeysInCondition", + "deprecated": false, + "preselect": false, + "sortText": "2_modWithListKeysInCondition", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modWithListKeysInCondition" + } + }, + { + "label": "modWithReferenceInCondition", + "kind": "module", + "detail": "modWithReferenceInCondition", + "deprecated": false, + "preselect": false, + "sortText": "2_modWithReferenceInCondition", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modWithReferenceInCondition" + } + }, + { + "label": "moduleLoopForRuntimeCheck", + "kind": "module", + "detail": "moduleLoopForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleLoopForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleLoopForRuntimeCheck" + } + }, + { + "label": "moduleLoopForRuntimeCheck2", + "kind": "module", + "detail": "moduleLoopForRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleLoopForRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleLoopForRuntimeCheck2" + } + }, + { + "label": "moduleLoopForRuntimeCheck3", + "kind": "module", + "detail": "moduleLoopForRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleLoopForRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleLoopForRuntimeCheck3" + } + }, + { + "label": "moduleOutputsCompletions", + "kind": "variable", + "detail": "moduleOutputsCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleOutputsCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleOutputsCompletions" + } + }, + { + "label": "modulePropertyAccessCompletions", + "kind": "variable", + "detail": "modulePropertyAccessCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_modulePropertyAccessCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "modulePropertyAccessCompletions" + } + }, + { + "label": "moduleRuntimeCheck", + "kind": "variable", + "detail": "moduleRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleRuntimeCheck" + } + }, + { + "label": "moduleRuntimeCheck2", + "kind": "variable", + "detail": "moduleRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleRuntimeCheck2" + } + }, + { + "label": "moduleRuntimeCheck3", + "kind": "variable", + "detail": "moduleRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleRuntimeCheck3" + } + }, + { + "label": "moduleRuntimeCheck4", + "kind": "variable", + "detail": "moduleRuntimeCheck4", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleRuntimeCheck4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleRuntimeCheck4" + } + }, + { + "label": "moduleWithAbsolutePath", + "kind": "module", + "detail": "moduleWithAbsolutePath", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithAbsolutePath", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithAbsolutePath" + } + }, + { + "label": "moduleWithBackslash", + "kind": "module", + "detail": "moduleWithBackslash", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithBackslash", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithBackslash" + } + }, + { + "label": "moduleWithBadScope", + "kind": "module", + "detail": "moduleWithBadScope", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithBadScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithBadScope" + } + }, + { + "label": "moduleWithConditionAndInterpPath", + "kind": "module", + "detail": "moduleWithConditionAndInterpPath", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithConditionAndInterpPath", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithConditionAndInterpPath" + } + }, + { + "label": "moduleWithConditionAndSelfCycle", + "kind": "module", + "detail": "moduleWithConditionAndSelfCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithConditionAndSelfCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithConditionAndSelfCycle" + } + }, + { + "label": "moduleWithConditionOutputsCompletions", + "kind": "variable", + "detail": "moduleWithConditionOutputsCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithConditionOutputsCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithConditionOutputsCompletions" + } + }, + { + "label": "moduleWithConditionPropertyAccessCompletions", + "kind": "variable", + "detail": "moduleWithConditionPropertyAccessCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithConditionPropertyAccessCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithConditionPropertyAccessCompletions" + } + }, + { + "label": "moduleWithDuplicateName1", + "kind": "module", + "detail": "moduleWithDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithDuplicateName1" + } + }, + { + "label": "moduleWithDuplicateName2", + "kind": "module", + "detail": "moduleWithDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithDuplicateName2" + } + }, + { + "label": "moduleWithEmptyPath", + "kind": "module", + "detail": "moduleWithEmptyPath", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithEmptyPath", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithEmptyPath" + } + }, + { + "label": "moduleWithInterpPath", + "kind": "module", + "detail": "moduleWithInterpPath", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithInterpPath", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithInterpPath" + } + }, + { + "label": "moduleWithInvalidChar", + "kind": "module", + "detail": "moduleWithInvalidChar", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithInvalidChar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithInvalidChar" + } + }, + { + "label": "moduleWithInvalidScope", + "kind": "module", + "detail": "moduleWithInvalidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithInvalidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithInvalidScope" + } + }, + { + "label": "moduleWithInvalidScope2", + "kind": "module", + "detail": "moduleWithInvalidScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithInvalidScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithInvalidScope2" + } + }, + { + "label": "moduleWithInvalidTerminatorChar", + "kind": "module", + "detail": "moduleWithInvalidTerminatorChar", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithInvalidTerminatorChar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithInvalidTerminatorChar" + } + }, + { + "label": "moduleWithMissingRequiredScope", + "kind": "module", + "detail": "moduleWithMissingRequiredScope", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithMissingRequiredScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithMissingRequiredScope" + } + }, + { + "label": "moduleWithNotAttachableDecorators", + "kind": "module", + "detail": "moduleWithNotAttachableDecorators", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithNotAttachableDecorators", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithNotAttachableDecorators" + } + }, + { + "label": "moduleWithSelfCycle", + "kind": "module", + "detail": "moduleWithSelfCycle", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithSelfCycle", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithSelfCycle" + } + }, + { + "label": "moduleWithUnsupprtedScope1", + "kind": "module", + "detail": "moduleWithUnsupprtedScope1", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithUnsupprtedScope1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithUnsupprtedScope1" + } + }, + { + "label": "moduleWithUnsupprtedScope2", + "kind": "module", + "detail": "moduleWithUnsupprtedScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithUnsupprtedScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithUnsupprtedScope2" + } + }, + { + "label": "moduleWithValidScope", + "kind": "module", + "detail": "moduleWithValidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithValidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithValidScope" + } + }, + { + "label": "moduleWithoutPath", + "kind": "module", + "detail": "moduleWithoutPath", + "deprecated": false, + "preselect": false, + "sortText": "2_moduleWithoutPath", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "moduleWithoutPath" + } + }, + { + "label": "nonExistentFileRef", + "kind": "module", + "detail": "nonExistentFileRef", + "deprecated": false, + "preselect": false, + "sortText": "2_nonExistentFileRef", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonExistentFileRef" + } + }, + { + "label": "nonExistentFileRefDuplicate", + "kind": "module", + "detail": "nonExistentFileRefDuplicate", + "deprecated": false, + "preselect": false, + "sortText": "2_nonExistentFileRefDuplicate", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonExistentFileRefDuplicate" + } + }, + { + "label": "nonExistentFileRefEquivalentPath", + "kind": "module", + "detail": "nonExistentFileRefEquivalentPath", + "deprecated": false, + "preselect": false, + "sortText": "2_nonExistentFileRefEquivalentPath", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonExistentFileRefEquivalentPath" + } + }, + { + "label": "nonObjectModuleBody", + "kind": "module", + "detail": "nonObjectModuleBody", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectModuleBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectModuleBody" + } + }, + { + "label": "nonObjectModuleBody2", + "kind": "module", + "detail": "nonObjectModuleBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectModuleBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectModuleBody2" + } + }, + { + "label": "nonObjectModuleBody3", + "kind": "module", + "detail": "nonObjectModuleBody3", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectModuleBody3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectModuleBody3" + } + }, + { + "label": "nonObjectModuleBody4", + "kind": "module", + "detail": "nonObjectModuleBody4", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectModuleBody4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectModuleBody4" + } + }, + { + "label": "nonexistentArrays", + "kind": "module", + "detail": "nonexistentArrays", + "deprecated": false, + "preselect": false, + "sortText": "2_nonexistentArrays", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonexistentArrays" + } + }, + { + "label": "notAnArray", + "kind": "variable", + "detail": "notAnArray", + "deprecated": false, + "preselect": false, + "sortText": "2_notAnArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAnArray" + } + }, + { + "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": "paramNameCompletionsInFilteredLoops", + "kind": "module", + "detail": "paramNameCompletionsInFilteredLoops", + "deprecated": false, + "preselect": false, + "sortText": "2_paramNameCompletionsInFilteredLoops", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "paramNameCompletionsInFilteredLoops" + } + }, + { + "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": "propertyAccessCompletionsForFilteredModuleLoop", + "kind": "variable", + "detail": "propertyAccessCompletionsForFilteredModuleLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyAccessCompletionsForFilteredModuleLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyAccessCompletionsForFilteredModuleLoop" + } + }, + { + "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": "runtimeInvalidModule1", + "kind": "module", + "detail": "runtimeInvalidModule1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidModule1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidModule1" + } + }, + { + "label": "runtimeInvalidModule2", + "kind": "module", + "detail": "runtimeInvalidModule2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidModule2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidModule2" + } + }, + { + "label": "runtimeInvalidModule3", + "kind": "module", + "detail": "runtimeInvalidModule3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidModule3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidModule3" + } + }, + { + "label": "runtimeInvalidModule4", + "kind": "module", + "detail": "runtimeInvalidModule4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidModule4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidModule4" + } + }, + { + "label": "runtimeInvalidModule5", + "kind": "module", + "detail": "runtimeInvalidModule5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidModule5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidModule5" + } + }, + { + "label": "runtimeInvalidModule6", + "kind": "module", + "detail": "runtimeInvalidModule6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidModule6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidModule6" + } + }, + { + "label": "runtimeValidModule1", + "kind": "module", + "detail": "runtimeValidModule1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidModule1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidModule1" + } + }, + { + "label": "runtimeValidRes1", + "kind": "interface", + "detail": "runtimeValidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "singleModuleForRuntimeCheck", + "kind": "module", + "detail": "singleModuleForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_singleModuleForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "singleModuleForRuntimeCheck" + } + }, + { + "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": "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": "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": "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": "unspecifiedOutput", + "kind": "variable", + "detail": "unspecifiedOutput", + "deprecated": false, + "preselect": false, + "sortText": "2_unspecifiedOutput", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "unspecifiedOutput" + } + }, + { + "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": "wrongArrayType", + "kind": "module", + "detail": "wrongArrayType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType" + } + }, + { + "label": "wrongLoopBodyType", + "kind": "module", + "detail": "wrongLoopBodyType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType" + } + }, + { + "label": "wrongLoopBodyType2", + "kind": "module", + "detail": "wrongLoopBodyType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType2" + } + }, + { + "label": "wrongModuleParameterInLoop", + "kind": "module", + "detail": "wrongModuleParameterInLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongModuleParameterInLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongModuleParameterInLoop" + } + }, + { + "label": "wrongModuleParameterInLoop2", + "kind": "module", + "detail": "wrongModuleParameterInLoop2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongModuleParameterInLoop2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongModuleParameterInLoop2" + } + }, + { + "label": "x", + "kind": "variable", + "detail": "x", + "deprecated": false, + "preselect": false, + "sortText": "2_x", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "x" + } + } +] \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.bicep b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.bicep index 3e74c63bbb0..bcf20139cf0 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.bicep @@ -335,6 +335,13 @@ module expectedColon2 'modulea.bicep' = [for (x,y) in z] module expectedLoopBody2 'modulea.bicep' = [for (x,y) in z:] +// loop filter parsing cases +module expectedLoopFilterOpenParen 'modulea.bicep' = [for x in y: if] +module expectedLoopFilterOpenParen2 'modulea.bicep' = [for (x,y) in z: if] + +module expectedLoopFilterPredicateAndBody 'modulea.bicep' = [for x in y: if()] +module expectedLoopFilterPredicateAndBody2 'modulea.bicep' = [for (x,y) in z: if()] + // wrong loop body type var emptyArray = [] module wrongLoopBodyType 'modulea.bicep' = [for x in emptyArray:4] @@ -371,6 +378,17 @@ module wrongModuleParameterInLoop 'modulea.bicep' = [for x in emptyArray:{ notAThing: 'test' } }] +module wrongModuleParameterInFilteredLoop 'modulea.bicep' = [for x in emptyArray: if(true) { + // #completionTest(17) -> symbolsPlusX_if + name: 'hello-${x}' + params: { + arrayParam: [] + objParam: {} + stringParamA: 'test' + stringParamB: 'test' + notAThing: 'test' + } +}] module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ name: 'hello-${x}' params: { @@ -384,6 +402,17 @@ module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ } }] +module paramNameCompletionsInFilteredLoops 'modulea.bicep' = [for (x,i) in emptyArray: if(true) { + name: 'hello-${x}' + params: { + // #completionTest(0,1,2) -> moduleAParams + + } +}] + +// #completionTest(100) -> moduleAOutputs +var propertyAccessCompletionsForFilteredModuleLoop = paramNameCompletionsInFilteredLoops[0].outputs. + // nonexistent arrays and loop variables var evenMoreDuplicates = 'there' module nonexistentArrays 'modulea.bicep' = [for evenMoreDuplicates in alsoDoesNotExist: { diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.diagnostics.bicep index 27557b49e61..71c0e1eab5e 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.diagnostics.bicep @@ -434,7 +434,7 @@ module expectedColon 'modulea.bicep' = [for x in y] module expectedLoopBody 'modulea.bicep' = [for x in y:] //@[52:53) [BCP057 (Error)] The name "y" does not exist in the current context. |y| -//@[54:55) [BCP018 (Error)] Expected the "{" character at this location. |]| +//@[54:55) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |]| // indexed loop parsing cases module expectedItemVarName 'modulea.bicep' = [for ()] @@ -458,14 +458,31 @@ module expectedColon2 'modulea.bicep' = [for (x,y) in z] module expectedLoopBody2 'modulea.bicep' = [for (x,y) in z:] //@[57:58) [BCP057 (Error)] The name "z" does not exist in the current context. |z| -//@[59:60) [BCP018 (Error)] Expected the "{" character at this location. |]| +//@[59:60) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |]| + +// loop filter parsing cases +module expectedLoopFilterOpenParen 'modulea.bicep' = [for x in y: if] +//@[63:64) [BCP057 (Error)] The name "y" does not exist in the current context. |y| +//@[68:69) [BCP018 (Error)] Expected the "(" character at this location. |]| +module expectedLoopFilterOpenParen2 'modulea.bicep' = [for (x,y) in z: if] +//@[68:69) [BCP057 (Error)] The name "z" does not exist in the current context. |z| +//@[73:74) [BCP018 (Error)] Expected the "(" character at this location. |]| + +module expectedLoopFilterPredicateAndBody 'modulea.bicep' = [for x in y: if()] +//@[70:71) [BCP057 (Error)] The name "y" does not exist in the current context. |y| +//@[76:77) [BCP009 (Error)] Expected a literal value, an array, an object, a parenthesized expression, or a function call at this location. |)| +//@[77:78) [BCP018 (Error)] Expected the "{" character at this location. |]| +module expectedLoopFilterPredicateAndBody2 'modulea.bicep' = [for (x,y) in z: if()] +//@[75:76) [BCP057 (Error)] The name "z" does not exist in the current context. |z| +//@[81:82) [BCP009 (Error)] Expected a literal value, an array, an object, a parenthesized expression, or a function call at this location. |)| +//@[82:83) [BCP018 (Error)] Expected the "{" character at this location. |]| // wrong loop body type var emptyArray = [] module wrongLoopBodyType 'modulea.bicep' = [for x in emptyArray:4] -//@[64:65) [BCP018 (Error)] Expected the "{" character at this location. |4| +//@[64:65) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |4| module wrongLoopBodyType2 'modulea.bicep' = [for (x,i) in emptyArray:4] -//@[69:70) [BCP018 (Error)] Expected the "{" character at this location. |4| +//@[69:70) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |4| // missing loop body properties module missingLoopBodyProperties 'modulea.bicep' = [for x in emptyArray:{ @@ -503,6 +520,18 @@ module wrongModuleParameterInLoop 'modulea.bicep' = [for x in emptyArray:{ //@[4:13) [BCP037 (Error)] No other properties are allowed on objects of type "params". |notAThing| } }] +module wrongModuleParameterInFilteredLoop 'modulea.bicep' = [for x in emptyArray: if(true) { + // #completionTest(17) -> symbolsPlusX_if + name: 'hello-${x}' + params: { + arrayParam: [] + objParam: {} + stringParamA: 'test' + stringParamB: 'test' + notAThing: 'test' +//@[4:13) [BCP037 (Error)] No other properties are allowed on objects of type "params". |notAThing| + } +}] module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ name: 'hello-${x}' params: { @@ -517,6 +546,19 @@ module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ } }] +module paramNameCompletionsInFilteredLoops 'modulea.bicep' = [for (x,i) in emptyArray: if(true) { + name: 'hello-${x}' + params: { +//@[2:8) [BCP035 (Error)] The specified "object" declaration is missing the following required properties: "arrayParam", "objParam", "stringParamB". |params| + // #completionTest(0,1,2) -> moduleAParams + + } +}] + +// #completionTest(100) -> moduleAOutputs +var propertyAccessCompletionsForFilteredModuleLoop = paramNameCompletionsInFilteredLoops[0].outputs. +//@[100:100) [BCP020 (Error)] Expected a function or property name at this location. || + // nonexistent arrays and loop variables var evenMoreDuplicates = 'there' module nonexistentArrays 'modulea.bicep' = [for evenMoreDuplicates in alsoDoesNotExist: { @@ -590,11 +632,11 @@ module directRefToCollectionViaLoopBodyWithExtraDependsOn 'modulea.bicep' = [for // module body that isn't an object module nonObjectModuleBody 'modulea.bicep' = [for thing in []: 'hello'] -//@[63:70) [BCP018 (Error)] Expected the "{" character at this location. |'hello'| +//@[63:70) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |'hello'| module nonObjectModuleBody2 'modulea.bicep' = [for thing in []: concat()] -//@[64:70) [BCP018 (Error)] Expected the "{" character at this location. |concat| +//@[64:70) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |concat| module nonObjectModuleBody3 'modulea.bicep' = [for (thing,i) in []: 'hello'] -//@[68:75) [BCP018 (Error)] Expected the "{" character at this location. |'hello'| +//@[68:75) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |'hello'| module nonObjectModuleBody4 'modulea.bicep' = [for (thing,i) in []: concat()] -//@[68:74) [BCP018 (Error)] Expected the "{" character at this location. |concat| +//@[68:74) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |concat| diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.formatted.bicep index 5b8c65b0a96..7214829dd91 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.formatted.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.formatted.bicep @@ -303,6 +303,13 @@ module expectedColon2 'modulea.bicep' = [for (x,y) in z] module expectedLoopBody2 'modulea.bicep' = [for (x,y) in z:] +// loop filter parsing cases +module expectedLoopFilterOpenParen 'modulea.bicep' = [for x in y: if] +module expectedLoopFilterOpenParen2 'modulea.bicep' = [for (x,y) in z: if] + +module expectedLoopFilterPredicateAndBody 'modulea.bicep' = [for x in y: if()] +module expectedLoopFilterPredicateAndBody2 'modulea.bicep' = [for (x,y) in z: if()] + // wrong loop body type var emptyArray = [] module wrongLoopBodyType 'modulea.bicep' = [for x in emptyArray:4] @@ -334,6 +341,17 @@ module wrongModuleParameterInLoop 'modulea.bicep' = [for x in emptyArray: { notAThing: 'test' } }] +module wrongModuleParameterInFilteredLoop 'modulea.bicep' = [for x in emptyArray: if (true) { + // #completionTest(17) -> symbolsPlusX_if + name: 'hello-${x}' + params: { + arrayParam: [] + objParam: {} + stringParamA: 'test' + stringParamB: 'test' + notAThing: 'test' + } +}] module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x, i) in emptyArray: { name: 'hello-${x}' params: { @@ -347,6 +365,16 @@ module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x, i) in emptyArray: } }] +module paramNameCompletionsInFilteredLoops 'modulea.bicep' = [for (x, i) in emptyArray: if (true) { + name: 'hello-${x}' + params: { + // #completionTest(0,1,2) -> moduleAParams + } +}] + +// #completionTest(100) -> moduleAOutputs +var propertyAccessCompletionsForFilteredModuleLoop = paramNameCompletionsInFilteredLoops[0].outputs. + // nonexistent arrays and loop variables var evenMoreDuplicates = 'there' module nonexistentArrays 'modulea.bicep' = [for evenMoreDuplicates in alsoDoesNotExist: { diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.symbols.bicep index 4d3b952c7d9..da0151b7b7d 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.symbols.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.symbols.bicep @@ -450,6 +450,23 @@ module expectedLoopBody2 'modulea.bicep' = [for (x,y) in z:] //@[51:52) Local y. Type: int. Declaration start char: 51, length: 1 //@[7:24) Module expectedLoopBody2. Type: module[]. Declaration start char: 0, length: 60 +// loop filter parsing cases +module expectedLoopFilterOpenParen 'modulea.bicep' = [for x in y: if] +//@[58:59) Local x. Type: any. Declaration start char: 58, length: 1 +//@[7:34) Module expectedLoopFilterOpenParen. Type: module[]. Declaration start char: 0, length: 69 +module expectedLoopFilterOpenParen2 'modulea.bicep' = [for (x,y) in z: if] +//@[60:61) Local x. Type: any. Declaration start char: 60, length: 1 +//@[62:63) Local y. Type: int. Declaration start char: 62, length: 1 +//@[7:35) Module expectedLoopFilterOpenParen2. Type: module[]. Declaration start char: 0, length: 74 + +module expectedLoopFilterPredicateAndBody 'modulea.bicep' = [for x in y: if()] +//@[65:66) Local x. Type: any. Declaration start char: 65, length: 1 +//@[7:41) Module expectedLoopFilterPredicateAndBody. Type: module[]. Declaration start char: 0, length: 78 +module expectedLoopFilterPredicateAndBody2 'modulea.bicep' = [for (x,y) in z: if()] +//@[67:68) Local x. Type: any. Declaration start char: 67, length: 1 +//@[69:70) Local y. Type: int. Declaration start char: 69, length: 1 +//@[7:42) Module expectedLoopFilterPredicateAndBody2. Type: module[]. Declaration start char: 0, length: 83 + // wrong loop body type var emptyArray = [] //@[4:14) Variable emptyArray. Type: array. Declaration start char: 0, length: 19 @@ -504,6 +521,19 @@ module wrongModuleParameterInLoop 'modulea.bicep' = [for x in emptyArray:{ notAThing: 'test' } }] +module wrongModuleParameterInFilteredLoop 'modulea.bicep' = [for x in emptyArray: if(true) { +//@[65:66) Local x. Type: any. Declaration start char: 65, length: 1 +//@[7:41) Module wrongModuleParameterInFilteredLoop. Type: module[]. Declaration start char: 0, length: 284 + // #completionTest(17) -> symbolsPlusX_if + name: 'hello-${x}' + params: { + arrayParam: [] + objParam: {} + stringParamA: 'test' + stringParamB: 'test' + notAThing: 'test' + } +}] module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ //@[59:60) Local x. Type: any. Declaration start char: 59, length: 1 //@[61:62) Local i. Type: int. Declaration start char: 61, length: 1 @@ -520,6 +550,21 @@ module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ } }] +module paramNameCompletionsInFilteredLoops 'modulea.bicep' = [for (x,i) in emptyArray: if(true) { +//@[67:68) Local x. Type: any. Declaration start char: 67, length: 1 +//@[69:70) Local i. Type: int. Declaration start char: 69, length: 1 +//@[7:42) Module paramNameCompletionsInFilteredLoops. Type: module[]. Declaration start char: 0, length: 185 + name: 'hello-${x}' + params: { + // #completionTest(0,1,2) -> moduleAParams + + } +}] + +// #completionTest(100) -> moduleAOutputs +var propertyAccessCompletionsForFilteredModuleLoop = paramNameCompletionsInFilteredLoops[0].outputs. +//@[4:50) Variable propertyAccessCompletionsForFilteredModuleLoop. Type: error. Declaration start char: 0, length: 100 + // nonexistent arrays and loop variables var evenMoreDuplicates = 'there' //@[4:22) Variable evenMoreDuplicates. Type: 'there'. Declaration start char: 0, length: 32 diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.syntax.bicep index 8b4acd0cd7a..88b958b7c0b 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.syntax.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.syntax.bicep @@ -2312,6 +2312,130 @@ module expectedLoopBody2 'modulea.bicep' = [for (x,y) in z:] //@[59:60) RightSquare |]| //@[60:62) NewLine |\n\n| +// loop filter parsing cases +//@[28:29) NewLine |\n| +module expectedLoopFilterOpenParen 'modulea.bicep' = [for x in y: if] +//@[0:69) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:34) IdentifierSyntax +//@[7:34) Identifier |expectedLoopFilterOpenParen| +//@[35:50) StringSyntax +//@[35:50) StringComplete |'modulea.bicep'| +//@[51:52) Assignment |=| +//@[53:69) ForSyntax +//@[53:54) LeftSquare |[| +//@[54:57) Identifier |for| +//@[58:59) LocalVariableSyntax +//@[58:59) IdentifierSyntax +//@[58:59) Identifier |x| +//@[60:62) Identifier |in| +//@[63:64) VariableAccessSyntax +//@[63:64) IdentifierSyntax +//@[63:64) Identifier |y| +//@[64:65) Colon |:| +//@[66:68) IfConditionSyntax +//@[66:68) Identifier |if| +//@[68:68) SkippedTriviaSyntax +//@[68:68) SkippedTriviaSyntax +//@[68:69) RightSquare |]| +//@[69:70) NewLine |\n| +module expectedLoopFilterOpenParen2 'modulea.bicep' = [for (x,y) in z: if] +//@[0:74) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:35) IdentifierSyntax +//@[7:35) Identifier |expectedLoopFilterOpenParen2| +//@[36:51) StringSyntax +//@[36:51) StringComplete |'modulea.bicep'| +//@[52:53) Assignment |=| +//@[54:74) ForSyntax +//@[54:55) LeftSquare |[| +//@[55:58) Identifier |for| +//@[59:64) ForVariableBlockSyntax +//@[59:60) LeftParen |(| +//@[60:61) LocalVariableSyntax +//@[60:61) IdentifierSyntax +//@[60:61) Identifier |x| +//@[61:62) Comma |,| +//@[62:63) LocalVariableSyntax +//@[62:63) IdentifierSyntax +//@[62:63) Identifier |y| +//@[63:64) RightParen |)| +//@[65:67) Identifier |in| +//@[68:69) VariableAccessSyntax +//@[68:69) IdentifierSyntax +//@[68:69) Identifier |z| +//@[69:70) Colon |:| +//@[71:73) IfConditionSyntax +//@[71:73) Identifier |if| +//@[73:73) SkippedTriviaSyntax +//@[73:73) SkippedTriviaSyntax +//@[73:74) RightSquare |]| +//@[74:76) NewLine |\n\n| + +module expectedLoopFilterPredicateAndBody 'modulea.bicep' = [for x in y: if()] +//@[0:78) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:41) IdentifierSyntax +//@[7:41) Identifier |expectedLoopFilterPredicateAndBody| +//@[42:57) StringSyntax +//@[42:57) StringComplete |'modulea.bicep'| +//@[58:59) Assignment |=| +//@[60:78) ForSyntax +//@[60:61) LeftSquare |[| +//@[61:64) Identifier |for| +//@[65:66) LocalVariableSyntax +//@[65:66) IdentifierSyntax +//@[65:66) Identifier |x| +//@[67:69) Identifier |in| +//@[70:71) VariableAccessSyntax +//@[70:71) IdentifierSyntax +//@[70:71) Identifier |y| +//@[71:72) Colon |:| +//@[73:77) IfConditionSyntax +//@[73:75) Identifier |if| +//@[75:77) ParenthesizedExpressionSyntax +//@[75:76) LeftParen |(| +//@[76:76) SkippedTriviaSyntax +//@[76:77) RightParen |)| +//@[77:77) SkippedTriviaSyntax +//@[77:78) RightSquare |]| +//@[78:79) NewLine |\n| +module expectedLoopFilterPredicateAndBody2 'modulea.bicep' = [for (x,y) in z: if()] +//@[0:83) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:42) IdentifierSyntax +//@[7:42) Identifier |expectedLoopFilterPredicateAndBody2| +//@[43:58) StringSyntax +//@[43:58) StringComplete |'modulea.bicep'| +//@[59:60) Assignment |=| +//@[61:83) ForSyntax +//@[61:62) LeftSquare |[| +//@[62:65) Identifier |for| +//@[66:71) ForVariableBlockSyntax +//@[66:67) LeftParen |(| +//@[67:68) LocalVariableSyntax +//@[67:68) IdentifierSyntax +//@[67:68) Identifier |x| +//@[68:69) Comma |,| +//@[69:70) LocalVariableSyntax +//@[69:70) IdentifierSyntax +//@[69:70) Identifier |y| +//@[70:71) RightParen |)| +//@[72:74) Identifier |in| +//@[75:76) VariableAccessSyntax +//@[75:76) IdentifierSyntax +//@[75:76) Identifier |z| +//@[76:77) Colon |:| +//@[78:82) IfConditionSyntax +//@[78:80) Identifier |if| +//@[80:82) ParenthesizedExpressionSyntax +//@[80:81) LeftParen |(| +//@[81:81) SkippedTriviaSyntax +//@[81:82) RightParen |)| +//@[82:82) SkippedTriviaSyntax +//@[82:83) RightSquare |]| +//@[83:85) NewLine |\n\n| + // wrong loop body type //@[23:24) NewLine |\n| var emptyArray = [] @@ -2626,6 +2750,106 @@ module wrongModuleParameterInLoop 'modulea.bicep' = [for x in emptyArray:{ //@[0:1) RightBrace |}| //@[1:2) RightSquare |]| //@[2:3) NewLine |\n| +module wrongModuleParameterInFilteredLoop 'modulea.bicep' = [for x in emptyArray: if(true) { +//@[0:284) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:41) IdentifierSyntax +//@[7:41) Identifier |wrongModuleParameterInFilteredLoop| +//@[42:57) StringSyntax +//@[42:57) StringComplete |'modulea.bicep'| +//@[58:59) Assignment |=| +//@[60:284) ForSyntax +//@[60:61) LeftSquare |[| +//@[61:64) Identifier |for| +//@[65:66) LocalVariableSyntax +//@[65:66) IdentifierSyntax +//@[65:66) Identifier |x| +//@[67:69) Identifier |in| +//@[70:80) VariableAccessSyntax +//@[70:80) IdentifierSyntax +//@[70:80) Identifier |emptyArray| +//@[80:81) Colon |:| +//@[82:283) IfConditionSyntax +//@[82:84) Identifier |if| +//@[84:90) ParenthesizedExpressionSyntax +//@[84:85) LeftParen |(| +//@[85:89) BooleanLiteralSyntax +//@[85:89) TrueKeyword |true| +//@[89:90) RightParen |)| +//@[91:283) ObjectSyntax +//@[91:92) LeftBrace |{| +//@[92:93) NewLine |\n| + // #completionTest(17) -> symbolsPlusX_if +//@[43:44) NewLine |\n| + name: 'hello-${x}' +//@[2:20) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:20) StringSyntax +//@[8:17) StringLeftPiece |'hello-${| +//@[17:18) VariableAccessSyntax +//@[17:18) IdentifierSyntax +//@[17:18) Identifier |x| +//@[18:20) StringRightPiece |}'| +//@[20:21) NewLine |\n| + params: { +//@[2:123) ObjectPropertySyntax +//@[2:8) IdentifierSyntax +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:123) ObjectSyntax +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + arrayParam: [] +//@[4:18) ObjectPropertySyntax +//@[4:14) IdentifierSyntax +//@[4:14) Identifier |arrayParam| +//@[14:15) Colon |:| +//@[16:18) ArraySyntax +//@[16:17) LeftSquare |[| +//@[17:18) RightSquare |]| +//@[18:19) NewLine |\n| + objParam: {} +//@[4:16) ObjectPropertySyntax +//@[4:12) IdentifierSyntax +//@[4:12) Identifier |objParam| +//@[12:13) Colon |:| +//@[14:16) ObjectSyntax +//@[14:15) LeftBrace |{| +//@[15:16) RightBrace |}| +//@[16:17) NewLine |\n| + stringParamA: 'test' +//@[4:24) ObjectPropertySyntax +//@[4:16) IdentifierSyntax +//@[4:16) Identifier |stringParamA| +//@[16:17) Colon |:| +//@[18:24) StringSyntax +//@[18:24) StringComplete |'test'| +//@[24:25) NewLine |\n| + stringParamB: 'test' +//@[4:24) ObjectPropertySyntax +//@[4:16) IdentifierSyntax +//@[4:16) Identifier |stringParamB| +//@[16:17) Colon |:| +//@[18:24) StringSyntax +//@[18:24) StringComplete |'test'| +//@[24:25) NewLine |\n| + notAThing: 'test' +//@[4:21) ObjectPropertySyntax +//@[4:13) IdentifierSyntax +//@[4:13) Identifier |notAThing| +//@[13:14) Colon |:| +//@[15:21) StringSyntax +//@[15:21) StringComplete |'test'| +//@[21:22) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:3) NewLine |\n| module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ //@[0:240) ModuleDeclarationSyntax //@[0:6) Identifier |module| @@ -2733,6 +2957,99 @@ module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ //@[1:2) RightSquare |]| //@[2:4) NewLine |\n\n| +module paramNameCompletionsInFilteredLoops 'modulea.bicep' = [for (x,i) in emptyArray: if(true) { +//@[0:185) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:42) IdentifierSyntax +//@[7:42) Identifier |paramNameCompletionsInFilteredLoops| +//@[43:58) StringSyntax +//@[43:58) StringComplete |'modulea.bicep'| +//@[59:60) Assignment |=| +//@[61:185) ForSyntax +//@[61:62) LeftSquare |[| +//@[62:65) Identifier |for| +//@[66:71) ForVariableBlockSyntax +//@[66:67) LeftParen |(| +//@[67:68) LocalVariableSyntax +//@[67:68) IdentifierSyntax +//@[67:68) Identifier |x| +//@[68:69) Comma |,| +//@[69:70) LocalVariableSyntax +//@[69:70) IdentifierSyntax +//@[69:70) Identifier |i| +//@[70:71) RightParen |)| +//@[72:74) Identifier |in| +//@[75:85) VariableAccessSyntax +//@[75:85) IdentifierSyntax +//@[75:85) Identifier |emptyArray| +//@[85:86) Colon |:| +//@[87:184) IfConditionSyntax +//@[87:89) Identifier |if| +//@[89:95) ParenthesizedExpressionSyntax +//@[89:90) LeftParen |(| +//@[90:94) BooleanLiteralSyntax +//@[90:94) TrueKeyword |true| +//@[94:95) RightParen |)| +//@[96:184) ObjectSyntax +//@[96:97) LeftBrace |{| +//@[97:98) NewLine |\n| + name: 'hello-${x}' +//@[2:20) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:20) StringSyntax +//@[8:17) StringLeftPiece |'hello-${| +//@[17:18) VariableAccessSyntax +//@[17:18) IdentifierSyntax +//@[17:18) Identifier |x| +//@[18:20) StringRightPiece |}'| +//@[20:21) NewLine |\n| + params: { +//@[2:63) ObjectPropertySyntax +//@[2:8) IdentifierSyntax +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:63) ObjectSyntax +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + // #completionTest(0,1,2) -> moduleAParams +//@[46:48) NewLine |\n\n| + + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +// #completionTest(100) -> moduleAOutputs +//@[41:42) NewLine |\n| +var propertyAccessCompletionsForFilteredModuleLoop = paramNameCompletionsInFilteredLoops[0].outputs. +//@[0:100) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:50) IdentifierSyntax +//@[4:50) Identifier |propertyAccessCompletionsForFilteredModuleLoop| +//@[51:52) Assignment |=| +//@[53:100) PropertyAccessSyntax +//@[53:99) PropertyAccessSyntax +//@[53:91) ArrayAccessSyntax +//@[53:88) VariableAccessSyntax +//@[53:88) IdentifierSyntax +//@[53:88) Identifier |paramNameCompletionsInFilteredLoops| +//@[88:89) LeftSquare |[| +//@[89:90) IntegerLiteralSyntax +//@[89:90) Integer |0| +//@[90:91) RightSquare |]| +//@[91:92) Dot |.| +//@[92:99) IdentifierSyntax +//@[92:99) Identifier |outputs| +//@[99:100) Dot |.| +//@[100:100) IdentifierSyntax +//@[100:100) SkippedTriviaSyntax +//@[100:102) NewLine |\n\n| + // nonexistent arrays and loop variables //@[40:41) NewLine |\n| var evenMoreDuplicates = 'there' diff --git a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.tokens.bicep index 16cbd58e812..4bede0ef889 100644 --- a/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.tokens.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidModules_LF/main.tokens.bicep @@ -1478,6 +1478,78 @@ module expectedLoopBody2 'modulea.bicep' = [for (x,y) in z:] //@[59:60) RightSquare |]| //@[60:62) NewLine |\n\n| +// loop filter parsing cases +//@[28:29) NewLine |\n| +module expectedLoopFilterOpenParen 'modulea.bicep' = [for x in y: if] +//@[0:6) Identifier |module| +//@[7:34) Identifier |expectedLoopFilterOpenParen| +//@[35:50) StringComplete |'modulea.bicep'| +//@[51:52) Assignment |=| +//@[53:54) LeftSquare |[| +//@[54:57) Identifier |for| +//@[58:59) Identifier |x| +//@[60:62) Identifier |in| +//@[63:64) Identifier |y| +//@[64:65) Colon |:| +//@[66:68) Identifier |if| +//@[68:69) RightSquare |]| +//@[69:70) NewLine |\n| +module expectedLoopFilterOpenParen2 'modulea.bicep' = [for (x,y) in z: if] +//@[0:6) Identifier |module| +//@[7:35) Identifier |expectedLoopFilterOpenParen2| +//@[36:51) StringComplete |'modulea.bicep'| +//@[52:53) Assignment |=| +//@[54:55) LeftSquare |[| +//@[55:58) Identifier |for| +//@[59:60) LeftParen |(| +//@[60:61) Identifier |x| +//@[61:62) Comma |,| +//@[62:63) Identifier |y| +//@[63:64) RightParen |)| +//@[65:67) Identifier |in| +//@[68:69) Identifier |z| +//@[69:70) Colon |:| +//@[71:73) Identifier |if| +//@[73:74) RightSquare |]| +//@[74:76) NewLine |\n\n| + +module expectedLoopFilterPredicateAndBody 'modulea.bicep' = [for x in y: if()] +//@[0:6) Identifier |module| +//@[7:41) Identifier |expectedLoopFilterPredicateAndBody| +//@[42:57) StringComplete |'modulea.bicep'| +//@[58:59) Assignment |=| +//@[60:61) LeftSquare |[| +//@[61:64) Identifier |for| +//@[65:66) Identifier |x| +//@[67:69) Identifier |in| +//@[70:71) Identifier |y| +//@[71:72) Colon |:| +//@[73:75) Identifier |if| +//@[75:76) LeftParen |(| +//@[76:77) RightParen |)| +//@[77:78) RightSquare |]| +//@[78:79) NewLine |\n| +module expectedLoopFilterPredicateAndBody2 'modulea.bicep' = [for (x,y) in z: if()] +//@[0:6) Identifier |module| +//@[7:42) Identifier |expectedLoopFilterPredicateAndBody2| +//@[43:58) StringComplete |'modulea.bicep'| +//@[59:60) Assignment |=| +//@[61:62) LeftSquare |[| +//@[62:65) Identifier |for| +//@[66:67) LeftParen |(| +//@[67:68) Identifier |x| +//@[68:69) Comma |,| +//@[69:70) Identifier |y| +//@[70:71) RightParen |)| +//@[72:74) Identifier |in| +//@[75:76) Identifier |z| +//@[76:77) Colon |:| +//@[78:80) Identifier |if| +//@[80:81) LeftParen |(| +//@[81:82) RightParen |)| +//@[82:83) RightSquare |]| +//@[83:85) NewLine |\n\n| + // wrong loop body type //@[23:24) NewLine |\n| var emptyArray = [] @@ -1686,6 +1758,71 @@ module wrongModuleParameterInLoop 'modulea.bicep' = [for x in emptyArray:{ //@[0:1) RightBrace |}| //@[1:2) RightSquare |]| //@[2:3) NewLine |\n| +module wrongModuleParameterInFilteredLoop 'modulea.bicep' = [for x in emptyArray: if(true) { +//@[0:6) Identifier |module| +//@[7:41) Identifier |wrongModuleParameterInFilteredLoop| +//@[42:57) StringComplete |'modulea.bicep'| +//@[58:59) Assignment |=| +//@[60:61) LeftSquare |[| +//@[61:64) Identifier |for| +//@[65:66) Identifier |x| +//@[67:69) Identifier |in| +//@[70:80) Identifier |emptyArray| +//@[80:81) Colon |:| +//@[82:84) Identifier |if| +//@[84:85) LeftParen |(| +//@[85:89) TrueKeyword |true| +//@[89:90) RightParen |)| +//@[91:92) LeftBrace |{| +//@[92:93) NewLine |\n| + // #completionTest(17) -> symbolsPlusX_if +//@[43:44) NewLine |\n| + name: 'hello-${x}' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:17) StringLeftPiece |'hello-${| +//@[17:18) Identifier |x| +//@[18:20) StringRightPiece |}'| +//@[20:21) NewLine |\n| + params: { +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + arrayParam: [] +//@[4:14) Identifier |arrayParam| +//@[14:15) Colon |:| +//@[16:17) LeftSquare |[| +//@[17:18) RightSquare |]| +//@[18:19) NewLine |\n| + objParam: {} +//@[4:12) Identifier |objParam| +//@[12:13) Colon |:| +//@[14:15) LeftBrace |{| +//@[15:16) RightBrace |}| +//@[16:17) NewLine |\n| + stringParamA: 'test' +//@[4:16) Identifier |stringParamA| +//@[16:17) Colon |:| +//@[18:24) StringComplete |'test'| +//@[24:25) NewLine |\n| + stringParamB: 'test' +//@[4:16) Identifier |stringParamB| +//@[16:17) Colon |:| +//@[18:24) StringComplete |'test'| +//@[24:25) NewLine |\n| + notAThing: 'test' +//@[4:13) Identifier |notAThing| +//@[13:14) Colon |:| +//@[15:21) StringComplete |'test'| +//@[21:22) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:3) NewLine |\n| module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ //@[0:6) Identifier |module| //@[7:34) Identifier |wrongModuleParameterInLoop2| @@ -1755,6 +1892,65 @@ module wrongModuleParameterInLoop2 'modulea.bicep' = [for (x,i) in emptyArray:{ //@[1:2) RightSquare |]| //@[2:4) NewLine |\n\n| +module paramNameCompletionsInFilteredLoops 'modulea.bicep' = [for (x,i) in emptyArray: if(true) { +//@[0:6) Identifier |module| +//@[7:42) Identifier |paramNameCompletionsInFilteredLoops| +//@[43:58) StringComplete |'modulea.bicep'| +//@[59:60) Assignment |=| +//@[61:62) LeftSquare |[| +//@[62:65) Identifier |for| +//@[66:67) LeftParen |(| +//@[67:68) Identifier |x| +//@[68:69) Comma |,| +//@[69:70) Identifier |i| +//@[70:71) RightParen |)| +//@[72:74) Identifier |in| +//@[75:85) Identifier |emptyArray| +//@[85:86) Colon |:| +//@[87:89) Identifier |if| +//@[89:90) LeftParen |(| +//@[90:94) TrueKeyword |true| +//@[94:95) RightParen |)| +//@[96:97) LeftBrace |{| +//@[97:98) NewLine |\n| + name: 'hello-${x}' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:17) StringLeftPiece |'hello-${| +//@[17:18) Identifier |x| +//@[18:20) StringRightPiece |}'| +//@[20:21) NewLine |\n| + params: { +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + // #completionTest(0,1,2) -> moduleAParams +//@[46:48) NewLine |\n\n| + + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +// #completionTest(100) -> moduleAOutputs +//@[41:42) NewLine |\n| +var propertyAccessCompletionsForFilteredModuleLoop = paramNameCompletionsInFilteredLoops[0].outputs. +//@[0:3) Identifier |var| +//@[4:50) Identifier |propertyAccessCompletionsForFilteredModuleLoop| +//@[51:52) Assignment |=| +//@[53:88) Identifier |paramNameCompletionsInFilteredLoops| +//@[88:89) LeftSquare |[| +//@[89:90) Integer |0| +//@[90:91) RightSquare |]| +//@[91:92) Dot |.| +//@[92:99) Identifier |outputs| +//@[99:100) Dot |.| +//@[100:102) NewLine |\n\n| + // nonexistent arrays and loop variables //@[40:41) NewLine |\n| var evenMoreDuplicates = 'there' 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 539af8b5e22..418c930f8ea 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/arrayPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/arrayPlusSymbols.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2365,6 +2641,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2421,6 +2711,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2463,6 +2767,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2505,6 +2823,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2533,6 +2865,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2606,6 +2952,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2634,6 +2994,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2676,6 +3050,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2707,6 +3095,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2741,6 +3146,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3089,6 +3511,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4248,6 +4684,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 5fea678096a..3506c94c62e 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cleanupPreferencesPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cleanupPreferencesPlusSymbols.json @@ -610,6 +610,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -686,6 +703,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -728,6 +759,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -756,6 +801,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -787,6 +846,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -863,6 +939,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -919,6 +1009,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -947,6 +1051,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -975,6 +1093,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1006,6 +1138,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1082,6 +1231,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1124,6 +1287,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1152,6 +1329,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1183,6 +1374,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1483,6 +1691,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2357,6 +2633,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2413,6 +2703,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2455,6 +2759,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2497,6 +2815,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2525,6 +2857,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2598,6 +2944,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2626,6 +2986,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2668,6 +3042,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2699,6 +3087,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2733,6 +3138,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3081,6 +3503,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4240,6 +4676,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 8828e94bf5f..27cfaa325e1 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols.json @@ -838,6 +838,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -914,6 +931,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -942,6 +973,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -970,6 +1015,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -1001,6 +1060,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -1077,6 +1153,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1133,6 +1223,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1161,6 +1265,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1189,6 +1307,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1220,6 +1352,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1296,6 +1445,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1338,6 +1501,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1366,6 +1543,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1397,6 +1588,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1697,6 +1905,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2588,6 +2864,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2644,6 +2934,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2686,6 +2990,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2728,6 +3046,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2756,6 +3088,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2829,6 +3175,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2857,6 +3217,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2899,6 +3273,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2930,6 +3318,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2964,6 +3369,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3312,6 +3734,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4471,6 +4907,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 d29ec88b087..7f5e0fe0916 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 @@ -838,6 +838,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -914,6 +931,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -942,6 +973,20 @@ "newText": "discriminatorKeySetOneCompletions3" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -970,6 +1015,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -1001,6 +1060,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -1077,6 +1153,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1133,6 +1223,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1161,6 +1265,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1189,6 +1307,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1220,6 +1352,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1296,6 +1445,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1338,6 +1501,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1366,6 +1543,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1397,6 +1588,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1697,6 +1905,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2588,6 +2864,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2644,6 +2934,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2686,6 +2990,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2728,6 +3046,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2756,6 +3088,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2829,6 +3175,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2857,6 +3217,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2899,6 +3273,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2930,6 +3318,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2964,6 +3369,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3312,6 +3734,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4471,6 +4907,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for_if.json new file mode 100644 index 00000000000..87d4ca3bf5e --- /dev/null +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/cliPropertyAccessIndexesPlusSymbols_for_if.json @@ -0,0 +1,5012 @@ +[ + { + "label": "'arguments'", + "kind": "property", + "detail": "arguments", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'arguments'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'arguments'" + } + }, + { + "label": "'azCliVersion'", + "kind": "property", + "detail": "azCliVersion (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'azCliVersion'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'azCliVersion'" + } + }, + { + "label": "'cleanupPreference'", + "kind": "property", + "detail": "cleanupPreference", + "documentation": { + "kind": "markdown", + "value": "Type: `'Always' | 'OnExpiration' | 'OnSuccess'` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'cleanupPreference'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'cleanupPreference'" + } + }, + { + "label": "'containerSettings'", + "kind": "property", + "detail": "containerSettings", + "documentation": { + "kind": "markdown", + "value": "Type: `ContainerConfiguration` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'containerSettings'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'containerSettings'" + } + }, + { + "label": "'environmentVariables'", + "kind": "property", + "detail": "environmentVariables", + "documentation": { + "kind": "markdown", + "value": "Type: `EnvironmentVariable[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'environmentVariables'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'environmentVariables'" + } + }, + { + "label": "'forceUpdateTag'", + "kind": "property", + "detail": "forceUpdateTag", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'forceUpdateTag'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'forceUpdateTag'" + } + }, + { + "label": "'outputs'", + "kind": "property", + "detail": "outputs", + "documentation": { + "kind": "markdown", + "value": "Type: `Dictionary` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'outputs'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'outputs'" + } + }, + { + "label": "'primaryScriptUri'", + "kind": "property", + "detail": "primaryScriptUri", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'primaryScriptUri'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'primaryScriptUri'" + } + }, + { + "label": "'provisioningState'", + "kind": "property", + "detail": "provisioningState", + "documentation": { + "kind": "markdown", + "value": "Type: `'Canceled' | 'Creating' | 'Failed' | 'ProvisioningResources' | 'Running' | 'Succeeded'` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'provisioningState'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'provisioningState'" + } + }, + { + "label": "'retentionInterval'", + "kind": "property", + "detail": "retentionInterval (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'retentionInterval'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'retentionInterval'" + } + }, + { + "label": "'scriptContent'", + "kind": "property", + "detail": "scriptContent", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'scriptContent'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'scriptContent'" + } + }, + { + "label": "'status'", + "kind": "property", + "detail": "status", + "documentation": { + "kind": "markdown", + "value": "Type: `ScriptStatus` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'status'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'status'" + } + }, + { + "label": "'storageAccountSettings'", + "kind": "property", + "detail": "storageAccountSettings", + "documentation": { + "kind": "markdown", + "value": "Type: `StorageAccountConfiguration` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'storageAccountSettings'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'storageAccountSettings'" + } + }, + { + "label": "'supportingScriptUris'", + "kind": "property", + "detail": "supportingScriptUris", + "documentation": { + "kind": "markdown", + "value": "Type: `string[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'supportingScriptUris'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'supportingScriptUris'" + } + }, + { + "label": "'timeout'", + "kind": "property", + "detail": "timeout", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'timeout'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'timeout'" + } + }, + { + "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": "arrayExpressionErrors", + "kind": "interface", + "detail": "arrayExpressionErrors", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "arrayExpressionErrors2", + "kind": "interface", + "detail": "arrayExpressionErrors2", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badDepends", + "kind": "interface", + "detail": "badDepends", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends2", + "kind": "interface", + "detail": "badDepends2", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends3", + "kind": "interface", + "detail": "badDepends3", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends4", + "kind": "interface", + "detail": "badDepends4", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends5", + "kind": "interface", + "detail": "badDepends5", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badInterp", + "kind": "interface", + "detail": "badInterp", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterp", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterp" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "bar", + "kind": "interface", + "detail": "bar", + "deprecated": false, + "preselect": false, + "sortText": "2_bar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "baz", + "kind": "interface", + "detail": "baz", + "deprecated": false, + "preselect": false, + "sortText": "2_baz", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "baz" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "cyclicExistingRes", + "kind": "interface", + "detail": "cyclicExistingRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicExistingRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicExistingRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "cyclicRes", + "kind": "interface", + "detail": "cyclicRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "dashesInPropertyNames", + "kind": "interface", + "detail": "dashesInPropertyNames", + "deprecated": false, + "preselect": false, + "sortText": "2_dashesInPropertyNames", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dashesInPropertyNames" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "directRefViaSingleConditionalResourceBody", + "kind": "interface", + "detail": "directRefViaSingleConditionalResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleConditionalResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleConditionalResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBody", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleResourceBody", + "kind": "interface", + "detail": "directRefViaSingleResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaVar", + "kind": "variable", + "detail": "directRefViaVar", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaVar" + } + }, + { + "label": "discriminatorKeyMissing", + "kind": "interface", + "detail": "discriminatorKeyMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for", + "kind": "interface", + "detail": "discriminatorKeyMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne", + "kind": "interface", + "detail": "discriminatorKeySetOne", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOneCompletions", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions" + } + }, + { + "label": "discriminatorKeySetOneCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_if" + } + }, + { + "label": "discriminatorKeySetOne_for", + "kind": "interface", + "detail": "discriminatorKeySetOne_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo", + "kind": "interface", + "detail": "discriminatorKeySetTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwoCompletions", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_if" + } + }, + { + "label": "discriminatorKeySetTwo_for", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing", + "kind": "interface", + "detail": "discriminatorKeyValueMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissingCompletions", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_if" + } + }, + { + "label": "discriminatorKeyValueMissing_for", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "emptyArray", + "kind": "variable", + "detail": "emptyArray", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyArray" + } + }, + { + "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": "expectedArrayExpression", + "kind": "interface", + "detail": "expectedArrayExpression", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedArrayExpression2", + "kind": "interface", + "detail": "expectedArrayExpression2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon", + "kind": "interface", + "detail": "expectedColon", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon2", + "kind": "interface", + "detail": "expectedColon2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedComma", + "kind": "interface", + "detail": "expectedComma", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedComma", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedComma" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword", + "kind": "interface", + "detail": "expectedForKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword2", + "kind": "interface", + "detail": "expectedForKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword", + "kind": "interface", + "detail": "expectedInKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword2", + "kind": "interface", + "detail": "expectedInKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword3", + "kind": "interface", + "detail": "expectedInKeyword3", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword4", + "kind": "interface", + "detail": "expectedInKeyword4", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody", + "kind": "interface", + "detail": "expectedLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody2", + "kind": "interface", + "detail": "expectedLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopIndexName", + "kind": "interface", + "detail": "expectedLoopIndexName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopIndexName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopIndexName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName", + "kind": "interface", + "detail": "expectedLoopItemName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName2", + "kind": "interface", + "detail": "expectedLoopItemName2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopVar", + "kind": "interface", + "detail": "expectedLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopVar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expressionInPropertyLoopVar", + "kind": "variable", + "detail": "expressionInPropertyLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInPropertyLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInPropertyLoopVar" + } + }, + { + "label": "expressionsInPropertyLoopName", + "kind": "interface", + "detail": "expressionsInPropertyLoopName", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionsInPropertyLoopName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionsInPropertyLoopName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "fo", + "kind": "interface", + "detail": "fo", + "deprecated": false, + "preselect": false, + "sortText": "2_fo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "foo", + "kind": "interface", + "detail": "foo", + "deprecated": false, + "preselect": false, + "sortText": "2_foo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "foo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "incorrectPropertiesKey", + "kind": "interface", + "detail": "incorrectPropertiesKey", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "incorrectPropertiesKey2", + "kind": "interface", + "detail": "incorrectPropertiesKey2", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "interpVal", + "kind": "variable", + "detail": "interpVal", + "deprecated": false, + "preselect": false, + "sortText": "2_interpVal", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "interpVal" + } + }, + { + "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": "invalidDecorator", + "kind": "interface", + "detail": "invalidDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDecorator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName1", + "kind": "interface", + "detail": "invalidDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName2", + "kind": "interface", + "detail": "invalidDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName3", + "kind": "interface", + "detail": "invalidDuplicateName3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName1", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName2", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope", + "kind": "interface", + "detail": "invalidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope2", + "kind": "interface", + "detail": "invalidScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope3", + "kind": "interface", + "detail": "invalidScope3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "itemAndIndexSameName", + "kind": "interface", + "detail": "itemAndIndexSameName", + "deprecated": false, + "preselect": false, + "sortText": "2_itemAndIndexSameName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "itemAndIndexSameName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "letsAccessTheDashes", + "kind": "variable", + "detail": "letsAccessTheDashes", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes" + } + }, + { + "label": "letsAccessTheDashes2", + "kind": "variable", + "detail": "letsAccessTheDashes2", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes2" + } + }, + { + "label": "listKeys", + "kind": "function", + "detail": "listKeys()", + "deprecated": false, + "preselect": false, + "sortText": "3_listKeys", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "listKeys($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "loopForRuntimeCheck", + "kind": "interface", + "detail": "loopForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck2", + "kind": "interface", + "detail": "loopForRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck3", + "kind": "interface", + "detail": "loopForRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck4", + "kind": "interface", + "detail": "loopForRuntimeCheck4", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "magicString1", + "kind": "variable", + "detail": "magicString1", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString1" + } + }, + { + "label": "magicString2", + "kind": "variable", + "detail": "magicString2", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString2" + } + }, + { + "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": "missingFewerRequiredProperties", + "kind": "interface", + "detail": "missingFewerRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingFewerRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingFewerRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties", + "kind": "interface", + "detail": "missingRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties2", + "kind": "interface", + "detail": "missingRequiredProperties2", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelProperties", + "kind": "interface", + "detail": "missingTopLevelProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelPropertiesExceptName", + "kind": "interface", + "detail": "missingTopLevelPropertiesExceptName", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelPropertiesExceptName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelPropertiesExceptName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingType", + "kind": "interface", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "mock", + "kind": "variable", + "detail": "mock", + "deprecated": false, + "preselect": false, + "sortText": "2_mock", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "mock" + } + }, + { + "label": "nestedDiscriminator", + "kind": "interface", + "detail": "nestedDiscriminator", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions" + } + }, + { + "label": "nestedDiscriminatorCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for" + } + }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey_for", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for", + "kind": "interface", + "detail": "nestedDiscriminator_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_if", + "kind": "interface", + "detail": "nestedDiscriminator_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedPropertyAccessOnConditional", + "kind": "interface", + "detail": "nestedPropertyAccessOnConditional", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedPropertyAccessOnConditional", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedPropertyAccessOnConditional" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody", + "kind": "interface", + "detail": "nonObjectResourceLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody2", + "kind": "interface", + "detail": "nonObjectResourceLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody3", + "kind": "interface", + "detail": "nonObjectResourceLoopBody3", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody4", + "kind": "interface", + "detail": "nonObjectResourceLoopBody4", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonexistentArrays", + "kind": "interface", + "detail": "nonexistentArrays", + "deprecated": false, + "preselect": false, + "sortText": "2_nonexistentArrays", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonexistentArrays" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "notAResource", + "kind": "variable", + "detail": "notAResource", + "deprecated": false, + "preselect": false, + "sortText": "2_notAResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAResource" + } + }, + { + "label": "notAnArray", + "kind": "variable", + "detail": "notAnArray", + "deprecated": false, + "preselect": false, + "sortText": "2_notAnArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAnArray" + } + }, + { + "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": "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": "premiumStorages", + "kind": "interface", + "detail": "premiumStorages", + "deprecated": false, + "preselect": false, + "sortText": "2_premiumStorages", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "premiumStorages" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest", + "kind": "interface", + "detail": "propertyLoopsCannotNest", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest2", + "kind": "interface", + "detail": "propertyLoopsCannotNest2", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "resourceListIsNotSingleResource", + "kind": "variable", + "detail": "resourceListIsNotSingleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource" + } + }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, + { + "label": "resrefpar", + "kind": "field", + "detail": "resrefpar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefpar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefpar" + } + }, + { + "label": "resrefvar", + "kind": "variable", + "detail": "resrefvar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefvar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefvar" + } + }, + { + "label": "runtimeCheckVar", + "kind": "variable", + "detail": "runtimeCheckVar", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar" + } + }, + { + "label": "runtimeCheckVar2", + "kind": "variable", + "detail": "runtimeCheckVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar2" + } + }, + { + "label": "runtimeInvalid", + "kind": "variable", + "detail": "runtimeInvalid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalid" + } + }, + { + "label": "runtimeInvalidRes1", + "kind": "interface", + "detail": "runtimeInvalidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes10", + "kind": "interface", + "detail": "runtimeInvalidRes10", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes10", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes10" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes11", + "kind": "interface", + "detail": "runtimeInvalidRes11", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes11", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes11" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes12", + "kind": "interface", + "detail": "runtimeInvalidRes12", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes12", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes12" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes13", + "kind": "interface", + "detail": "runtimeInvalidRes13", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes13", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes13" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes14", + "kind": "interface", + "detail": "runtimeInvalidRes14", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes14", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes14" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes15", + "kind": "interface", + "detail": "runtimeInvalidRes15", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes15", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes15" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes16", + "kind": "interface", + "detail": "runtimeInvalidRes16", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes16", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes16" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes17", + "kind": "interface", + "detail": "runtimeInvalidRes17", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes17", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes17" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes18", + "kind": "interface", + "detail": "runtimeInvalidRes18", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes18", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes18" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes2", + "kind": "interface", + "detail": "runtimeInvalidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes3", + "kind": "interface", + "detail": "runtimeInvalidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes4", + "kind": "interface", + "detail": "runtimeInvalidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes5", + "kind": "interface", + "detail": "runtimeInvalidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes6", + "kind": "interface", + "detail": "runtimeInvalidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes7", + "kind": "interface", + "detail": "runtimeInvalidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes8", + "kind": "interface", + "detail": "runtimeInvalidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes9", + "kind": "interface", + "detail": "runtimeInvalidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValid", + "kind": "variable", + "detail": "runtimeValid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValid" + } + }, + { + "label": "runtimeValidRes1", + "kind": "interface", + "detail": "runtimeValidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes2", + "kind": "interface", + "detail": "runtimeValidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes3", + "kind": "interface", + "detail": "runtimeValidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes4", + "kind": "interface", + "detail": "runtimeValidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes5", + "kind": "interface", + "detail": "runtimeValidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes6", + "kind": "interface", + "detail": "runtimeValidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes7", + "kind": "interface", + "detail": "runtimeValidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes8", + "kind": "interface", + "detail": "runtimeValidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes9", + "kind": "interface", + "detail": "runtimeValidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimefoo1", + "kind": "variable", + "detail": "runtimefoo1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo1" + } + }, + { + "label": "runtimefoo2", + "kind": "variable", + "detail": "runtimefoo2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo2" + } + }, + { + "label": "runtimefoo3", + "kind": "variable", + "detail": "runtimefoo3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo3" + } + }, + { + "label": "runtimefoo4", + "kind": "variable", + "detail": "runtimefoo4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo4" + } + }, + { + "label": "selfScope", + "kind": "interface", + "detail": "selfScope", + "deprecated": false, + "preselect": false, + "sortText": "2_selfScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "selfScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sigh", + "kind": "variable", + "detail": "sigh", + "deprecated": false, + "preselect": false, + "sortText": "2_sigh", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sigh" + } + }, + { + "label": "singleResourceForRuntimeCheck", + "kind": "interface", + "detail": "singleResourceForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_singleResourceForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "singleResourceForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "startedTypingTypeWithQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "startedTypingTypeWithoutQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithoutQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithoutQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithoutQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "stuffs", + "kind": "interface", + "detail": "stuffs", + "deprecated": false, + "preselect": false, + "sortText": "2_stuffs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stuffs" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "trailingSpace", + "kind": "interface", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "unfinishedVnet", + "kind": "interface", + "detail": "unfinishedVnet", + "deprecated": false, + "preselect": false, + "sortText": "2_unfinishedVnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "unfinishedVnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "validModule", + "kind": "module", + "detail": "validModule", + "deprecated": false, + "preselect": false, + "sortText": "2_validModule", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validModule" + } + }, + { + "label": "validResourceForInvalidExtensionResourceDuplicateName", + "kind": "interface", + "detail": "validResourceForInvalidExtensionResourceDuplicateName", + "deprecated": false, + "preselect": false, + "sortText": "2_validResourceForInvalidExtensionResourceDuplicateName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validResourceForInvalidExtensionResourceDuplicateName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "varForRuntimeCheck4a", + "kind": "variable", + "detail": "varForRuntimeCheck4a", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4a", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4a" + } + }, + { + "label": "varForRuntimeCheck4b", + "kind": "variable", + "detail": "varForRuntimeCheck4b", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4b", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4b" + } + }, + { + "label": "vnet", + "kind": "interface", + "detail": "vnet", + "deprecated": false, + "preselect": false, + "sortText": "2_vnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "vnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType", + "kind": "interface", + "detail": "wrongArrayType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType2", + "kind": "interface", + "detail": "wrongArrayType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType", + "kind": "interface", + "detail": "wrongLoopBodyType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType2", + "kind": "interface", + "detail": "wrongLoopBodyType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop2", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop2" + }, + "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 9aaeb8effa6..e377a98796b 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 @@ -838,6 +838,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -914,6 +931,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -956,6 +987,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_for", "kind": "variable", @@ -970,6 +1015,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -1001,6 +1060,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -1077,6 +1153,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1133,6 +1223,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1161,6 +1265,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1189,6 +1307,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1220,6 +1352,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1296,6 +1445,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1338,6 +1501,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1366,6 +1543,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1397,6 +1588,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1697,6 +1905,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2588,6 +2864,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2644,6 +2934,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2686,6 +2990,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2728,6 +3046,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2756,6 +3088,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2829,6 +3175,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2857,6 +3217,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2899,6 +3273,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2930,6 +3318,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2964,6 +3369,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3312,6 +3734,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4471,6 +4907,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 d219734be15..f501031cb98 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols.json @@ -586,6 +586,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -662,6 +679,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -704,6 +735,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -732,6 +777,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -763,6 +822,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -839,6 +915,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -895,6 +985,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -923,6 +1027,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -951,6 +1069,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -982,6 +1114,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1058,6 +1207,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1100,6 +1263,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1128,6 +1305,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1159,6 +1350,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1459,6 +1667,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2350,6 +2626,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2406,6 +2696,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2448,6 +2752,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2490,6 +2808,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2518,6 +2850,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2591,6 +2937,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2619,6 +2979,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2647,6 +3021,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2678,6 +3066,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2712,6 +3117,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3060,6 +3482,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4219,6 +4655,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 e915a65be89..d4e76e93bd1 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 @@ -586,6 +586,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -662,6 +679,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -704,6 +735,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -732,6 +777,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -763,6 +822,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -839,6 +915,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -895,6 +985,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -923,6 +1027,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -951,6 +1069,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -982,6 +1114,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1058,6 +1207,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1100,6 +1263,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1128,6 +1305,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1159,6 +1350,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1459,6 +1667,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2350,6 +2626,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2406,6 +2696,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2448,6 +2752,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2490,6 +2808,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2518,6 +2850,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2591,6 +2937,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2619,6 +2979,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2647,6 +3021,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2678,6 +3066,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2712,6 +3117,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3060,6 +3482,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4219,6 +4655,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for_if.json new file mode 100644 index 00000000000..9cf8f01e44f --- /dev/null +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/createModeIndexPlusSymbols_for_if.json @@ -0,0 +1,4760 @@ +[ + { + "label": "'createMode'", + "kind": "property", + "detail": "createMode (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `'Default' | 'Restore'` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'createMode'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'createMode'" + } + }, + { + "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": "arrayExpressionErrors", + "kind": "interface", + "detail": "arrayExpressionErrors", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "arrayExpressionErrors2", + "kind": "interface", + "detail": "arrayExpressionErrors2", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badDepends", + "kind": "interface", + "detail": "badDepends", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends2", + "kind": "interface", + "detail": "badDepends2", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends3", + "kind": "interface", + "detail": "badDepends3", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends4", + "kind": "interface", + "detail": "badDepends4", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends5", + "kind": "interface", + "detail": "badDepends5", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badInterp", + "kind": "interface", + "detail": "badInterp", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterp", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterp" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "bar", + "kind": "interface", + "detail": "bar", + "deprecated": false, + "preselect": false, + "sortText": "2_bar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "baz", + "kind": "interface", + "detail": "baz", + "deprecated": false, + "preselect": false, + "sortText": "2_baz", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "baz" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "cyclicExistingRes", + "kind": "interface", + "detail": "cyclicExistingRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicExistingRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicExistingRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "cyclicRes", + "kind": "interface", + "detail": "cyclicRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "dashesInPropertyNames", + "kind": "interface", + "detail": "dashesInPropertyNames", + "deprecated": false, + "preselect": false, + "sortText": "2_dashesInPropertyNames", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dashesInPropertyNames" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "directRefViaSingleConditionalResourceBody", + "kind": "interface", + "detail": "directRefViaSingleConditionalResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleConditionalResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleConditionalResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBody", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleResourceBody", + "kind": "interface", + "detail": "directRefViaSingleResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaVar", + "kind": "variable", + "detail": "directRefViaVar", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaVar" + } + }, + { + "label": "discriminatorKeyMissing", + "kind": "interface", + "detail": "discriminatorKeyMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for", + "kind": "interface", + "detail": "discriminatorKeyMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne", + "kind": "interface", + "detail": "discriminatorKeySetOne", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOneCompletions", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions" + } + }, + { + "label": "discriminatorKeySetOneCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_if" + } + }, + { + "label": "discriminatorKeySetOne_for", + "kind": "interface", + "detail": "discriminatorKeySetOne_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo", + "kind": "interface", + "detail": "discriminatorKeySetTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwoCompletions", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_if" + } + }, + { + "label": "discriminatorKeySetTwo_for", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing", + "kind": "interface", + "detail": "discriminatorKeyValueMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissingCompletions", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_if" + } + }, + { + "label": "discriminatorKeyValueMissing_for", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "emptyArray", + "kind": "variable", + "detail": "emptyArray", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyArray" + } + }, + { + "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": "expectedArrayExpression", + "kind": "interface", + "detail": "expectedArrayExpression", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedArrayExpression2", + "kind": "interface", + "detail": "expectedArrayExpression2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon", + "kind": "interface", + "detail": "expectedColon", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon2", + "kind": "interface", + "detail": "expectedColon2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedComma", + "kind": "interface", + "detail": "expectedComma", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedComma", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedComma" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword", + "kind": "interface", + "detail": "expectedForKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword2", + "kind": "interface", + "detail": "expectedForKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword", + "kind": "interface", + "detail": "expectedInKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword2", + "kind": "interface", + "detail": "expectedInKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword3", + "kind": "interface", + "detail": "expectedInKeyword3", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword4", + "kind": "interface", + "detail": "expectedInKeyword4", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody", + "kind": "interface", + "detail": "expectedLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody2", + "kind": "interface", + "detail": "expectedLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopIndexName", + "kind": "interface", + "detail": "expectedLoopIndexName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopIndexName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopIndexName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName", + "kind": "interface", + "detail": "expectedLoopItemName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName2", + "kind": "interface", + "detail": "expectedLoopItemName2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopVar", + "kind": "interface", + "detail": "expectedLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopVar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expressionInPropertyLoopVar", + "kind": "variable", + "detail": "expressionInPropertyLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInPropertyLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInPropertyLoopVar" + } + }, + { + "label": "expressionsInPropertyLoopName", + "kind": "interface", + "detail": "expressionsInPropertyLoopName", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionsInPropertyLoopName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionsInPropertyLoopName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "fo", + "kind": "interface", + "detail": "fo", + "deprecated": false, + "preselect": false, + "sortText": "2_fo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "foo", + "kind": "interface", + "detail": "foo", + "deprecated": false, + "preselect": false, + "sortText": "2_foo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "foo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "incorrectPropertiesKey", + "kind": "interface", + "detail": "incorrectPropertiesKey", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "incorrectPropertiesKey2", + "kind": "interface", + "detail": "incorrectPropertiesKey2", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "interpVal", + "kind": "variable", + "detail": "interpVal", + "deprecated": false, + "preselect": false, + "sortText": "2_interpVal", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "interpVal" + } + }, + { + "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": "invalidDecorator", + "kind": "interface", + "detail": "invalidDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDecorator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName1", + "kind": "interface", + "detail": "invalidDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName2", + "kind": "interface", + "detail": "invalidDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName3", + "kind": "interface", + "detail": "invalidDuplicateName3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName1", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName2", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope", + "kind": "interface", + "detail": "invalidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope2", + "kind": "interface", + "detail": "invalidScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope3", + "kind": "interface", + "detail": "invalidScope3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "itemAndIndexSameName", + "kind": "interface", + "detail": "itemAndIndexSameName", + "deprecated": false, + "preselect": false, + "sortText": "2_itemAndIndexSameName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "itemAndIndexSameName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "letsAccessTheDashes", + "kind": "variable", + "detail": "letsAccessTheDashes", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes" + } + }, + { + "label": "letsAccessTheDashes2", + "kind": "variable", + "detail": "letsAccessTheDashes2", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes2" + } + }, + { + "label": "listKeys", + "kind": "function", + "detail": "listKeys()", + "deprecated": false, + "preselect": false, + "sortText": "3_listKeys", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "listKeys($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "loopForRuntimeCheck", + "kind": "interface", + "detail": "loopForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck2", + "kind": "interface", + "detail": "loopForRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck3", + "kind": "interface", + "detail": "loopForRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck4", + "kind": "interface", + "detail": "loopForRuntimeCheck4", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "magicString1", + "kind": "variable", + "detail": "magicString1", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString1" + } + }, + { + "label": "magicString2", + "kind": "variable", + "detail": "magicString2", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString2" + } + }, + { + "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": "missingFewerRequiredProperties", + "kind": "interface", + "detail": "missingFewerRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingFewerRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingFewerRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties", + "kind": "interface", + "detail": "missingRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties2", + "kind": "interface", + "detail": "missingRequiredProperties2", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelProperties", + "kind": "interface", + "detail": "missingTopLevelProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelPropertiesExceptName", + "kind": "interface", + "detail": "missingTopLevelPropertiesExceptName", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelPropertiesExceptName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelPropertiesExceptName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingType", + "kind": "interface", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "mock", + "kind": "variable", + "detail": "mock", + "deprecated": false, + "preselect": false, + "sortText": "2_mock", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "mock" + } + }, + { + "label": "nestedDiscriminator", + "kind": "interface", + "detail": "nestedDiscriminator", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions" + } + }, + { + "label": "nestedDiscriminatorCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for" + } + }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey_for", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for", + "kind": "interface", + "detail": "nestedDiscriminator_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_if", + "kind": "interface", + "detail": "nestedDiscriminator_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedPropertyAccessOnConditional", + "kind": "interface", + "detail": "nestedPropertyAccessOnConditional", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedPropertyAccessOnConditional", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedPropertyAccessOnConditional" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody", + "kind": "interface", + "detail": "nonObjectResourceLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody2", + "kind": "interface", + "detail": "nonObjectResourceLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody3", + "kind": "interface", + "detail": "nonObjectResourceLoopBody3", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody4", + "kind": "interface", + "detail": "nonObjectResourceLoopBody4", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonexistentArrays", + "kind": "interface", + "detail": "nonexistentArrays", + "deprecated": false, + "preselect": false, + "sortText": "2_nonexistentArrays", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonexistentArrays" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "notAResource", + "kind": "variable", + "detail": "notAResource", + "deprecated": false, + "preselect": false, + "sortText": "2_notAResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAResource" + } + }, + { + "label": "notAnArray", + "kind": "variable", + "detail": "notAnArray", + "deprecated": false, + "preselect": false, + "sortText": "2_notAnArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAnArray" + } + }, + { + "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": "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": "premiumStorages", + "kind": "interface", + "detail": "premiumStorages", + "deprecated": false, + "preselect": false, + "sortText": "2_premiumStorages", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "premiumStorages" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest", + "kind": "interface", + "detail": "propertyLoopsCannotNest", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest2", + "kind": "interface", + "detail": "propertyLoopsCannotNest2", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "resourceListIsNotSingleResource", + "kind": "variable", + "detail": "resourceListIsNotSingleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource" + } + }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, + { + "label": "resrefpar", + "kind": "field", + "detail": "resrefpar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefpar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefpar" + } + }, + { + "label": "resrefvar", + "kind": "variable", + "detail": "resrefvar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefvar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefvar" + } + }, + { + "label": "runtimeCheckVar", + "kind": "variable", + "detail": "runtimeCheckVar", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar" + } + }, + { + "label": "runtimeCheckVar2", + "kind": "variable", + "detail": "runtimeCheckVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar2" + } + }, + { + "label": "runtimeInvalid", + "kind": "variable", + "detail": "runtimeInvalid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalid" + } + }, + { + "label": "runtimeInvalidRes1", + "kind": "interface", + "detail": "runtimeInvalidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes10", + "kind": "interface", + "detail": "runtimeInvalidRes10", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes10", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes10" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes11", + "kind": "interface", + "detail": "runtimeInvalidRes11", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes11", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes11" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes12", + "kind": "interface", + "detail": "runtimeInvalidRes12", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes12", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes12" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes13", + "kind": "interface", + "detail": "runtimeInvalidRes13", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes13", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes13" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes14", + "kind": "interface", + "detail": "runtimeInvalidRes14", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes14", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes14" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes15", + "kind": "interface", + "detail": "runtimeInvalidRes15", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes15", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes15" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes16", + "kind": "interface", + "detail": "runtimeInvalidRes16", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes16", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes16" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes17", + "kind": "interface", + "detail": "runtimeInvalidRes17", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes17", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes17" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes18", + "kind": "interface", + "detail": "runtimeInvalidRes18", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes18", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes18" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes2", + "kind": "interface", + "detail": "runtimeInvalidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes3", + "kind": "interface", + "detail": "runtimeInvalidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes4", + "kind": "interface", + "detail": "runtimeInvalidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes5", + "kind": "interface", + "detail": "runtimeInvalidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes6", + "kind": "interface", + "detail": "runtimeInvalidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes7", + "kind": "interface", + "detail": "runtimeInvalidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes8", + "kind": "interface", + "detail": "runtimeInvalidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes9", + "kind": "interface", + "detail": "runtimeInvalidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValid", + "kind": "variable", + "detail": "runtimeValid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValid" + } + }, + { + "label": "runtimeValidRes1", + "kind": "interface", + "detail": "runtimeValidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes2", + "kind": "interface", + "detail": "runtimeValidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes3", + "kind": "interface", + "detail": "runtimeValidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes4", + "kind": "interface", + "detail": "runtimeValidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes5", + "kind": "interface", + "detail": "runtimeValidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes6", + "kind": "interface", + "detail": "runtimeValidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes7", + "kind": "interface", + "detail": "runtimeValidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes8", + "kind": "interface", + "detail": "runtimeValidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes9", + "kind": "interface", + "detail": "runtimeValidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimefoo1", + "kind": "variable", + "detail": "runtimefoo1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo1" + } + }, + { + "label": "runtimefoo2", + "kind": "variable", + "detail": "runtimefoo2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo2" + } + }, + { + "label": "runtimefoo3", + "kind": "variable", + "detail": "runtimefoo3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo3" + } + }, + { + "label": "runtimefoo4", + "kind": "variable", + "detail": "runtimefoo4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo4" + } + }, + { + "label": "selfScope", + "kind": "interface", + "detail": "selfScope", + "deprecated": false, + "preselect": false, + "sortText": "2_selfScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "selfScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sigh", + "kind": "variable", + "detail": "sigh", + "deprecated": false, + "preselect": false, + "sortText": "2_sigh", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sigh" + } + }, + { + "label": "singleResourceForRuntimeCheck", + "kind": "interface", + "detail": "singleResourceForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_singleResourceForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "singleResourceForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "startedTypingTypeWithQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "startedTypingTypeWithoutQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithoutQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithoutQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithoutQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "stuffs", + "kind": "interface", + "detail": "stuffs", + "deprecated": false, + "preselect": false, + "sortText": "2_stuffs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stuffs" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "trailingSpace", + "kind": "interface", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "unfinishedVnet", + "kind": "interface", + "detail": "unfinishedVnet", + "deprecated": false, + "preselect": false, + "sortText": "2_unfinishedVnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "unfinishedVnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "validModule", + "kind": "module", + "detail": "validModule", + "deprecated": false, + "preselect": false, + "sortText": "2_validModule", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validModule" + } + }, + { + "label": "validResourceForInvalidExtensionResourceDuplicateName", + "kind": "interface", + "detail": "validResourceForInvalidExtensionResourceDuplicateName", + "deprecated": false, + "preselect": false, + "sortText": "2_validResourceForInvalidExtensionResourceDuplicateName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validResourceForInvalidExtensionResourceDuplicateName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "varForRuntimeCheck4a", + "kind": "variable", + "detail": "varForRuntimeCheck4a", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4a", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4a" + } + }, + { + "label": "varForRuntimeCheck4b", + "kind": "variable", + "detail": "varForRuntimeCheck4b", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4b", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4b" + } + }, + { + "label": "vnet", + "kind": "interface", + "detail": "vnet", + "deprecated": false, + "preselect": false, + "sortText": "2_vnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "vnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType", + "kind": "interface", + "detail": "wrongArrayType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType2", + "kind": "interface", + "detail": "wrongArrayType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType", + "kind": "interface", + "detail": "wrongLoopBodyType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType2", + "kind": "interface", + "detail": "wrongLoopBodyType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop2", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop2" + }, + "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 55284e85a98..6c5244e3ff7 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 @@ -586,6 +586,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -662,6 +679,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -704,6 +735,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -732,6 +777,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -763,6 +822,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -839,6 +915,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -895,6 +985,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -923,6 +1027,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -951,6 +1069,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -982,6 +1114,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1058,6 +1207,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1100,6 +1263,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1128,6 +1305,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1159,6 +1350,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1459,6 +1667,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2350,6 +2626,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2406,6 +2696,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2448,6 +2752,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2490,6 +2808,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2518,6 +2850,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2591,6 +2937,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2619,6 +2979,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2661,6 +3035,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKey_for", "kind": "interface", @@ -2678,6 +3066,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2712,6 +3117,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3060,6 +3482,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4219,6 +4655,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 2dbcd5e5f3c..01cb39fefd7 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes.json @@ -1072,6 +1072,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -1148,6 +1165,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -1190,6 +1221,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -1218,6 +1263,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -1249,6 +1308,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -1325,6 +1401,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1381,6 +1471,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1409,6 +1513,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1437,6 +1555,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1468,6 +1600,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1544,6 +1693,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1586,6 +1749,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1614,6 +1791,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1645,6 +1836,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1945,6 +2153,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2822,6 +3098,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2878,6 +3168,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2920,6 +3224,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2962,6 +3280,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2990,6 +3322,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -3063,6 +3409,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -3091,6 +3451,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -3133,6 +3507,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -3164,6 +3552,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -3198,6 +3603,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3546,6 +3968,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4705,6 +5141,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 72d4a145bfb..a9a93b60c1c 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 @@ -1072,6 +1072,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -1148,6 +1165,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -1190,6 +1221,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -1218,6 +1263,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -1249,6 +1308,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -1325,6 +1401,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1381,6 +1471,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1409,6 +1513,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1437,6 +1555,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1468,6 +1600,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1544,6 +1693,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1586,6 +1749,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1614,6 +1791,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1645,6 +1836,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1945,6 +2153,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2822,6 +3098,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2878,6 +3168,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2920,6 +3224,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2962,6 +3280,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2990,6 +3322,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -3063,6 +3409,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -3091,6 +3451,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -3133,6 +3507,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -3164,6 +3552,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -3198,6 +3603,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3546,6 +3968,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4705,6 +5141,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for_if.json new file mode 100644 index 00000000000..2e96be57d27 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/defaultCreateModeIndexes_for_if.json @@ -0,0 +1,5246 @@ +[ + { + "label": "'apiProperties'", + "kind": "property", + "detail": "apiProperties", + "documentation": { + "kind": "markdown", + "value": "Type: `ApiProperties` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'apiProperties'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'apiProperties'" + } + }, + { + "label": "'backupPolicy'", + "kind": "property", + "detail": "backupPolicy", + "documentation": { + "kind": "markdown", + "value": "Type: `BackupPolicy` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'backupPolicy'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'backupPolicy'" + } + }, + { + "label": "'capabilities'", + "kind": "property", + "detail": "capabilities", + "documentation": { + "kind": "markdown", + "value": "Type: `Capability[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'capabilities'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'capabilities'" + } + }, + { + "label": "'connectorOffer'", + "kind": "property", + "detail": "connectorOffer", + "documentation": { + "kind": "markdown", + "value": "Type: `'Small'` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'connectorOffer'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'connectorOffer'" + } + }, + { + "label": "'consistencyPolicy'", + "kind": "property", + "detail": "consistencyPolicy", + "documentation": { + "kind": "markdown", + "value": "Type: `ConsistencyPolicy` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'consistencyPolicy'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'consistencyPolicy'" + } + }, + { + "label": "'cors'", + "kind": "property", + "detail": "cors", + "documentation": { + "kind": "markdown", + "value": "Type: `CorsPolicy[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'cors'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'cors'" + } + }, + { + "label": "'createMode'", + "kind": "property", + "detail": "createMode (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `'Default'` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'createMode'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'createMode'" + } + }, + { + "label": "'databaseAccountOfferType'", + "kind": "property", + "detail": "databaseAccountOfferType (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'databaseAccountOfferType'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'databaseAccountOfferType'" + } + }, + { + "label": "'disableKeyBasedMetadataWriteAccess'", + "kind": "property", + "detail": "disableKeyBasedMetadataWriteAccess", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'disableKeyBasedMetadataWriteAccess'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'disableKeyBasedMetadataWriteAccess'" + } + }, + { + "label": "'documentEndpoint'", + "kind": "property", + "detail": "documentEndpoint", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'documentEndpoint'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'documentEndpoint'" + } + }, + { + "label": "'enableAnalyticalStorage'", + "kind": "property", + "detail": "enableAnalyticalStorage", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'enableAnalyticalStorage'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'enableAnalyticalStorage'" + } + }, + { + "label": "'enableAutomaticFailover'", + "kind": "property", + "detail": "enableAutomaticFailover", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'enableAutomaticFailover'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'enableAutomaticFailover'" + } + }, + { + "label": "'enableCassandraConnector'", + "kind": "property", + "detail": "enableCassandraConnector", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'enableCassandraConnector'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'enableCassandraConnector'" + } + }, + { + "label": "'enableFreeTier'", + "kind": "property", + "detail": "enableFreeTier", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'enableFreeTier'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'enableFreeTier'" + } + }, + { + "label": "'enableMultipleWriteLocations'", + "kind": "property", + "detail": "enableMultipleWriteLocations", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'enableMultipleWriteLocations'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'enableMultipleWriteLocations'" + } + }, + { + "label": "'failoverPolicies'", + "kind": "property", + "detail": "failoverPolicies", + "documentation": { + "kind": "markdown", + "value": "Type: `FailoverPolicy[]` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'failoverPolicies'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'failoverPolicies'" + } + }, + { + "label": "'instanceId'", + "kind": "property", + "detail": "instanceId", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'instanceId'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'instanceId'" + } + }, + { + "label": "'ipRules'", + "kind": "property", + "detail": "ipRules", + "documentation": { + "kind": "markdown", + "value": "Type: `IpAddressOrRange[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'ipRules'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'ipRules'" + } + }, + { + "label": "'isVirtualNetworkFilterEnabled'", + "kind": "property", + "detail": "isVirtualNetworkFilterEnabled", + "documentation": { + "kind": "markdown", + "value": "Type: `bool` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'isVirtualNetworkFilterEnabled'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'isVirtualNetworkFilterEnabled'" + } + }, + { + "label": "'keyVaultKeyUri'", + "kind": "property", + "detail": "keyVaultKeyUri", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'keyVaultKeyUri'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'keyVaultKeyUri'" + } + }, + { + "label": "'locations'", + "kind": "property", + "detail": "locations (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `Location[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'locations'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'locations'" + } + }, + { + "label": "'privateEndpointConnections'", + "kind": "property", + "detail": "privateEndpointConnections", + "documentation": { + "kind": "markdown", + "value": "Type: `PrivateEndpointConnection[]` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'privateEndpointConnections'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'privateEndpointConnections'" + } + }, + { + "label": "'provisioningState'", + "kind": "property", + "detail": "provisioningState", + "documentation": { + "kind": "markdown", + "value": "Type: `string` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'provisioningState'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'provisioningState'" + } + }, + { + "label": "'publicNetworkAccess'", + "kind": "property", + "detail": "publicNetworkAccess", + "documentation": { + "kind": "markdown", + "value": "Type: `'Disabled' | 'Enabled'` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'publicNetworkAccess'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'publicNetworkAccess'" + } + }, + { + "label": "'readLocations'", + "kind": "property", + "detail": "readLocations", + "documentation": { + "kind": "markdown", + "value": "Type: `Location[]` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'readLocations'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'readLocations'" + } + }, + { + "label": "'restoreParameters'", + "kind": "property", + "detail": "restoreParameters", + "documentation": { + "kind": "markdown", + "value": "Type: `RestoreParameters` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'restoreParameters'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'restoreParameters'" + } + }, + { + "label": "'virtualNetworkRules'", + "kind": "property", + "detail": "virtualNetworkRules", + "documentation": { + "kind": "markdown", + "value": "Type: `VirtualNetworkRule[]` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'virtualNetworkRules'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'virtualNetworkRules'" + } + }, + { + "label": "'writeLocations'", + "kind": "property", + "detail": "writeLocations", + "documentation": { + "kind": "markdown", + "value": "Type: `Location[]` \nRead-only property \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'writeLocations'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'writeLocations'" + } + }, + { + "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": "arrayExpressionErrors", + "kind": "interface", + "detail": "arrayExpressionErrors", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "arrayExpressionErrors2", + "kind": "interface", + "detail": "arrayExpressionErrors2", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badDepends", + "kind": "interface", + "detail": "badDepends", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends2", + "kind": "interface", + "detail": "badDepends2", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends3", + "kind": "interface", + "detail": "badDepends3", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends4", + "kind": "interface", + "detail": "badDepends4", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends5", + "kind": "interface", + "detail": "badDepends5", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badInterp", + "kind": "interface", + "detail": "badInterp", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterp", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterp" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "bar", + "kind": "interface", + "detail": "bar", + "deprecated": false, + "preselect": false, + "sortText": "2_bar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "baz", + "kind": "interface", + "detail": "baz", + "deprecated": false, + "preselect": false, + "sortText": "2_baz", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "baz" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "cyclicExistingRes", + "kind": "interface", + "detail": "cyclicExistingRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicExistingRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicExistingRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "cyclicRes", + "kind": "interface", + "detail": "cyclicRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "dashesInPropertyNames", + "kind": "interface", + "detail": "dashesInPropertyNames", + "deprecated": false, + "preselect": false, + "sortText": "2_dashesInPropertyNames", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dashesInPropertyNames" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "directRefViaSingleConditionalResourceBody", + "kind": "interface", + "detail": "directRefViaSingleConditionalResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleConditionalResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleConditionalResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBody", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleResourceBody", + "kind": "interface", + "detail": "directRefViaSingleResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaVar", + "kind": "variable", + "detail": "directRefViaVar", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaVar" + } + }, + { + "label": "discriminatorKeyMissing", + "kind": "interface", + "detail": "discriminatorKeyMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for", + "kind": "interface", + "detail": "discriminatorKeyMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne", + "kind": "interface", + "detail": "discriminatorKeySetOne", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOneCompletions", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions" + } + }, + { + "label": "discriminatorKeySetOneCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_if" + } + }, + { + "label": "discriminatorKeySetOne_for", + "kind": "interface", + "detail": "discriminatorKeySetOne_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo", + "kind": "interface", + "detail": "discriminatorKeySetTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwoCompletions", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_if" + } + }, + { + "label": "discriminatorKeySetTwo_for", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing", + "kind": "interface", + "detail": "discriminatorKeyValueMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissingCompletions", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_if" + } + }, + { + "label": "discriminatorKeyValueMissing_for", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "emptyArray", + "kind": "variable", + "detail": "emptyArray", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyArray" + } + }, + { + "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": "expectedArrayExpression", + "kind": "interface", + "detail": "expectedArrayExpression", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedArrayExpression2", + "kind": "interface", + "detail": "expectedArrayExpression2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon", + "kind": "interface", + "detail": "expectedColon", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon2", + "kind": "interface", + "detail": "expectedColon2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedComma", + "kind": "interface", + "detail": "expectedComma", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedComma", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedComma" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword", + "kind": "interface", + "detail": "expectedForKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword2", + "kind": "interface", + "detail": "expectedForKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword", + "kind": "interface", + "detail": "expectedInKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword2", + "kind": "interface", + "detail": "expectedInKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword3", + "kind": "interface", + "detail": "expectedInKeyword3", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword4", + "kind": "interface", + "detail": "expectedInKeyword4", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody", + "kind": "interface", + "detail": "expectedLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody2", + "kind": "interface", + "detail": "expectedLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopIndexName", + "kind": "interface", + "detail": "expectedLoopIndexName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopIndexName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopIndexName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName", + "kind": "interface", + "detail": "expectedLoopItemName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName2", + "kind": "interface", + "detail": "expectedLoopItemName2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopVar", + "kind": "interface", + "detail": "expectedLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopVar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expressionInPropertyLoopVar", + "kind": "variable", + "detail": "expressionInPropertyLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInPropertyLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInPropertyLoopVar" + } + }, + { + "label": "expressionsInPropertyLoopName", + "kind": "interface", + "detail": "expressionsInPropertyLoopName", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionsInPropertyLoopName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionsInPropertyLoopName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "fo", + "kind": "interface", + "detail": "fo", + "deprecated": false, + "preselect": false, + "sortText": "2_fo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "foo", + "kind": "interface", + "detail": "foo", + "deprecated": false, + "preselect": false, + "sortText": "2_foo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "foo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "incorrectPropertiesKey", + "kind": "interface", + "detail": "incorrectPropertiesKey", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "incorrectPropertiesKey2", + "kind": "interface", + "detail": "incorrectPropertiesKey2", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "interpVal", + "kind": "variable", + "detail": "interpVal", + "deprecated": false, + "preselect": false, + "sortText": "2_interpVal", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "interpVal" + } + }, + { + "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": "invalidDecorator", + "kind": "interface", + "detail": "invalidDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDecorator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName1", + "kind": "interface", + "detail": "invalidDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName2", + "kind": "interface", + "detail": "invalidDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName3", + "kind": "interface", + "detail": "invalidDuplicateName3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName1", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName2", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope", + "kind": "interface", + "detail": "invalidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope2", + "kind": "interface", + "detail": "invalidScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope3", + "kind": "interface", + "detail": "invalidScope3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "itemAndIndexSameName", + "kind": "interface", + "detail": "itemAndIndexSameName", + "deprecated": false, + "preselect": false, + "sortText": "2_itemAndIndexSameName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "itemAndIndexSameName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "letsAccessTheDashes", + "kind": "variable", + "detail": "letsAccessTheDashes", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes" + } + }, + { + "label": "letsAccessTheDashes2", + "kind": "variable", + "detail": "letsAccessTheDashes2", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes2" + } + }, + { + "label": "listKeys", + "kind": "function", + "detail": "listKeys()", + "deprecated": false, + "preselect": false, + "sortText": "3_listKeys", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "listKeys($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "loopForRuntimeCheck", + "kind": "interface", + "detail": "loopForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck2", + "kind": "interface", + "detail": "loopForRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck3", + "kind": "interface", + "detail": "loopForRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck4", + "kind": "interface", + "detail": "loopForRuntimeCheck4", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "magicString1", + "kind": "variable", + "detail": "magicString1", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString1" + } + }, + { + "label": "magicString2", + "kind": "variable", + "detail": "magicString2", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString2" + } + }, + { + "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": "missingFewerRequiredProperties", + "kind": "interface", + "detail": "missingFewerRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingFewerRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingFewerRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties", + "kind": "interface", + "detail": "missingRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties2", + "kind": "interface", + "detail": "missingRequiredProperties2", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelProperties", + "kind": "interface", + "detail": "missingTopLevelProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelPropertiesExceptName", + "kind": "interface", + "detail": "missingTopLevelPropertiesExceptName", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelPropertiesExceptName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelPropertiesExceptName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingType", + "kind": "interface", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "mock", + "kind": "variable", + "detail": "mock", + "deprecated": false, + "preselect": false, + "sortText": "2_mock", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "mock" + } + }, + { + "label": "nestedDiscriminator", + "kind": "interface", + "detail": "nestedDiscriminator", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions" + } + }, + { + "label": "nestedDiscriminatorCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for" + } + }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey_for", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for", + "kind": "interface", + "detail": "nestedDiscriminator_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_if", + "kind": "interface", + "detail": "nestedDiscriminator_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedPropertyAccessOnConditional", + "kind": "interface", + "detail": "nestedPropertyAccessOnConditional", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedPropertyAccessOnConditional", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedPropertyAccessOnConditional" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody", + "kind": "interface", + "detail": "nonObjectResourceLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody2", + "kind": "interface", + "detail": "nonObjectResourceLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody3", + "kind": "interface", + "detail": "nonObjectResourceLoopBody3", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody4", + "kind": "interface", + "detail": "nonObjectResourceLoopBody4", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonexistentArrays", + "kind": "interface", + "detail": "nonexistentArrays", + "deprecated": false, + "preselect": false, + "sortText": "2_nonexistentArrays", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonexistentArrays" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "notAResource", + "kind": "variable", + "detail": "notAResource", + "deprecated": false, + "preselect": false, + "sortText": "2_notAResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAResource" + } + }, + { + "label": "notAnArray", + "kind": "variable", + "detail": "notAnArray", + "deprecated": false, + "preselect": false, + "sortText": "2_notAnArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAnArray" + } + }, + { + "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": "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": "premiumStorages", + "kind": "interface", + "detail": "premiumStorages", + "deprecated": false, + "preselect": false, + "sortText": "2_premiumStorages", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "premiumStorages" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest", + "kind": "interface", + "detail": "propertyLoopsCannotNest", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest2", + "kind": "interface", + "detail": "propertyLoopsCannotNest2", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "resourceListIsNotSingleResource", + "kind": "variable", + "detail": "resourceListIsNotSingleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource" + } + }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, + { + "label": "resrefpar", + "kind": "field", + "detail": "resrefpar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefpar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefpar" + } + }, + { + "label": "resrefvar", + "kind": "variable", + "detail": "resrefvar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefvar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefvar" + } + }, + { + "label": "runtimeCheckVar", + "kind": "variable", + "detail": "runtimeCheckVar", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar" + } + }, + { + "label": "runtimeCheckVar2", + "kind": "variable", + "detail": "runtimeCheckVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar2" + } + }, + { + "label": "runtimeInvalid", + "kind": "variable", + "detail": "runtimeInvalid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalid" + } + }, + { + "label": "runtimeInvalidRes1", + "kind": "interface", + "detail": "runtimeInvalidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes10", + "kind": "interface", + "detail": "runtimeInvalidRes10", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes10", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes10" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes11", + "kind": "interface", + "detail": "runtimeInvalidRes11", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes11", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes11" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes12", + "kind": "interface", + "detail": "runtimeInvalidRes12", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes12", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes12" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes13", + "kind": "interface", + "detail": "runtimeInvalidRes13", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes13", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes13" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes14", + "kind": "interface", + "detail": "runtimeInvalidRes14", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes14", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes14" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes15", + "kind": "interface", + "detail": "runtimeInvalidRes15", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes15", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes15" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes16", + "kind": "interface", + "detail": "runtimeInvalidRes16", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes16", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes16" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes17", + "kind": "interface", + "detail": "runtimeInvalidRes17", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes17", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes17" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes18", + "kind": "interface", + "detail": "runtimeInvalidRes18", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes18", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes18" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes2", + "kind": "interface", + "detail": "runtimeInvalidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes3", + "kind": "interface", + "detail": "runtimeInvalidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes4", + "kind": "interface", + "detail": "runtimeInvalidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes5", + "kind": "interface", + "detail": "runtimeInvalidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes6", + "kind": "interface", + "detail": "runtimeInvalidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes7", + "kind": "interface", + "detail": "runtimeInvalidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes8", + "kind": "interface", + "detail": "runtimeInvalidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes9", + "kind": "interface", + "detail": "runtimeInvalidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValid", + "kind": "variable", + "detail": "runtimeValid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValid" + } + }, + { + "label": "runtimeValidRes1", + "kind": "interface", + "detail": "runtimeValidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes2", + "kind": "interface", + "detail": "runtimeValidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes3", + "kind": "interface", + "detail": "runtimeValidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes4", + "kind": "interface", + "detail": "runtimeValidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes5", + "kind": "interface", + "detail": "runtimeValidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes6", + "kind": "interface", + "detail": "runtimeValidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes7", + "kind": "interface", + "detail": "runtimeValidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes8", + "kind": "interface", + "detail": "runtimeValidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes9", + "kind": "interface", + "detail": "runtimeValidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimefoo1", + "kind": "variable", + "detail": "runtimefoo1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo1" + } + }, + { + "label": "runtimefoo2", + "kind": "variable", + "detail": "runtimefoo2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo2" + } + }, + { + "label": "runtimefoo3", + "kind": "variable", + "detail": "runtimefoo3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo3" + } + }, + { + "label": "runtimefoo4", + "kind": "variable", + "detail": "runtimefoo4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo4" + } + }, + { + "label": "selfScope", + "kind": "interface", + "detail": "selfScope", + "deprecated": false, + "preselect": false, + "sortText": "2_selfScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "selfScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sigh", + "kind": "variable", + "detail": "sigh", + "deprecated": false, + "preselect": false, + "sortText": "2_sigh", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sigh" + } + }, + { + "label": "singleResourceForRuntimeCheck", + "kind": "interface", + "detail": "singleResourceForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_singleResourceForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "singleResourceForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "startedTypingTypeWithQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "startedTypingTypeWithoutQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithoutQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithoutQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithoutQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "stuffs", + "kind": "interface", + "detail": "stuffs", + "deprecated": false, + "preselect": false, + "sortText": "2_stuffs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stuffs" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "trailingSpace", + "kind": "interface", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "unfinishedVnet", + "kind": "interface", + "detail": "unfinishedVnet", + "deprecated": false, + "preselect": false, + "sortText": "2_unfinishedVnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "unfinishedVnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "validModule", + "kind": "module", + "detail": "validModule", + "deprecated": false, + "preselect": false, + "sortText": "2_validModule", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validModule" + } + }, + { + "label": "validResourceForInvalidExtensionResourceDuplicateName", + "kind": "interface", + "detail": "validResourceForInvalidExtensionResourceDuplicateName", + "deprecated": false, + "preselect": false, + "sortText": "2_validResourceForInvalidExtensionResourceDuplicateName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validResourceForInvalidExtensionResourceDuplicateName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "varForRuntimeCheck4a", + "kind": "variable", + "detail": "varForRuntimeCheck4a", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4a", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4a" + } + }, + { + "label": "varForRuntimeCheck4b", + "kind": "variable", + "detail": "varForRuntimeCheck4b", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4b", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4b" + } + }, + { + "label": "vnet", + "kind": "interface", + "detail": "vnet", + "deprecated": false, + "preselect": false, + "sortText": "2_vnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "vnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType", + "kind": "interface", + "detail": "wrongArrayType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType2", + "kind": "interface", + "detail": "wrongArrayType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType", + "kind": "interface", + "detail": "wrongLoopBodyType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType2", + "kind": "interface", + "detail": "wrongLoopBodyType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop2", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop2" + }, + "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 4dbe94809e1..858ee9a6aed 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 @@ -1072,6 +1072,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -1148,6 +1165,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -1190,6 +1221,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -1218,6 +1263,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -1249,6 +1308,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -1325,6 +1401,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1381,6 +1471,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1409,6 +1513,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1437,6 +1555,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1468,6 +1600,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1544,6 +1693,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1586,6 +1749,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1614,6 +1791,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1645,6 +1836,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1945,6 +2153,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2836,6 +3112,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions", "kind": "variable", @@ -2878,6 +3168,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2920,6 +3224,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2962,6 +3280,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2990,6 +3322,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -3063,6 +3409,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -3091,6 +3451,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -3133,6 +3507,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -3164,6 +3552,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -3198,6 +3603,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3546,6 +3968,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4705,6 +5141,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 4ea0cb14bce..b4de27c10b5 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols.json @@ -596,6 +596,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -672,6 +689,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -714,6 +745,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -742,6 +787,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -773,6 +832,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -849,6 +925,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -905,6 +995,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -933,6 +1037,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -961,6 +1079,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -992,6 +1124,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1051,6 +1200,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1093,6 +1256,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1121,6 +1298,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1152,6 +1343,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1452,6 +1660,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2343,6 +2619,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2399,6 +2689,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2441,6 +2745,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2483,6 +2801,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2511,6 +2843,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2584,6 +2930,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2612,6 +2972,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2654,6 +3028,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2685,6 +3073,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2719,6 +3124,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3067,6 +3489,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4226,6 +4662,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 0c93530888e..7890fe78f14 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 @@ -596,6 +596,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -672,6 +689,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -714,6 +745,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -742,6 +787,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -773,6 +832,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -849,6 +925,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -905,6 +995,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -933,6 +1037,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -961,6 +1079,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -992,6 +1124,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1068,6 +1217,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1110,6 +1273,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1138,6 +1315,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1152,6 +1343,23 @@ "newText": "discriminatorKeyValueMissingCompletions_if" } }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1452,6 +1660,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2343,6 +2619,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2399,6 +2689,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2441,6 +2745,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2483,6 +2801,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2511,6 +2843,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2584,6 +2930,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2612,6 +2972,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2654,6 +3028,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2685,6 +3073,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2719,6 +3124,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3067,6 +3489,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4240,6 +4676,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for_if.json new file mode 100644 index 00000000000..6879ad32d30 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/deploymentScriptKindsPlusSymbols_for_if.json @@ -0,0 +1,4781 @@ +[ + { + "label": "'AzureCLI'", + "kind": "enumMember", + "detail": "'AzureCLI'", + "deprecated": false, + "preselect": true, + "sortText": "2_'AzureCLI'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'AzureCLI'" + } + }, + { + "label": "'AzurePowerShell'", + "kind": "enumMember", + "detail": "'AzurePowerShell'", + "deprecated": false, + "preselect": true, + "sortText": "2_'AzurePowerShell'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'AzurePowerShell'" + } + }, + { + "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": "arrayExpressionErrors", + "kind": "interface", + "detail": "arrayExpressionErrors", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "arrayExpressionErrors2", + "kind": "interface", + "detail": "arrayExpressionErrors2", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badDepends", + "kind": "interface", + "detail": "badDepends", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends2", + "kind": "interface", + "detail": "badDepends2", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends3", + "kind": "interface", + "detail": "badDepends3", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends4", + "kind": "interface", + "detail": "badDepends4", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends5", + "kind": "interface", + "detail": "badDepends5", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badInterp", + "kind": "interface", + "detail": "badInterp", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterp", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterp" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "bar", + "kind": "interface", + "detail": "bar", + "deprecated": false, + "preselect": false, + "sortText": "2_bar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "baz", + "kind": "interface", + "detail": "baz", + "deprecated": false, + "preselect": false, + "sortText": "2_baz", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "baz" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "cyclicExistingRes", + "kind": "interface", + "detail": "cyclicExistingRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicExistingRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicExistingRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "cyclicRes", + "kind": "interface", + "detail": "cyclicRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "dashesInPropertyNames", + "kind": "interface", + "detail": "dashesInPropertyNames", + "deprecated": false, + "preselect": false, + "sortText": "2_dashesInPropertyNames", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dashesInPropertyNames" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "directRefViaSingleConditionalResourceBody", + "kind": "interface", + "detail": "directRefViaSingleConditionalResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleConditionalResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleConditionalResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBody", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleResourceBody", + "kind": "interface", + "detail": "directRefViaSingleResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaVar", + "kind": "variable", + "detail": "directRefViaVar", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaVar" + } + }, + { + "label": "discriminatorKeyMissing", + "kind": "interface", + "detail": "discriminatorKeyMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for", + "kind": "interface", + "detail": "discriminatorKeyMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne", + "kind": "interface", + "detail": "discriminatorKeySetOne", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOneCompletions", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions" + } + }, + { + "label": "discriminatorKeySetOneCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_if" + } + }, + { + "label": "discriminatorKeySetOne_for", + "kind": "interface", + "detail": "discriminatorKeySetOne_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo", + "kind": "interface", + "detail": "discriminatorKeySetTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwoCompletions", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_if" + } + }, + { + "label": "discriminatorKeySetTwo_for", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing", + "kind": "interface", + "detail": "discriminatorKeyValueMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissingCompletions", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_if" + } + }, + { + "label": "discriminatorKeyValueMissing_for", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "emptyArray", + "kind": "variable", + "detail": "emptyArray", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyArray" + } + }, + { + "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": "expectedArrayExpression", + "kind": "interface", + "detail": "expectedArrayExpression", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedArrayExpression2", + "kind": "interface", + "detail": "expectedArrayExpression2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon", + "kind": "interface", + "detail": "expectedColon", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon2", + "kind": "interface", + "detail": "expectedColon2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedComma", + "kind": "interface", + "detail": "expectedComma", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedComma", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedComma" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword", + "kind": "interface", + "detail": "expectedForKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword2", + "kind": "interface", + "detail": "expectedForKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword", + "kind": "interface", + "detail": "expectedInKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword2", + "kind": "interface", + "detail": "expectedInKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword3", + "kind": "interface", + "detail": "expectedInKeyword3", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword4", + "kind": "interface", + "detail": "expectedInKeyword4", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody", + "kind": "interface", + "detail": "expectedLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody2", + "kind": "interface", + "detail": "expectedLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopIndexName", + "kind": "interface", + "detail": "expectedLoopIndexName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopIndexName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopIndexName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName", + "kind": "interface", + "detail": "expectedLoopItemName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName2", + "kind": "interface", + "detail": "expectedLoopItemName2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopVar", + "kind": "interface", + "detail": "expectedLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopVar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expressionInPropertyLoopVar", + "kind": "variable", + "detail": "expressionInPropertyLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInPropertyLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInPropertyLoopVar" + } + }, + { + "label": "expressionsInPropertyLoopName", + "kind": "interface", + "detail": "expressionsInPropertyLoopName", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionsInPropertyLoopName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionsInPropertyLoopName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "fo", + "kind": "interface", + "detail": "fo", + "deprecated": false, + "preselect": false, + "sortText": "2_fo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "foo", + "kind": "interface", + "detail": "foo", + "deprecated": false, + "preselect": false, + "sortText": "2_foo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "foo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "incorrectPropertiesKey", + "kind": "interface", + "detail": "incorrectPropertiesKey", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "incorrectPropertiesKey2", + "kind": "interface", + "detail": "incorrectPropertiesKey2", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "interpVal", + "kind": "variable", + "detail": "interpVal", + "deprecated": false, + "preselect": false, + "sortText": "2_interpVal", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "interpVal" + } + }, + { + "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": "invalidDecorator", + "kind": "interface", + "detail": "invalidDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDecorator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName1", + "kind": "interface", + "detail": "invalidDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName2", + "kind": "interface", + "detail": "invalidDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName3", + "kind": "interface", + "detail": "invalidDuplicateName3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName1", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName2", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope", + "kind": "interface", + "detail": "invalidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope2", + "kind": "interface", + "detail": "invalidScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope3", + "kind": "interface", + "detail": "invalidScope3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "itemAndIndexSameName", + "kind": "interface", + "detail": "itemAndIndexSameName", + "deprecated": false, + "preselect": false, + "sortText": "2_itemAndIndexSameName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "itemAndIndexSameName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "letsAccessTheDashes", + "kind": "variable", + "detail": "letsAccessTheDashes", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes" + } + }, + { + "label": "letsAccessTheDashes2", + "kind": "variable", + "detail": "letsAccessTheDashes2", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes2" + } + }, + { + "label": "listKeys", + "kind": "function", + "detail": "listKeys()", + "deprecated": false, + "preselect": false, + "sortText": "3_listKeys", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "listKeys($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "loopForRuntimeCheck", + "kind": "interface", + "detail": "loopForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck2", + "kind": "interface", + "detail": "loopForRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck3", + "kind": "interface", + "detail": "loopForRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck4", + "kind": "interface", + "detail": "loopForRuntimeCheck4", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "magicString1", + "kind": "variable", + "detail": "magicString1", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString1" + } + }, + { + "label": "magicString2", + "kind": "variable", + "detail": "magicString2", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString2" + } + }, + { + "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": "missingFewerRequiredProperties", + "kind": "interface", + "detail": "missingFewerRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingFewerRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingFewerRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties", + "kind": "interface", + "detail": "missingRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties2", + "kind": "interface", + "detail": "missingRequiredProperties2", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelProperties", + "kind": "interface", + "detail": "missingTopLevelProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelPropertiesExceptName", + "kind": "interface", + "detail": "missingTopLevelPropertiesExceptName", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelPropertiesExceptName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelPropertiesExceptName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingType", + "kind": "interface", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "mock", + "kind": "variable", + "detail": "mock", + "deprecated": false, + "preselect": false, + "sortText": "2_mock", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "mock" + } + }, + { + "label": "nestedDiscriminator", + "kind": "interface", + "detail": "nestedDiscriminator", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions" + } + }, + { + "label": "nestedDiscriminatorCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for" + } + }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey_for", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for", + "kind": "interface", + "detail": "nestedDiscriminator_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_if", + "kind": "interface", + "detail": "nestedDiscriminator_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedPropertyAccessOnConditional", + "kind": "interface", + "detail": "nestedPropertyAccessOnConditional", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedPropertyAccessOnConditional", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedPropertyAccessOnConditional" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody", + "kind": "interface", + "detail": "nonObjectResourceLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody2", + "kind": "interface", + "detail": "nonObjectResourceLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody3", + "kind": "interface", + "detail": "nonObjectResourceLoopBody3", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody4", + "kind": "interface", + "detail": "nonObjectResourceLoopBody4", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonexistentArrays", + "kind": "interface", + "detail": "nonexistentArrays", + "deprecated": false, + "preselect": false, + "sortText": "2_nonexistentArrays", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonexistentArrays" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "notAResource", + "kind": "variable", + "detail": "notAResource", + "deprecated": false, + "preselect": false, + "sortText": "2_notAResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAResource" + } + }, + { + "label": "notAnArray", + "kind": "variable", + "detail": "notAnArray", + "deprecated": false, + "preselect": false, + "sortText": "2_notAnArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAnArray" + } + }, + { + "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": "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": "premiumStorages", + "kind": "interface", + "detail": "premiumStorages", + "deprecated": false, + "preselect": false, + "sortText": "2_premiumStorages", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "premiumStorages" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest", + "kind": "interface", + "detail": "propertyLoopsCannotNest", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest2", + "kind": "interface", + "detail": "propertyLoopsCannotNest2", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "resourceListIsNotSingleResource", + "kind": "variable", + "detail": "resourceListIsNotSingleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource" + } + }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, + { + "label": "resrefpar", + "kind": "field", + "detail": "resrefpar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefpar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefpar" + } + }, + { + "label": "resrefvar", + "kind": "variable", + "detail": "resrefvar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefvar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefvar" + } + }, + { + "label": "runtimeCheckVar", + "kind": "variable", + "detail": "runtimeCheckVar", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar" + } + }, + { + "label": "runtimeCheckVar2", + "kind": "variable", + "detail": "runtimeCheckVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar2" + } + }, + { + "label": "runtimeInvalid", + "kind": "variable", + "detail": "runtimeInvalid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalid" + } + }, + { + "label": "runtimeInvalidRes1", + "kind": "interface", + "detail": "runtimeInvalidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes10", + "kind": "interface", + "detail": "runtimeInvalidRes10", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes10", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes10" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes11", + "kind": "interface", + "detail": "runtimeInvalidRes11", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes11", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes11" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes12", + "kind": "interface", + "detail": "runtimeInvalidRes12", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes12", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes12" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes13", + "kind": "interface", + "detail": "runtimeInvalidRes13", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes13", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes13" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes14", + "kind": "interface", + "detail": "runtimeInvalidRes14", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes14", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes14" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes15", + "kind": "interface", + "detail": "runtimeInvalidRes15", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes15", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes15" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes16", + "kind": "interface", + "detail": "runtimeInvalidRes16", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes16", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes16" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes17", + "kind": "interface", + "detail": "runtimeInvalidRes17", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes17", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes17" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes18", + "kind": "interface", + "detail": "runtimeInvalidRes18", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes18", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes18" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes2", + "kind": "interface", + "detail": "runtimeInvalidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes3", + "kind": "interface", + "detail": "runtimeInvalidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes4", + "kind": "interface", + "detail": "runtimeInvalidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes5", + "kind": "interface", + "detail": "runtimeInvalidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes6", + "kind": "interface", + "detail": "runtimeInvalidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes7", + "kind": "interface", + "detail": "runtimeInvalidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes8", + "kind": "interface", + "detail": "runtimeInvalidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes9", + "kind": "interface", + "detail": "runtimeInvalidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValid", + "kind": "variable", + "detail": "runtimeValid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValid" + } + }, + { + "label": "runtimeValidRes1", + "kind": "interface", + "detail": "runtimeValidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes2", + "kind": "interface", + "detail": "runtimeValidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes3", + "kind": "interface", + "detail": "runtimeValidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes4", + "kind": "interface", + "detail": "runtimeValidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes5", + "kind": "interface", + "detail": "runtimeValidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes6", + "kind": "interface", + "detail": "runtimeValidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes7", + "kind": "interface", + "detail": "runtimeValidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes8", + "kind": "interface", + "detail": "runtimeValidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes9", + "kind": "interface", + "detail": "runtimeValidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimefoo1", + "kind": "variable", + "detail": "runtimefoo1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo1" + } + }, + { + "label": "runtimefoo2", + "kind": "variable", + "detail": "runtimefoo2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo2" + } + }, + { + "label": "runtimefoo3", + "kind": "variable", + "detail": "runtimefoo3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo3" + } + }, + { + "label": "runtimefoo4", + "kind": "variable", + "detail": "runtimefoo4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo4" + } + }, + { + "label": "selfScope", + "kind": "interface", + "detail": "selfScope", + "deprecated": false, + "preselect": false, + "sortText": "2_selfScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "selfScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sigh", + "kind": "variable", + "detail": "sigh", + "deprecated": false, + "preselect": false, + "sortText": "2_sigh", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sigh" + } + }, + { + "label": "singleResourceForRuntimeCheck", + "kind": "interface", + "detail": "singleResourceForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_singleResourceForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "singleResourceForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "startedTypingTypeWithQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "startedTypingTypeWithoutQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithoutQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithoutQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithoutQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "stuffs", + "kind": "interface", + "detail": "stuffs", + "deprecated": false, + "preselect": false, + "sortText": "2_stuffs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stuffs" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "thing", + "kind": "variable", + "detail": "thing", + "deprecated": false, + "preselect": false, + "sortText": "2_thing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "thing" + } + }, + { + "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": "trailingSpace", + "kind": "interface", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "unfinishedVnet", + "kind": "interface", + "detail": "unfinishedVnet", + "deprecated": false, + "preselect": false, + "sortText": "2_unfinishedVnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "unfinishedVnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "validModule", + "kind": "module", + "detail": "validModule", + "deprecated": false, + "preselect": false, + "sortText": "2_validModule", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validModule" + } + }, + { + "label": "validResourceForInvalidExtensionResourceDuplicateName", + "kind": "interface", + "detail": "validResourceForInvalidExtensionResourceDuplicateName", + "deprecated": false, + "preselect": false, + "sortText": "2_validResourceForInvalidExtensionResourceDuplicateName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validResourceForInvalidExtensionResourceDuplicateName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "varForRuntimeCheck4a", + "kind": "variable", + "detail": "varForRuntimeCheck4a", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4a", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4a" + } + }, + { + "label": "varForRuntimeCheck4b", + "kind": "variable", + "detail": "varForRuntimeCheck4b", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4b", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4b" + } + }, + { + "label": "vnet", + "kind": "interface", + "detail": "vnet", + "deprecated": false, + "preselect": false, + "sortText": "2_vnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "vnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType", + "kind": "interface", + "detail": "wrongArrayType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType2", + "kind": "interface", + "detail": "wrongArrayType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType", + "kind": "interface", + "detail": "wrongLoopBodyType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType2", + "kind": "interface", + "detail": "wrongLoopBodyType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop2", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop2" + }, + "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 afbfd5be1f7..dff4e5c0eaf 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 @@ -596,6 +596,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -672,6 +689,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -714,6 +745,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -742,6 +787,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -773,6 +832,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -849,6 +925,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -905,6 +995,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -933,6 +1037,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -961,6 +1079,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -992,6 +1124,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1068,6 +1217,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1110,6 +1273,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1138,6 +1315,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1169,6 +1360,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "empty", "kind": "function", @@ -1452,6 +1660,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2343,6 +2619,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2399,6 +2689,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2441,6 +2745,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2483,6 +2801,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2511,6 +2843,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2584,6 +2930,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2612,6 +2972,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2654,6 +3028,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2685,6 +3073,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2719,6 +3124,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3067,6 +3489,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4226,6 +4662,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 8ce6d288166..37b9435c4b0 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols.json @@ -586,6 +586,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -662,6 +679,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -704,6 +735,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -732,6 +777,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -763,6 +822,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -839,6 +915,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -895,6 +985,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -923,6 +1027,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -951,6 +1069,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -982,6 +1114,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1058,6 +1207,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1086,6 +1249,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1114,6 +1291,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1145,6 +1336,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1445,6 +1653,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2336,6 +2612,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2392,6 +2682,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2434,6 +2738,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2476,6 +2794,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2504,6 +2836,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2577,6 +2923,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2605,6 +2965,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2647,6 +3021,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2678,6 +3066,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2712,6 +3117,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3060,6 +3482,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4219,6 +4655,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 5c1e1b8edc0..1acf1e564e4 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 @@ -586,6 +586,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -662,6 +679,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -704,6 +735,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -732,6 +777,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -763,6 +822,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -839,6 +915,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -895,6 +985,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -923,6 +1027,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -951,6 +1069,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -982,6 +1114,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1058,6 +1207,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1086,6 +1249,20 @@ "newText": "discriminatorKeyValueMissingCompletions3" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1114,6 +1291,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1145,6 +1336,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1445,6 +1653,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2336,6 +2612,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2392,6 +2682,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2434,6 +2738,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2476,6 +2794,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2504,6 +2836,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2577,6 +2923,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2605,6 +2965,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2647,6 +3021,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2678,6 +3066,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2712,6 +3117,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3060,6 +3482,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4219,6 +4655,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for_if.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for_if.json new file mode 100644 index 00000000000..fe6074b8705 --- /dev/null +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/missingDiscriminatorPropertyIndexPlusSymbols_for_if.json @@ -0,0 +1,4760 @@ +[ + { + "label": "'kind'", + "kind": "property", + "detail": "kind (Required)", + "documentation": { + "kind": "markdown", + "value": "Type: `'AzureCLI' | 'AzurePowerShell'` \n" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_'kind'", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "'kind'" + } + }, + { + "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": "arrayExpressionErrors", + "kind": "interface", + "detail": "arrayExpressionErrors", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "arrayExpressionErrors2", + "kind": "interface", + "detail": "arrayExpressionErrors2", + "deprecated": false, + "preselect": false, + "sortText": "2_arrayExpressionErrors2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "arrayExpressionErrors2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "az", + "kind": "folder", + "detail": "az", + "deprecated": false, + "preselect": false, + "sortText": "3_az", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "az" + } + }, + { + "label": "badDepends", + "kind": "interface", + "detail": "badDepends", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends2", + "kind": "interface", + "detail": "badDepends2", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends3", + "kind": "interface", + "detail": "badDepends3", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends4", + "kind": "interface", + "detail": "badDepends4", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badDepends5", + "kind": "interface", + "detail": "badDepends5", + "deprecated": false, + "preselect": false, + "sortText": "2_badDepends5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badDepends5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "badInterp", + "kind": "interface", + "detail": "badInterp", + "deprecated": false, + "preselect": false, + "sortText": "2_badInterp", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "badInterp" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "bar", + "kind": "interface", + "detail": "bar", + "deprecated": false, + "preselect": false, + "sortText": "2_bar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "bar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "baz", + "kind": "interface", + "detail": "baz", + "deprecated": false, + "preselect": false, + "sortText": "2_baz", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "baz" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "cyclicExistingRes", + "kind": "interface", + "detail": "cyclicExistingRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicExistingRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicExistingRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "cyclicRes", + "kind": "interface", + "detail": "cyclicRes", + "deprecated": false, + "preselect": false, + "sortText": "2_cyclicRes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "cyclicRes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "dashesInPropertyNames", + "kind": "interface", + "detail": "dashesInPropertyNames", + "deprecated": false, + "preselect": false, + "sortText": "2_dashesInPropertyNames", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "dashesInPropertyNames" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "deployment", + "kind": "function", + "detail": "deployment()", + "deprecated": false, + "preselect": false, + "sortText": "3_deployment", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "deployment()$0" + } + }, + { + "label": "directRefViaSingleConditionalResourceBody", + "kind": "interface", + "detail": "directRefViaSingleConditionalResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleConditionalResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleConditionalResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBody", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "kind": "interface", + "detail": "directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleLoopResourceBodyWithExtraDependsOn", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleLoopResourceBodyWithExtraDependsOn" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaSingleResourceBody", + "kind": "interface", + "detail": "directRefViaSingleResourceBody", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaSingleResourceBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaSingleResourceBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "directRefViaVar", + "kind": "variable", + "detail": "directRefViaVar", + "deprecated": false, + "preselect": false, + "sortText": "2_directRefViaVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "directRefViaVar" + } + }, + { + "label": "discriminatorKeyMissing", + "kind": "interface", + "detail": "discriminatorKeyMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for", + "kind": "interface", + "detail": "discriminatorKeyMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyMissing_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne", + "kind": "interface", + "detail": "discriminatorKeySetOne", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOneCompletions", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions" + } + }, + { + "label": "discriminatorKeySetOneCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for" + } + }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetOneCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_if" + } + }, + { + "label": "discriminatorKeySetOne_for", + "kind": "interface", + "detail": "discriminatorKeySetOne_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetOne_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo", + "kind": "interface", + "detail": "discriminatorKeySetTwo", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwoCompletions", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, + { + "label": "discriminatorKeySetTwoCompletions_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_if" + } + }, + { + "label": "discriminatorKeySetTwo_for", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeySetTwo_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing", + "kind": "interface", + "detail": "discriminatorKeyValueMissing", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissingCompletions", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions2_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions3_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, + { + "label": "discriminatorKeyValueMissingCompletions_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_if" + } + }, + { + "label": "discriminatorKeyValueMissing_for", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "discriminatorKeyValueMissing_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "emptyArray", + "kind": "variable", + "detail": "emptyArray", + "deprecated": false, + "preselect": false, + "sortText": "2_emptyArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "emptyArray" + } + }, + { + "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": "expectedArrayExpression", + "kind": "interface", + "detail": "expectedArrayExpression", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedArrayExpression2", + "kind": "interface", + "detail": "expectedArrayExpression2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedArrayExpression2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedArrayExpression2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon", + "kind": "interface", + "detail": "expectedColon", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedColon2", + "kind": "interface", + "detail": "expectedColon2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedColon2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedColon2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedComma", + "kind": "interface", + "detail": "expectedComma", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedComma", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedComma" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword", + "kind": "interface", + "detail": "expectedForKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedForKeyword2", + "kind": "interface", + "detail": "expectedForKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedForKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedForKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword", + "kind": "interface", + "detail": "expectedInKeyword", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword2", + "kind": "interface", + "detail": "expectedInKeyword2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword3", + "kind": "interface", + "detail": "expectedInKeyword3", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedInKeyword4", + "kind": "interface", + "detail": "expectedInKeyword4", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedInKeyword4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedInKeyword4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody", + "kind": "interface", + "detail": "expectedLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopBody2", + "kind": "interface", + "detail": "expectedLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopIndexName", + "kind": "interface", + "detail": "expectedLoopIndexName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopIndexName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopIndexName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName", + "kind": "interface", + "detail": "expectedLoopItemName", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopItemName2", + "kind": "interface", + "detail": "expectedLoopItemName2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopItemName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopItemName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopVar", + "kind": "interface", + "detail": "expectedLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopVar" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expressionInPropertyLoopVar", + "kind": "variable", + "detail": "expressionInPropertyLoopVar", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionInPropertyLoopVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionInPropertyLoopVar" + } + }, + { + "label": "expressionsInPropertyLoopName", + "kind": "interface", + "detail": "expressionsInPropertyLoopName", + "deprecated": false, + "preselect": false, + "sortText": "2_expressionsInPropertyLoopName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expressionsInPropertyLoopName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "fo", + "kind": "interface", + "detail": "fo", + "deprecated": false, + "preselect": false, + "sortText": "2_fo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "fo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "foo", + "kind": "interface", + "detail": "foo", + "deprecated": false, + "preselect": false, + "sortText": "2_foo", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "foo" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "incorrectPropertiesKey", + "kind": "interface", + "detail": "incorrectPropertiesKey", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "incorrectPropertiesKey2", + "kind": "interface", + "detail": "incorrectPropertiesKey2", + "deprecated": false, + "preselect": false, + "sortText": "2_incorrectPropertiesKey2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "incorrectPropertiesKey2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "interpVal", + "kind": "variable", + "detail": "interpVal", + "deprecated": false, + "preselect": false, + "sortText": "2_interpVal", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "interpVal" + } + }, + { + "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": "invalidDecorator", + "kind": "interface", + "detail": "invalidDecorator", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDecorator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDecorator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName1", + "kind": "interface", + "detail": "invalidDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName2", + "kind": "interface", + "detail": "invalidDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidDuplicateName3", + "kind": "interface", + "detail": "invalidDuplicateName3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidDuplicateName3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidDuplicateName3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName1", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName1", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidExtensionResourceDuplicateName2", + "kind": "interface", + "detail": "invalidExtensionResourceDuplicateName2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidExtensionResourceDuplicateName2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidExtensionResourceDuplicateName2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope", + "kind": "interface", + "detail": "invalidScope", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope2", + "kind": "interface", + "detail": "invalidScope2", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "invalidScope3", + "kind": "interface", + "detail": "invalidScope3", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidScope3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidScope3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "itemAndIndexSameName", + "kind": "interface", + "detail": "itemAndIndexSameName", + "deprecated": false, + "preselect": false, + "sortText": "2_itemAndIndexSameName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "itemAndIndexSameName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "letsAccessTheDashes", + "kind": "variable", + "detail": "letsAccessTheDashes", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes" + } + }, + { + "label": "letsAccessTheDashes2", + "kind": "variable", + "detail": "letsAccessTheDashes2", + "deprecated": false, + "preselect": false, + "sortText": "2_letsAccessTheDashes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "letsAccessTheDashes2" + } + }, + { + "label": "listKeys", + "kind": "function", + "detail": "listKeys()", + "deprecated": false, + "preselect": false, + "sortText": "3_listKeys", + "insertTextFormat": "snippet", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "listKeys($0)" + }, + "command": { + "command": "editor.action.triggerParameterHints" + } + }, + { + "label": "loopForRuntimeCheck", + "kind": "interface", + "detail": "loopForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck2", + "kind": "interface", + "detail": "loopForRuntimeCheck2", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck3", + "kind": "interface", + "detail": "loopForRuntimeCheck3", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "loopForRuntimeCheck4", + "kind": "interface", + "detail": "loopForRuntimeCheck4", + "deprecated": false, + "preselect": false, + "sortText": "2_loopForRuntimeCheck4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "loopForRuntimeCheck4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "magicString1", + "kind": "variable", + "detail": "magicString1", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString1" + } + }, + { + "label": "magicString2", + "kind": "variable", + "detail": "magicString2", + "deprecated": false, + "preselect": false, + "sortText": "2_magicString2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "magicString2" + } + }, + { + "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": "missingFewerRequiredProperties", + "kind": "interface", + "detail": "missingFewerRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingFewerRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingFewerRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties", + "kind": "interface", + "detail": "missingRequiredProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingRequiredProperties2", + "kind": "interface", + "detail": "missingRequiredProperties2", + "deprecated": false, + "preselect": false, + "sortText": "2_missingRequiredProperties2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingRequiredProperties2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelProperties", + "kind": "interface", + "detail": "missingTopLevelProperties", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelProperties", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelProperties" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingTopLevelPropertiesExceptName", + "kind": "interface", + "detail": "missingTopLevelPropertiesExceptName", + "deprecated": false, + "preselect": false, + "sortText": "2_missingTopLevelPropertiesExceptName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingTopLevelPropertiesExceptName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "missingType", + "kind": "interface", + "detail": "missingType", + "deprecated": false, + "preselect": false, + "sortText": "2_missingType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "missingType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "mock", + "kind": "variable", + "detail": "mock", + "deprecated": false, + "preselect": false, + "sortText": "2_mock", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "mock" + } + }, + { + "label": "nestedDiscriminator", + "kind": "interface", + "detail": "nestedDiscriminator", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions" + } + }, + { + "label": "nestedDiscriminatorCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for" + } + }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions3_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for" + } + }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions4_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for" + } + }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_if" + } + }, + { + "label": "nestedDiscriminatorMissingKey_for", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminatorMissingKey_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for", + "kind": "interface", + "detail": "nestedDiscriminator_for", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedDiscriminator_if", + "kind": "interface", + "detail": "nestedDiscriminator_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_if" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nestedPropertyAccessOnConditional", + "kind": "interface", + "detail": "nestedPropertyAccessOnConditional", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedPropertyAccessOnConditional", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedPropertyAccessOnConditional" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody", + "kind": "interface", + "detail": "nonObjectResourceLoopBody", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody2", + "kind": "interface", + "detail": "nonObjectResourceLoopBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody3", + "kind": "interface", + "detail": "nonObjectResourceLoopBody3", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonObjectResourceLoopBody4", + "kind": "interface", + "detail": "nonObjectResourceLoopBody4", + "deprecated": false, + "preselect": false, + "sortText": "2_nonObjectResourceLoopBody4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonObjectResourceLoopBody4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "nonexistentArrays", + "kind": "interface", + "detail": "nonexistentArrays", + "deprecated": false, + "preselect": false, + "sortText": "2_nonexistentArrays", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nonexistentArrays" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "notAResource", + "kind": "variable", + "detail": "notAResource", + "deprecated": false, + "preselect": false, + "sortText": "2_notAResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAResource" + } + }, + { + "label": "notAnArray", + "kind": "variable", + "detail": "notAnArray", + "deprecated": false, + "preselect": false, + "sortText": "2_notAnArray", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "notAnArray" + } + }, + { + "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": "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": "premiumStorages", + "kind": "interface", + "detail": "premiumStorages", + "deprecated": false, + "preselect": false, + "sortText": "2_premiumStorages", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "premiumStorages" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest", + "kind": "interface", + "detail": "propertyLoopsCannotNest", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "propertyLoopsCannotNest2", + "kind": "interface", + "detail": "propertyLoopsCannotNest2", + "deprecated": false, + "preselect": false, + "sortText": "2_propertyLoopsCannotNest2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "propertyLoopsCannotNest2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "resourceListIsNotSingleResource", + "kind": "variable", + "detail": "resourceListIsNotSingleResource", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource" + } + }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, + { + "label": "resrefpar", + "kind": "field", + "detail": "resrefpar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefpar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefpar" + } + }, + { + "label": "resrefvar", + "kind": "variable", + "detail": "resrefvar", + "deprecated": false, + "preselect": false, + "sortText": "2_resrefvar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resrefvar" + } + }, + { + "label": "runtimeCheckVar", + "kind": "variable", + "detail": "runtimeCheckVar", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar" + } + }, + { + "label": "runtimeCheckVar2", + "kind": "variable", + "detail": "runtimeCheckVar2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeCheckVar2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeCheckVar2" + } + }, + { + "label": "runtimeInvalid", + "kind": "variable", + "detail": "runtimeInvalid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalid" + } + }, + { + "label": "runtimeInvalidRes1", + "kind": "interface", + "detail": "runtimeInvalidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes10", + "kind": "interface", + "detail": "runtimeInvalidRes10", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes10", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes10" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes11", + "kind": "interface", + "detail": "runtimeInvalidRes11", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes11", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes11" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes12", + "kind": "interface", + "detail": "runtimeInvalidRes12", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes12", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes12" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes13", + "kind": "interface", + "detail": "runtimeInvalidRes13", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes13", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes13" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes14", + "kind": "interface", + "detail": "runtimeInvalidRes14", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes14", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes14" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes15", + "kind": "interface", + "detail": "runtimeInvalidRes15", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes15", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes15" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes16", + "kind": "interface", + "detail": "runtimeInvalidRes16", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes16", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes16" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes17", + "kind": "interface", + "detail": "runtimeInvalidRes17", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes17", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes17" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes18", + "kind": "interface", + "detail": "runtimeInvalidRes18", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes18", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes18" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes2", + "kind": "interface", + "detail": "runtimeInvalidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes3", + "kind": "interface", + "detail": "runtimeInvalidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes4", + "kind": "interface", + "detail": "runtimeInvalidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes5", + "kind": "interface", + "detail": "runtimeInvalidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes6", + "kind": "interface", + "detail": "runtimeInvalidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes7", + "kind": "interface", + "detail": "runtimeInvalidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes8", + "kind": "interface", + "detail": "runtimeInvalidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeInvalidRes9", + "kind": "interface", + "detail": "runtimeInvalidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeInvalidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeInvalidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValid", + "kind": "variable", + "detail": "runtimeValid", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValid", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValid" + } + }, + { + "label": "runtimeValidRes1", + "kind": "interface", + "detail": "runtimeValidRes1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes1" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes2", + "kind": "interface", + "detail": "runtimeValidRes2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes3", + "kind": "interface", + "detail": "runtimeValidRes3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes3" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes4", + "kind": "interface", + "detail": "runtimeValidRes4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes4" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes5", + "kind": "interface", + "detail": "runtimeValidRes5", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes5", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes5" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes6", + "kind": "interface", + "detail": "runtimeValidRes6", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes6", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes6" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes7", + "kind": "interface", + "detail": "runtimeValidRes7", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes7", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes7" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes8", + "kind": "interface", + "detail": "runtimeValidRes8", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes8", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes8" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimeValidRes9", + "kind": "interface", + "detail": "runtimeValidRes9", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimeValidRes9", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimeValidRes9" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "runtimefoo1", + "kind": "variable", + "detail": "runtimefoo1", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo1", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo1" + } + }, + { + "label": "runtimefoo2", + "kind": "variable", + "detail": "runtimefoo2", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo2" + } + }, + { + "label": "runtimefoo3", + "kind": "variable", + "detail": "runtimefoo3", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo3", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo3" + } + }, + { + "label": "runtimefoo4", + "kind": "variable", + "detail": "runtimefoo4", + "deprecated": false, + "preselect": false, + "sortText": "2_runtimefoo4", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "runtimefoo4" + } + }, + { + "label": "selfScope", + "kind": "interface", + "detail": "selfScope", + "deprecated": false, + "preselect": false, + "sortText": "2_selfScope", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "selfScope" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "sigh", + "kind": "variable", + "detail": "sigh", + "deprecated": false, + "preselect": false, + "sortText": "2_sigh", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "sigh" + } + }, + { + "label": "singleResourceForRuntimeCheck", + "kind": "interface", + "detail": "singleResourceForRuntimeCheck", + "deprecated": false, + "preselect": false, + "sortText": "2_singleResourceForRuntimeCheck", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "singleResourceForRuntimeCheck" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "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": "startedTypingTypeWithQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "startedTypingTypeWithoutQuotes", + "kind": "interface", + "detail": "startedTypingTypeWithoutQuotes", + "deprecated": false, + "preselect": false, + "sortText": "2_startedTypingTypeWithoutQuotes", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "startedTypingTypeWithoutQuotes" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "stuffs", + "kind": "interface", + "detail": "stuffs", + "deprecated": false, + "preselect": false, + "sortText": "2_stuffs", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "stuffs" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "trailingSpace", + "kind": "interface", + "detail": "trailingSpace", + "deprecated": false, + "preselect": false, + "sortText": "2_trailingSpace", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "trailingSpace" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "unfinishedVnet", + "kind": "interface", + "detail": "unfinishedVnet", + "deprecated": false, + "preselect": false, + "sortText": "2_unfinishedVnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "unfinishedVnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "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": "validModule", + "kind": "module", + "detail": "validModule", + "deprecated": false, + "preselect": false, + "sortText": "2_validModule", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validModule" + } + }, + { + "label": "validResourceForInvalidExtensionResourceDuplicateName", + "kind": "interface", + "detail": "validResourceForInvalidExtensionResourceDuplicateName", + "deprecated": false, + "preselect": false, + "sortText": "2_validResourceForInvalidExtensionResourceDuplicateName", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "validResourceForInvalidExtensionResourceDuplicateName" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "varForRuntimeCheck4a", + "kind": "variable", + "detail": "varForRuntimeCheck4a", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4a", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4a" + } + }, + { + "label": "varForRuntimeCheck4b", + "kind": "variable", + "detail": "varForRuntimeCheck4b", + "deprecated": false, + "preselect": false, + "sortText": "2_varForRuntimeCheck4b", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "varForRuntimeCheck4b" + } + }, + { + "label": "vnet", + "kind": "interface", + "detail": "vnet", + "deprecated": false, + "preselect": false, + "sortText": "2_vnet", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "vnet" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType", + "kind": "interface", + "detail": "wrongArrayType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongArrayType2", + "kind": "interface", + "detail": "wrongArrayType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongArrayType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongArrayType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType", + "kind": "interface", + "detail": "wrongLoopBodyType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongLoopBodyType2", + "kind": "interface", + "detail": "wrongLoopBodyType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongLoopBodyType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongLoopBodyType2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongPropertyInNestedLoop2", + "kind": "interface", + "detail": "wrongPropertyInNestedLoop2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongPropertyInNestedLoop2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongPropertyInNestedLoop2" + }, + "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 544289583ff..b6a4956f858 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 @@ -586,6 +586,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -662,6 +679,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -704,6 +735,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -732,6 +777,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -763,6 +822,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -839,6 +915,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -895,6 +985,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -923,6 +1027,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -951,6 +1069,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -982,6 +1114,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1058,6 +1207,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1100,6 +1263,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_for", "kind": "variable", @@ -1114,6 +1291,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1145,6 +1336,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1445,6 +1653,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2336,6 +2612,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2392,6 +2682,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2434,6 +2738,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2476,6 +2794,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2504,6 +2836,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2577,6 +2923,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2605,6 +2965,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2647,6 +3021,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2678,6 +3066,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2712,6 +3117,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3060,6 +3482,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4219,6 +4655,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusFor.json b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusFor.json index a0a6b98e932..baf740ae54a 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusFor.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusFor.json @@ -17,6 +17,24 @@ "newText": "[for ${2:item} in ${1:list}: {\n\t$0\n}]" } }, + { + "label": "for-filtered", + "kind": "snippet", + "detail": "for-filtered", + "documentation": { + "kind": "markdown", + "value": "```bicep\n[for (item, index) in list: if (condition) {\n\t\n}]\n```" + }, + "deprecated": false, + "preselect": false, + "sortText": "1_for-filtered", + "insertTextFormat": "snippet", + "insertTextMode": "adjustIndentation", + "textEdit": { + "range": {}, + "newText": "[for (${2:item}, ${3:index}) in ${1:list}: if (${4:condition}) {\n\t$0\n}]" + } + }, { "label": "for-indexed", "kind": "snippet", 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 19a64183137..4ecc3158671 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/objectPlusSymbols.json @@ -568,6 +568,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -644,6 +661,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -686,6 +717,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -714,6 +759,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -745,6 +804,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -821,6 +897,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -877,6 +967,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -905,6 +1009,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -933,6 +1051,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -964,6 +1096,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1040,6 +1189,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1082,6 +1245,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1110,6 +1287,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1141,6 +1332,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1441,6 +1649,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2315,6 +2591,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2371,6 +2661,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2413,6 +2717,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2455,6 +2773,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2483,6 +2815,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2556,6 +2902,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2584,6 +2944,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2626,6 +3000,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2657,6 +3045,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2691,6 +3096,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3039,6 +3461,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4198,6 +4634,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 481a2ea4284..af73a6c421c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/storageSkuNamePlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/storageSkuNamePlusSymbols.json @@ -694,6 +694,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -770,6 +787,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -812,6 +843,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -840,6 +885,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -871,6 +930,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -947,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -1003,6 +1093,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -1031,6 +1135,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -1059,6 +1177,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -1090,6 +1222,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1166,6 +1315,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1208,6 +1371,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1236,6 +1413,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1267,6 +1458,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1567,6 +1775,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2458,6 +2734,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2514,6 +2804,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2556,6 +2860,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2598,6 +2916,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2626,6 +2958,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2699,6 +3045,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2727,6 +3087,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2769,6 +3143,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2800,6 +3188,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2834,6 +3239,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3165,6 +3587,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4324,6 +4760,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 3ad0a546dc7..7ff2c4b185e 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbols.json @@ -568,6 +568,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -644,6 +661,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -686,6 +717,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -714,6 +759,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -745,6 +804,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -821,6 +897,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -877,6 +967,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -905,6 +1009,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -933,6 +1051,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -964,6 +1096,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1040,6 +1189,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1082,6 +1245,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1110,6 +1287,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1141,6 +1332,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1441,6 +1649,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2332,6 +2608,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2388,6 +2678,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2430,6 +2734,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2472,6 +2790,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2500,6 +2832,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2573,6 +2919,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2601,6 +2961,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2643,6 +3017,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2674,6 +3062,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2708,6 +3113,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3056,6 +3478,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4215,6 +4651,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 a2325e1e77e..df47cd9ee09 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2346,6 +2622,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2402,6 +2692,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2444,6 +2748,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2486,6 +2804,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2514,6 +2846,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2587,6 +2933,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2615,6 +2975,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2657,6 +3031,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2688,6 +3076,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2722,6 +3127,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3070,6 +3492,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4229,6 +4665,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 64ecbaf9766..d345c8689c4 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount2.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccount2.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2346,6 +2622,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2402,6 +2692,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2444,6 +2748,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2486,6 +2804,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2514,6 +2846,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2587,6 +2933,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2615,6 +2975,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2657,6 +3031,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2688,6 +3076,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2722,6 +3127,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3053,6 +3475,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4212,6 +4648,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 788e99e3c0a..b6180cd8db2 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleState.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleState.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2346,6 +2622,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2402,6 +2692,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2444,6 +2748,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2486,6 +2804,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2514,6 +2846,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2587,6 +2933,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2615,6 +2975,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2657,6 +3031,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2688,6 +3076,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2722,6 +3127,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3070,6 +3492,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4257,6 +4693,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 b37d971c0eb..d389f195a53 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleStateSomething.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusAccountRuleStateSomething.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2346,6 +2622,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2402,6 +2692,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2444,6 +2748,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2486,6 +2804,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2514,6 +2846,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2587,6 +2933,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2615,6 +2975,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2657,6 +3031,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2688,6 +3076,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2722,6 +3127,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3070,6 +3492,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4271,6 +4707,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 4da6054b7eb..f643e5213ba 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayAndFor.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayAndFor.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2396,6 +2672,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2452,6 +2742,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2494,6 +2798,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2536,6 +2854,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2564,6 +2896,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2637,6 +2983,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2665,6 +3025,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2707,6 +3081,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2738,6 +3126,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2772,6 +3177,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3120,6 +3542,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4279,6 +4715,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 5f24a091d4f..38b38ceefbf 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayWithoutFor.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusArrayWithoutFor.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2360,6 +2636,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2416,6 +2706,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2458,6 +2762,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2500,6 +2818,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2528,6 +2860,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2601,6 +2947,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2629,6 +2989,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2671,6 +3045,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2702,6 +3090,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2736,6 +3141,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3084,6 +3506,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4226,6 +4662,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", 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 677e479e55a..d3205759f3a 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusRule.json +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/Completions/symbolsPlusRule.json @@ -582,6 +582,23 @@ ":" ] }, + { + "label": "discriminatorKeyMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyMissing_if", "kind": "interface", @@ -658,6 +675,20 @@ "newText": "discriminatorKeySetOneCompletions2_for" } }, + { + "label": "discriminatorKeySetOneCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions2_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions2_if", "kind": "variable", @@ -700,6 +731,20 @@ "newText": "discriminatorKeySetOneCompletions3_for" } }, + { + "label": "discriminatorKeySetOneCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions3_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions3_if", "kind": "variable", @@ -728,6 +773,20 @@ "newText": "discriminatorKeySetOneCompletions_for" } }, + { + "label": "discriminatorKeySetOneCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetOneCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOneCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOneCompletions_for_if" + } + }, { "label": "discriminatorKeySetOneCompletions_if", "kind": "variable", @@ -759,6 +818,23 @@ ":" ] }, + { + "label": "discriminatorKeySetOne_for_if", + "kind": "interface", + "detail": "discriminatorKeySetOne_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetOne_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetOne_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetOne_if", "kind": "interface", @@ -835,6 +911,20 @@ "newText": "discriminatorKeySetTwoCompletions2_for" } }, + { + "label": "discriminatorKeySetTwoCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions2_if", "kind": "variable", @@ -891,6 +981,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer2_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer2_if", "kind": "variable", @@ -919,6 +1023,20 @@ "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for" } }, + { + "label": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletionsArrayIndexer_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletionsArrayIndexer_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletionsArrayIndexer_if", "kind": "variable", @@ -947,6 +1065,20 @@ "newText": "discriminatorKeySetTwoCompletions_for" } }, + { + "label": "discriminatorKeySetTwoCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeySetTwoCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwoCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwoCompletions_for_if" + } + }, { "label": "discriminatorKeySetTwoCompletions_if", "kind": "variable", @@ -978,6 +1110,23 @@ ":" ] }, + { + "label": "discriminatorKeySetTwo_for_if", + "kind": "interface", + "detail": "discriminatorKeySetTwo_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeySetTwo_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeySetTwo_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeySetTwo_if", "kind": "interface", @@ -1054,6 +1203,20 @@ "newText": "discriminatorKeyValueMissingCompletions2_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions2_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions2_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions2_if", "kind": "variable", @@ -1096,6 +1259,20 @@ "newText": "discriminatorKeyValueMissingCompletions3_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions3_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions3_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions3_if", "kind": "variable", @@ -1124,6 +1301,20 @@ "newText": "discriminatorKeyValueMissingCompletions_for" } }, + { + "label": "discriminatorKeyValueMissingCompletions_for_if", + "kind": "variable", + "detail": "discriminatorKeyValueMissingCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissingCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissingCompletions_for_if" + } + }, { "label": "discriminatorKeyValueMissingCompletions_if", "kind": "variable", @@ -1155,6 +1346,23 @@ ":" ] }, + { + "label": "discriminatorKeyValueMissing_for_if", + "kind": "interface", + "detail": "discriminatorKeyValueMissing_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_discriminatorKeyValueMissing_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "discriminatorKeyValueMissing_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "discriminatorKeyValueMissing_if", "kind": "interface", @@ -1455,6 +1663,74 @@ ":" ] }, + { + "label": "expectedLoopFilterOpenParen", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterOpenParen2", + "kind": "interface", + "detail": "expectedLoopFilterOpenParen2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterOpenParen2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterOpenParen2" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "expectedLoopFilterPredicateAndBody2", + "kind": "interface", + "detail": "expectedLoopFilterPredicateAndBody2", + "deprecated": false, + "preselect": false, + "sortText": "2_expectedLoopFilterPredicateAndBody2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "expectedLoopFilterPredicateAndBody2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "expectedLoopIndexName", "kind": "interface", @@ -2346,6 +2622,20 @@ "newText": "nestedDiscriminatorArrayIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorArrayIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorArrayIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorArrayIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorArrayIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorArrayIndexCompletions_if", "kind": "variable", @@ -2402,6 +2692,20 @@ "newText": "nestedDiscriminatorCompletions2_for" } }, + { + "label": "nestedDiscriminatorCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorCompletions2_if", "kind": "variable", @@ -2444,6 +2748,20 @@ "newText": "nestedDiscriminatorCompletions3_for" } }, + { + "label": "nestedDiscriminatorCompletions3_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions3_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions3_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions3_for_if" + } + }, { "label": "nestedDiscriminatorCompletions3_if", "kind": "variable", @@ -2486,6 +2804,20 @@ "newText": "nestedDiscriminatorCompletions4_for" } }, + { + "label": "nestedDiscriminatorCompletions4_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions4_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions4_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions4_for_if" + } + }, { "label": "nestedDiscriminatorCompletions4_if", "kind": "variable", @@ -2514,6 +2846,20 @@ "newText": "nestedDiscriminatorCompletions_for" } }, + { + "label": "nestedDiscriminatorCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorCompletions_for_if" + } + }, { "label": "nestedDiscriminatorCompletions_if", "kind": "variable", @@ -2587,6 +2933,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions2_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions2_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions2_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions2_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions2_if", "kind": "variable", @@ -2615,6 +2975,20 @@ "newText": "nestedDiscriminatorMissingKeyCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyCompletions_if", "kind": "variable", @@ -2657,6 +3031,20 @@ "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for" } }, + { + "label": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "kind": "variable", + "detail": "nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKeyIndexCompletions_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKeyIndexCompletions_for_if" + } + }, { "label": "nestedDiscriminatorMissingKeyIndexCompletions_if", "kind": "variable", @@ -2688,6 +3076,23 @@ ":" ] }, + { + "label": "nestedDiscriminatorMissingKey_for_if", + "kind": "interface", + "detail": "nestedDiscriminatorMissingKey_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminatorMissingKey_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminatorMissingKey_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminatorMissingKey_if", "kind": "interface", @@ -2722,6 +3127,23 @@ ":" ] }, + { + "label": "nestedDiscriminator_for_if", + "kind": "interface", + "detail": "nestedDiscriminator_for_if", + "deprecated": false, + "preselect": false, + "sortText": "2_nestedDiscriminator_for_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "nestedDiscriminator_for_if" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "nestedDiscriminator_if", "kind": "interface", @@ -3070,6 +3492,20 @@ "newText": "resourceListIsNotSingleResource" } }, + { + "label": "resourceListIsNotSingleResource_if", + "kind": "variable", + "detail": "resourceListIsNotSingleResource_if", + "deprecated": false, + "preselect": false, + "sortText": "2_resourceListIsNotSingleResource_if", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "resourceListIsNotSingleResource_if" + } + }, { "label": "resrefpar", "kind": "field", @@ -4243,6 +4679,40 @@ ":" ] }, + { + "label": "wrongFilterExpressionType", + "kind": "interface", + "detail": "wrongFilterExpressionType", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType" + }, + "commitCharacters": [ + ":" + ] + }, + { + "label": "wrongFilterExpressionType2", + "kind": "interface", + "detail": "wrongFilterExpressionType2", + "deprecated": false, + "preselect": false, + "sortText": "2_wrongFilterExpressionType2", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "wrongFilterExpressionType2" + }, + "commitCharacters": [ + ":" + ] + }, { "label": "wrongLoopBodyType", "kind": "interface", diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.bicep index 81144ec9099..4eb197d1311 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.bicep @@ -427,6 +427,14 @@ resource discriminatorKeyMissing_for 'Microsoft.Resources/deploymentScripts@2020 }] +/* +Discriminator key missing (filtered loop) +*/ +resource discriminatorKeyMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { + // #completionTest(0,1,2) -> discriminatorProperty + +}] + /* Discriminator key value missing with property access */ @@ -445,7 +453,6 @@ var discriminatorKeyValueMissingCompletions3 = discriminatorKeyValueMissing[] /* Discriminator key value missing with property access (conditional) */ - resource discriminatorKeyValueMissing_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = if(false) { // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_if kind: @@ -477,6 +484,25 @@ var discriminatorKeyValueMissingCompletions2_for = discriminatorKeyValueMissing_ // #completionTest(87) -> missingDiscriminatorPropertyIndexPlusSymbols_for var discriminatorKeyValueMissingCompletions3_for = discriminatorKeyValueMissing_for[0][] +/* +Discriminator key value missing with property access (filtered loops) +*/ +resource discriminatorKeyValueMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { + // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_for_if + kind: +}] + +// cannot . access properties of a resource loop +var resourceListIsNotSingleResource_if = discriminatorKeyValueMissing_for_if.kind + +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions_for_if = discriminatorKeyValueMissing_for_if[0].p +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions2_for_if = discriminatorKeyValueMissing_for_if[0]. + +// #completionTest(93) -> missingDiscriminatorPropertyIndexPlusSymbols_for_if +var discriminatorKeyValueMissingCompletions3_for_if = discriminatorKeyValueMissing_for_if[0][] + /* Discriminator value set 1 */ @@ -537,6 +563,27 @@ var discriminatorKeySetOneCompletions2_for = discriminatorKeySetOne_for[any(true // #completionTest(86) -> cliPropertyAccessIndexesPlusSymbols_for var discriminatorKeySetOneCompletions3_for = discriminatorKeySetOne_for[1].properties[] +/* +Discriminator value set 1 (filtered loop) +*/ +resource discriminatorKeySetOne_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [ for thing in []: if(true) { + kind: 'AzureCLI' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { + // #completionTest(0,1,2,3,4) -> deploymentScriptCliProperties + + } +}] +// #completionTest(92) -> cliPropertyAccess +var discriminatorKeySetOneCompletions_for_if = discriminatorKeySetOne_for_if[0].properties.a +// #completionTest(100) -> cliPropertyAccess +var discriminatorKeySetOneCompletions2_for_if = discriminatorKeySetOne_for_if[any(true)].properties. + +// #completionTest(92) -> cliPropertyAccessIndexesPlusSymbols_for_if +var discriminatorKeySetOneCompletions3_for_if = discriminatorKeySetOne_for_if[1].properties[] + + /* Discriminator value set 2 */ @@ -581,6 +628,7 @@ var discriminatorKeySetTwoCompletionsArrayIndexer_if = discriminatorKeySetTwo_if // #completionTest(96) -> powershellPropertyAccess var discriminatorKeySetTwoCompletionsArrayIndexer2_if = discriminatorKeySetTwo_if['properties']. + /* Discriminator value set 2 (loops) */ @@ -604,6 +652,29 @@ var discriminatorKeySetTwoCompletionsArrayIndexer_for = discriminatorKeySetTwo_f var discriminatorKeySetTwoCompletionsArrayIndexer2_for = discriminatorKeySetTwo_for[0]['properties']. +/* +Discriminator value set 2 (filtered loops) +*/ +resource discriminatorKeySetTwo_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { + kind: 'AzurePowerShell' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { + // #completionTest(0,1,2,3,4) -> deploymentScriptPSProperties + + } +}] +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions_for_if = discriminatorKeySetTwo_for_if[0].properties.a +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions2_for_if = discriminatorKeySetTwo_for_if[0].properties. + +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer_for_if = discriminatorKeySetTwo_for_if[0]['properties'].a +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer2_for_if = discriminatorKeySetTwo_for_if[0]['properties']. + + resource incorrectPropertiesKey 'Microsoft.Resources/deploymentScripts@2020-10-01' = { kind: 'AzureCLI' @@ -718,6 +789,26 @@ var nestedDiscriminatorMissingKeyCompletions2_for = nestedDiscriminatorMissingKe var nestedDiscriminatorMissingKeyIndexCompletions_for = nestedDiscriminatorMissingKey_for[0].properties[''] +/* +Nested discriminator missing key (filtered loop) +*/ +resource nestedDiscriminatorMissingKey_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { + name: 'test' + location: 'l' + properties: { + //createMode: 'Default' + + } +}] +// #completionTest(107) -> createMode +var nestedDiscriminatorMissingKeyCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties.cr +// #completionTest(109) -> createMode +var nestedDiscriminatorMissingKeyCompletions2_for_if = nestedDiscriminatorMissingKey_for_if[0]['properties']. + +// #completionTest(111) -> createModeIndexPlusSymbols_for_if +var nestedDiscriminatorMissingKeyIndexCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties[''] + + /* Nested discriminator */ @@ -788,6 +879,32 @@ var nestedDiscriminatorCompletions4_for = nestedDiscriminator_for[0]['properties // #completionTest(90) -> defaultCreateModeIndexes_for var nestedDiscriminatorArrayIndexCompletions_for = nestedDiscriminator_for[0].properties[a] + +/* +Nested discriminator (filtered loop) +*/ +resource nestedDiscriminator_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { + name: 'test' + location: 'l' + properties: { + createMode: 'Default' + + } +}] +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions_for_if = nestedDiscriminator_for_if[0].properties.a +// #completionTest(90) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions2_for_if = nestedDiscriminator_for_if[0]['properties'].a +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions3_for_if = nestedDiscriminator_for_if[0].properties. +// #completionTest(89) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions4_for_if = nestedDiscriminator_for_if[0]['properties']. + +// #completionTest(96) -> defaultCreateModeIndexes_for_if +var nestedDiscriminatorArrayIndexCompletions_for_if = nestedDiscriminator_for_if[0].properties[a] + + + // sample resource to validate completions on the next declarations resource nestedPropertyAccessOnConditional 'Microsoft.Compute/virtualMachines@2020-06-01' = if(true) { location: 'test' @@ -902,7 +1019,14 @@ resource expectedColon2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in resource expectedLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z:] -// loop semantic analysis cases +// loop filter parsing cases +resource expectedLoopFilterOpenParen 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if] +resource expectedLoopFilterOpenParen2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if] + +resource expectedLoopFilterPredicateAndBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if()] +resource expectedLoopFilterPredicateAndBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if()] + +// wrong body type var emptyArray = [] resource wrongLoopBodyType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in emptyArray:4] resource wrongLoopBodyType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (x ,i) in emptyArray:4] @@ -924,6 +1048,12 @@ resource wrongArrayType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for ac resource wrongArrayType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account,i) in notAnArray: { }] +// wrong filter expression type +resource wrongFilterExpressionType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in emptyArray: if(4) { +}] +resource wrongFilterExpressionType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account,i) in emptyArray: if(concat('s')){ +}] + // missing required properties resource missingRequiredProperties 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in []: { }] @@ -1114,6 +1244,8 @@ resource nonObjectResourceLoopBody 'Microsoft.Network/dnsZones@2018-05-01' = [fo resource nonObjectResourceLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for thing in []: environment()] resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: 'test'] resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: environment()] +resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) 'test'] +resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) environment()] // #completionTest(54,55) -> objectPlusFor resource foo 'Microsoft.Network/dnsZones@2018-05-01' = diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep index a3a308889a8..ae8147ef2f9 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep @@ -594,6 +594,15 @@ resource discriminatorKeyMissing_for 'Microsoft.Resources/deploymentScripts@2020 }] +/* +Discriminator key missing (filtered loop) +*/ +resource discriminatorKeyMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[120:182) [BCP078 (Error)] The property "kind" requires a value of type "'AzureCLI' | 'AzurePowerShell'", but none was supplied. |{\r\n // #completionTest(0,1,2) -> discriminatorProperty\r\n \r\n}| + // #completionTest(0,1,2) -> discriminatorProperty + +}] + /* Discriminator key value missing with property access */ @@ -615,7 +624,6 @@ var discriminatorKeyValueMissingCompletions3 = discriminatorKeyValueMissing[] /* Discriminator key value missing with property access (conditional) */ - resource discriminatorKeyValueMissing_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = if(false) { // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_if kind: @@ -655,6 +663,30 @@ var discriminatorKeyValueMissingCompletions2_for = discriminatorKeyValueMissing_ var discriminatorKeyValueMissingCompletions3_for = discriminatorKeyValueMissing_for[0][] //@[87:87) [BCP117 (Error)] An empty indexer is not allowed. Specify a valid expression. || +/* +Discriminator key value missing with property access (filtered loops) +*/ +resource discriminatorKeyValueMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { + // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_for_if + kind: +//@[10:10) [BCP009 (Error)] Expected a literal value, an array, an object, a parenthesized expression, or a function call at this location. || +}] + +// cannot . access properties of a resource loop +var resourceListIsNotSingleResource_if = discriminatorKeyValueMissing_for_if.kind +//@[41:76) [BCP144 (Error)] Directly referencing a resource or module collection is not currently supported. Apply an array indexer to the expression. |discriminatorKeyValueMissing_for_if| +//@[77:81) [BCP055 (Error)] Cannot access properties of type "Microsoft.Resources/deploymentScripts@2020-10-01[]". An "object" type is required. |kind| + +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions_for_if = discriminatorKeyValueMissing_for_if[0].p +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions2_for_if = discriminatorKeyValueMissing_for_if[0]. +//@[93:93) [BCP020 (Error)] Expected a function or property name at this location. || + +// #completionTest(93) -> missingDiscriminatorPropertyIndexPlusSymbols_for_if +var discriminatorKeyValueMissingCompletions3_for_if = discriminatorKeyValueMissing_for_if[0][] +//@[93:93) [BCP117 (Error)] An empty indexer is not allowed. Specify a valid expression. || + /* Discriminator value set 1 */ @@ -730,6 +762,32 @@ var discriminatorKeySetOneCompletions2_for = discriminatorKeySetOne_for[any(true var discriminatorKeySetOneCompletions3_for = discriminatorKeySetOne_for[1].properties[] //@[86:86) [BCP117 (Error)] An empty indexer is not allowed. Specify a valid expression. || +/* +Discriminator value set 1 (filtered loop) +*/ +resource discriminatorKeySetOne_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [ for thing in []: if(true) { +//@[9:38) [BCP035 (Error)] The specified "resource" declaration is missing the following required properties: "location", "name". |discriminatorKeySetOne_for_if| + kind: 'AzureCLI' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { +//@[2:12) [BCP035 (Warning)] The specified "object" declaration is missing the following required properties: "azCliVersion", "retentionInterval". |properties| + // #completionTest(0,1,2,3,4) -> deploymentScriptCliProperties + + } +}] +// #completionTest(92) -> cliPropertyAccess +var discriminatorKeySetOneCompletions_for_if = discriminatorKeySetOne_for_if[0].properties.a +//@[91:92) [BCP053 (Warning)] The type "AzureCliScriptProperties" does not contain property "a". Available properties include "arguments", "azCliVersion", "cleanupPreference", "containerSettings", "environmentVariables", "forceUpdateTag", "outputs", "primaryScriptUri", "provisioningState", "retentionInterval", "scriptContent", "status", "storageAccountSettings", "supportingScriptUris", "timeout". |a| +// #completionTest(100) -> cliPropertyAccess +var discriminatorKeySetOneCompletions2_for_if = discriminatorKeySetOne_for_if[any(true)].properties. +//@[100:100) [BCP020 (Error)] Expected a function or property name at this location. || + +// #completionTest(92) -> cliPropertyAccessIndexesPlusSymbols_for_if +var discriminatorKeySetOneCompletions3_for_if = discriminatorKeySetOne_for_if[1].properties[] +//@[92:92) [BCP117 (Error)] An empty indexer is not allowed. Specify a valid expression. || + + /* Discriminator value set 2 */ @@ -786,6 +844,7 @@ var discriminatorKeySetTwoCompletionsArrayIndexer_if = discriminatorKeySetTwo_if var discriminatorKeySetTwoCompletionsArrayIndexer2_if = discriminatorKeySetTwo_if['properties']. //@[96:96) [BCP020 (Error)] Expected a function or property name at this location. || + /* Discriminator value set 2 (loops) */ @@ -815,6 +874,35 @@ var discriminatorKeySetTwoCompletionsArrayIndexer2_for = discriminatorKeySetTwo_ //@[101:101) [BCP020 (Error)] Expected a function or property name at this location. || +/* +Discriminator value set 2 (filtered loops) +*/ +resource discriminatorKeySetTwo_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[9:38) [BCP035 (Error)] The specified "resource" declaration is missing the following required properties: "location", "name". |discriminatorKeySetTwo_for_if| + kind: 'AzurePowerShell' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { +//@[2:12) [BCP035 (Warning)] The specified "object" declaration is missing the following required properties: "azPowerShellVersion", "retentionInterval". |properties| + // #completionTest(0,1,2,3,4) -> deploymentScriptPSProperties + + } +}] +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions_for_if = discriminatorKeySetTwo_for_if[0].properties.a +//@[91:92) [BCP053 (Warning)] The type "AzurePowerShellScriptProperties" does not contain property "a". Available properties include "arguments", "azPowerShellVersion", "cleanupPreference", "containerSettings", "environmentVariables", "forceUpdateTag", "outputs", "primaryScriptUri", "provisioningState", "retentionInterval", "scriptContent", "status", "storageAccountSettings", "supportingScriptUris", "timeout". |a| +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions2_for_if = discriminatorKeySetTwo_for_if[0].properties. +//@[92:92) [BCP020 (Error)] Expected a function or property name at this location. || + +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer_for_if = discriminatorKeySetTwo_for_if[0]['properties'].a +//@[106:107) [BCP053 (Warning)] The type "AzurePowerShellScriptProperties" does not contain property "a". Available properties include "arguments", "azPowerShellVersion", "cleanupPreference", "containerSettings", "environmentVariables", "forceUpdateTag", "outputs", "primaryScriptUri", "provisioningState", "retentionInterval", "scriptContent", "status", "storageAccountSettings", "supportingScriptUris", "timeout". |a| +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer2_for_if = discriminatorKeySetTwo_for_if[0]['properties']. +//@[107:107) [BCP020 (Error)] Expected a function or property name at this location. || + + resource incorrectPropertiesKey 'Microsoft.Resources/deploymentScripts@2020-10-01' = { //@[9:31) [BCP035 (Error)] The specified "resource" declaration is missing the following required properties: "location", "name", "properties". |incorrectPropertiesKey| @@ -953,6 +1041,28 @@ var nestedDiscriminatorMissingKeyCompletions2_for = nestedDiscriminatorMissingKe var nestedDiscriminatorMissingKeyIndexCompletions_for = nestedDiscriminatorMissingKey_for[0].properties[''] +/* +Nested discriminator missing key (filtered loop) +*/ +resource nestedDiscriminatorMissingKey_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { + name: 'test' + location: 'l' + properties: { +//@[14:51) [BCP078 (Warning)] The property "createMode" requires a value of type "'Default' | 'Restore'", but none was supplied. |{\r\n //createMode: 'Default'\r\n\r\n }| + //createMode: 'Default' + + } +}] +// #completionTest(107) -> createMode +var nestedDiscriminatorMissingKeyCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties.cr +// #completionTest(109) -> createMode +var nestedDiscriminatorMissingKeyCompletions2_for_if = nestedDiscriminatorMissingKey_for_if[0]['properties']. +//@[109:109) [BCP020 (Error)] Expected a function or property name at this location. || + +// #completionTest(111) -> createModeIndexPlusSymbols_for_if +var nestedDiscriminatorMissingKeyIndexCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties[''] + + /* Nested discriminator */ @@ -1043,6 +1153,38 @@ var nestedDiscriminatorCompletions4_for = nestedDiscriminator_for[0]['properties var nestedDiscriminatorArrayIndexCompletions_for = nestedDiscriminator_for[0].properties[a] //@[89:90) [BCP057 (Error)] The name "a" does not exist in the current context. |a| + +/* +Nested discriminator (filtered loop) +*/ +resource nestedDiscriminator_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { + name: 'test' + location: 'l' + properties: { +//@[2:12) [BCP035 (Warning)] The specified "object" declaration is missing the following required properties: "databaseAccountOfferType", "locations". |properties| + createMode: 'Default' + + } +}] +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions_for_if = nestedDiscriminator_for_if[0].properties.a +//@[85:86) [BCP053 (Warning)] The type "Default" does not contain property "a". Available properties include "apiProperties", "backupPolicy", "capabilities", "connectorOffer", "consistencyPolicy", "cors", "createMode", "databaseAccountOfferType", "disableKeyBasedMetadataWriteAccess", "documentEndpoint", "enableAnalyticalStorage", "enableAutomaticFailover", "enableCassandraConnector", "enableFreeTier", "enableMultipleWriteLocations", "failoverPolicies", "instanceId", "ipRules", "isVirtualNetworkFilterEnabled", "keyVaultKeyUri", "locations", "privateEndpointConnections", "provisioningState", "publicNetworkAccess", "readLocations", "restoreParameters", "virtualNetworkRules", "writeLocations". |a| +// #completionTest(90) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions2_for_if = nestedDiscriminator_for_if[0]['properties'].a +//@[89:90) [BCP053 (Warning)] The type "Default" does not contain property "a". Available properties include "apiProperties", "backupPolicy", "capabilities", "connectorOffer", "consistencyPolicy", "cors", "createMode", "databaseAccountOfferType", "disableKeyBasedMetadataWriteAccess", "documentEndpoint", "enableAnalyticalStorage", "enableAutomaticFailover", "enableCassandraConnector", "enableFreeTier", "enableMultipleWriteLocations", "failoverPolicies", "instanceId", "ipRules", "isVirtualNetworkFilterEnabled", "keyVaultKeyUri", "locations", "privateEndpointConnections", "provisioningState", "publicNetworkAccess", "readLocations", "restoreParameters", "virtualNetworkRules", "writeLocations". |a| +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions3_for_if = nestedDiscriminator_for_if[0].properties. +//@[86:86) [BCP020 (Error)] Expected a function or property name at this location. || +// #completionTest(89) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions4_for_if = nestedDiscriminator_for_if[0]['properties']. +//@[89:89) [BCP020 (Error)] Expected a function or property name at this location. || + +// #completionTest(96) -> defaultCreateModeIndexes_for_if +var nestedDiscriminatorArrayIndexCompletions_for_if = nestedDiscriminator_for_if[0].properties[a] +//@[95:96) [BCP057 (Error)] The name "a" does not exist in the current context. |a| + + + // sample resource to validate completions on the next declarations resource nestedPropertyAccessOnConditional 'Microsoft.Compute/virtualMachines@2020-06-01' = if(true) { location: 'test' @@ -1173,7 +1315,7 @@ resource expectedColon 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x i resource expectedLoopBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y:] //@[85:86) [BCP057 (Error)] The name "y" does not exist in the current context. |y| -//@[87:88) [BCP018 (Error)] Expected the "{" character at this location. |]| +//@[87:88) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |]| // loop index parsing cases resource expectedLoopItemName 'Microsoft.Network/dnsZones@2018-05-01' = [for ()] @@ -1204,14 +1346,31 @@ resource expectedColon2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in resource expectedLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z:] //@[84:85) [BCP057 (Error)] The name "z" does not exist in the current context. |z| -//@[86:87) [BCP018 (Error)] Expected the "{" character at this location. |]| - -// loop semantic analysis cases +//@[86:87) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |]| + +// loop filter parsing cases +resource expectedLoopFilterOpenParen 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if] +//@[96:97) [BCP057 (Error)] The name "y" does not exist in the current context. |y| +//@[101:102) [BCP018 (Error)] Expected the "(" character at this location. |]| +resource expectedLoopFilterOpenParen2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if] +//@[95:96) [BCP057 (Error)] The name "z" does not exist in the current context. |z| +//@[100:101) [BCP018 (Error)] Expected the "(" character at this location. |]| + +resource expectedLoopFilterPredicateAndBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if()] +//@[103:104) [BCP057 (Error)] The name "y" does not exist in the current context. |y| +//@[109:110) [BCP009 (Error)] Expected a literal value, an array, an object, a parenthesized expression, or a function call at this location. |)| +//@[110:111) [BCP018 (Error)] Expected the "{" character at this location. |]| +resource expectedLoopFilterPredicateAndBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if()] +//@[102:103) [BCP057 (Error)] The name "z" does not exist in the current context. |z| +//@[108:109) [BCP009 (Error)] Expected a literal value, an array, an object, a parenthesized expression, or a function call at this location. |)| +//@[109:110) [BCP018 (Error)] Expected the "{" character at this location. |]| + +// wrong body type var emptyArray = [] resource wrongLoopBodyType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in emptyArray:4] -//@[97:98) [BCP018 (Error)] Expected the "{" character at this location. |4| +//@[97:98) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |4| resource wrongLoopBodyType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (x ,i) in emptyArray:4] -//@[103:104) [BCP018 (Error)] Expected the "{" character at this location. |4| +//@[103:104) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |4| // duplicate variable in the same scope resource itemAndIndexSameName 'Microsoft.AAD/domainServices@2020-01-01' = [for (same, same) in emptyArray: { @@ -1237,6 +1396,16 @@ resource wrongArrayType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for ( //@[94:104) [BCP137 (Error)] Loop expected an expression of type "array" but the provided value is of type "bool". |notAnArray| }] +// wrong filter expression type +resource wrongFilterExpressionType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in emptyArray: if(4) { +//@[9:34) [BCP035 (Error)] The specified "resource" declaration is missing the following required properties: "kind", "location", "name", "sku". |wrongFilterExpressionType| +//@[114:117) [BCP046 (Error)] Expected a value of type "bool". |(4)| +}] +resource wrongFilterExpressionType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account,i) in emptyArray: if(concat('s')){ +//@[9:35) [BCP035 (Error)] The specified "resource" declaration is missing the following required properties: "kind", "location", "name", "sku". |wrongFilterExpressionType2| +//@[119:132) [BCP046 (Error)] Expected a value of type "bool". |(concat('s'))| +}] + // missing required properties resource missingRequiredProperties 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in []: { //@[9:34) [BCP035 (Error)] The specified "resource" declaration is missing the following required properties: "kind", "location", "name", "sku". |missingRequiredProperties| @@ -1462,13 +1631,21 @@ resource expressionsInPropertyLoopName 'Microsoft.Network/dnsZones@2018-05-01' = // resource loop body that isn't an object @batchSize(-1) resource nonObjectResourceLoopBody 'Microsoft.Network/dnsZones@2018-05-01' = [for thing in []: 'test'] -//@[95:101) [BCP018 (Error)] Expected the "{" character at this location. |'test'| +//@[95:101) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |'test'| resource nonObjectResourceLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for thing in []: environment()] -//@[96:107) [BCP018 (Error)] Expected the "{" character at this location. |environment| +//@[96:107) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |environment| resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: 'test'] -//@[100:106) [BCP018 (Error)] Expected the "{" character at this location. |'test'| +//@[9:35) [BCP028 (Error)] Identifier "nonObjectResourceLoopBody3" is declared multiple times. Remove or rename the duplicates. |nonObjectResourceLoopBody3| +//@[100:106) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |'test'| resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: environment()] -//@[100:111) [BCP018 (Error)] Expected the "{" character at this location. |environment| +//@[9:35) [BCP028 (Error)] Identifier "nonObjectResourceLoopBody4" is declared multiple times. Remove or rename the duplicates. |nonObjectResourceLoopBody4| +//@[100:111) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |environment| +resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) 'test'] +//@[9:35) [BCP028 (Error)] Identifier "nonObjectResourceLoopBody3" is declared multiple times. Remove or rename the duplicates. |nonObjectResourceLoopBody3| +//@[109:115) [BCP018 (Error)] Expected the "{" character at this location. |'test'| +resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) environment()] +//@[9:35) [BCP028 (Error)] Identifier "nonObjectResourceLoopBody4" is declared multiple times. Remove or rename the duplicates. |nonObjectResourceLoopBody4| +//@[109:120) [BCP018 (Error)] Expected the "{" character at this location. |environment| // #completionTest(54,55) -> objectPlusFor resource foo 'Microsoft.Network/dnsZones@2018-05-01' = diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.formatted.bicep index f3b533fde0c..ecb850543d4 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.formatted.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.formatted.bicep @@ -412,6 +412,13 @@ resource discriminatorKeyMissing_for 'Microsoft.Resources/deploymentScripts@2020 // #completionTest(0,1,2) -> discriminatorProperty }] +/* +Discriminator key missing (filtered loop) +*/ +resource discriminatorKeyMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if (true) { + // #completionTest(0,1,2) -> discriminatorProperty +}] + /* Discriminator key value missing with property access */ @@ -430,7 +437,6 @@ var discriminatorKeyValueMissingCompletions3 = discriminatorKeyValueMissing[] /* Discriminator key value missing with property access (conditional) */ - resource discriminatorKeyValueMissing_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = if(false) { // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_if kind: @@ -462,6 +468,25 @@ var discriminatorKeyValueMissingCompletions2_for = discriminatorKeyValueMissing_ // #completionTest(87) -> missingDiscriminatorPropertyIndexPlusSymbols_for var discriminatorKeyValueMissingCompletions3_for = discriminatorKeyValueMissing_for[0][] +/* +Discriminator key value missing with property access (filtered loops) +*/ +resource discriminatorKeyValueMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { + // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_for_if + kind: +}] + +// cannot . access properties of a resource loop +var resourceListIsNotSingleResource_if = discriminatorKeyValueMissing_for_if.kind + +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions_for_if = discriminatorKeyValueMissing_for_if[0].p +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions2_for_if = discriminatorKeyValueMissing_for_if[0]. + +// #completionTest(93) -> missingDiscriminatorPropertyIndexPlusSymbols_for_if +var discriminatorKeyValueMissingCompletions3_for_if = discriminatorKeyValueMissing_for_if[0][] + /* Discriminator value set 1 */ @@ -519,6 +544,25 @@ var discriminatorKeySetOneCompletions2_for = discriminatorKeySetOne_for[any(true // #completionTest(86) -> cliPropertyAccessIndexesPlusSymbols_for var discriminatorKeySetOneCompletions3_for = discriminatorKeySetOne_for[1].properties[] +/* +Discriminator value set 1 (filtered loop) +*/ +resource discriminatorKeySetOne_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if (true) { + kind: 'AzureCLI' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { + // #completionTest(0,1,2,3,4) -> deploymentScriptCliProperties + } +}] +// #completionTest(92) -> cliPropertyAccess +var discriminatorKeySetOneCompletions_for_if = discriminatorKeySetOne_for_if[0].properties.a +// #completionTest(100) -> cliPropertyAccess +var discriminatorKeySetOneCompletions2_for_if = discriminatorKeySetOne_for_if[any(true)].properties. + +// #completionTest(92) -> cliPropertyAccessIndexesPlusSymbols_for_if +var discriminatorKeySetOneCompletions3_for_if = discriminatorKeySetOne_for_if[1].properties[] + /* Discriminator value set 2 */ @@ -582,6 +626,27 @@ var discriminatorKeySetTwoCompletionsArrayIndexer_for = discriminatorKeySetTwo_f // #completionTest(101) -> powershellPropertyAccess var discriminatorKeySetTwoCompletionsArrayIndexer2_for = discriminatorKeySetTwo_for[0]['properties']. +/* +Discriminator value set 2 (filtered loops) +*/ +resource discriminatorKeySetTwo_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if (true) { + kind: 'AzurePowerShell' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { + // #completionTest(0,1,2,3,4) -> deploymentScriptPSProperties + } +}] +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions_for_if = discriminatorKeySetTwo_for_if[0].properties.a +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions2_for_if = discriminatorKeySetTwo_for_if[0].properties. + +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer_for_if = discriminatorKeySetTwo_for_if[0]['properties'].a +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer2_for_if = discriminatorKeySetTwo_for_if[0]['properties']. + resource incorrectPropertiesKey 'Microsoft.Resources/deploymentScripts@2020-10-01' = { kind: 'AzureCLI' @@ -689,6 +754,24 @@ var nestedDiscriminatorMissingKeyCompletions2_for = nestedDiscriminatorMissingKe // #completionTest(105) -> createModeIndexPlusSymbols_for var nestedDiscriminatorMissingKeyIndexCompletions_for = nestedDiscriminatorMissingKey_for[0].properties[''] +/* +Nested discriminator missing key (filtered loop) +*/ +resource nestedDiscriminatorMissingKey_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if (true) { + name: 'test' + location: 'l' + properties: { + //createMode: 'Default' + } +}] +// #completionTest(107) -> createMode +var nestedDiscriminatorMissingKeyCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties.cr +// #completionTest(109) -> createMode +var nestedDiscriminatorMissingKeyCompletions2_for_if = nestedDiscriminatorMissingKey_for_if[0]['properties']. + +// #completionTest(111) -> createModeIndexPlusSymbols_for_if +var nestedDiscriminatorMissingKeyIndexCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties[''] + /* Nested discriminator */ @@ -755,6 +838,28 @@ var nestedDiscriminatorCompletions4_for = nestedDiscriminator_for[0]['properties // #completionTest(90) -> defaultCreateModeIndexes_for var nestedDiscriminatorArrayIndexCompletions_for = nestedDiscriminator_for[0].properties[a] +/* +Nested discriminator (filtered loop) +*/ +resource nestedDiscriminator_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if (true) { + name: 'test' + location: 'l' + properties: { + createMode: 'Default' + } +}] +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions_for_if = nestedDiscriminator_for_if[0].properties.a +// #completionTest(90) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions2_for_if = nestedDiscriminator_for_if[0]['properties'].a +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions3_for_if = nestedDiscriminator_for_if[0].properties. +// #completionTest(89) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions4_for_if = nestedDiscriminator_for_if[0]['properties']. + +// #completionTest(96) -> defaultCreateModeIndexes_for_if +var nestedDiscriminatorArrayIndexCompletions_for_if = nestedDiscriminator_for_if[0].properties[a] + // sample resource to validate completions on the next declarations resource nestedPropertyAccessOnConditional 'Microsoft.Compute/virtualMachines@2020-06-01' = if (true) { location: 'test' @@ -867,7 +972,14 @@ resource expectedColon2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in resource expectedLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z:] -// loop semantic analysis cases +// loop filter parsing cases +resource expectedLoopFilterOpenParen 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if] +resource expectedLoopFilterOpenParen2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if] + +resource expectedLoopFilterPredicateAndBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if()] +resource expectedLoopFilterPredicateAndBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if()] + +// wrong body type var emptyArray = [] resource wrongLoopBodyType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in emptyArray:4] resource wrongLoopBodyType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (x ,i) in emptyArray:4] @@ -884,6 +996,10 @@ var notAnArray = true resource wrongArrayType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in notAnArray: {}] resource wrongArrayType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account, i) in notAnArray: {}] +// wrong filter expression type +resource wrongFilterExpressionType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in emptyArray: if (4) {}] +resource wrongFilterExpressionType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account, i) in emptyArray: if (concat('s')) {}] + // missing required properties resource missingRequiredProperties 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in []: {}] resource missingRequiredProperties2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account, j) in []: {}] @@ -1068,6 +1184,8 @@ resource nonObjectResourceLoopBody 'Microsoft.Network/dnsZones@2018-05-01' = [fo resource nonObjectResourceLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for thing in []: environment()] resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: 'test'] resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: environment()] +resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) 'test'] +resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) environment()] // #completionTest(54,55) -> objectPlusFor resource foo 'Microsoft.Network/dnsZones@2018-05-01' = diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.symbols.bicep index 3b9d21012c8..420b4ad0b42 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.symbols.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.symbols.bicep @@ -523,6 +523,16 @@ resource discriminatorKeyMissing_for 'Microsoft.Resources/deploymentScripts@2020 }] +/* +Discriminator key missing (filtered loop) +*/ +resource discriminatorKeyMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[98:103) Local thing. Type: any. Declaration start char: 98, length: 5 +//@[9:39) Resource discriminatorKeyMissing_for_if. Type: Microsoft.Resources/deploymentScripts@2020-10-01[]. Declaration start char: 0, length: 183 + // #completionTest(0,1,2) -> discriminatorProperty + +}] + /* Discriminator key value missing with property access */ @@ -545,7 +555,6 @@ var discriminatorKeyValueMissingCompletions3 = discriminatorKeyValueMissing[] /* Discriminator key value missing with property access (conditional) */ - resource discriminatorKeyValueMissing_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = if(false) { //@[9:40) Resource discriminatorKeyValueMissing_if. Type: Microsoft.Resources/deploymentScripts@2020-10-01. Declaration start char: 0, length: 191 // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_if @@ -587,6 +596,31 @@ var discriminatorKeyValueMissingCompletions2_for = discriminatorKeyValueMissing_ var discriminatorKeyValueMissingCompletions3_for = discriminatorKeyValueMissing_for[0][] //@[4:48) Variable discriminatorKeyValueMissingCompletions3_for. Type: error. Declaration start char: 0, length: 88 +/* +Discriminator key value missing with property access (filtered loops) +*/ +resource discriminatorKeyValueMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[103:108) Local thing. Type: any. Declaration start char: 103, length: 5 +//@[9:44) Resource discriminatorKeyValueMissing_for_if. Type: Microsoft.Resources/deploymentScripts@2020-10-01[]. Declaration start char: 0, length: 217 + // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_for_if + kind: +}] + +// cannot . access properties of a resource loop +var resourceListIsNotSingleResource_if = discriminatorKeyValueMissing_for_if.kind +//@[4:38) Variable resourceListIsNotSingleResource_if. Type: error. Declaration start char: 0, length: 81 + +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions_for_if = discriminatorKeyValueMissing_for_if[0].p +//@[4:50) Variable discriminatorKeyValueMissingCompletions_for_if. Type: any. Declaration start char: 0, length: 93 +// #completionTest(93) -> missingDiscriminatorPropertyAccess +var discriminatorKeyValueMissingCompletions2_for_if = discriminatorKeyValueMissing_for_if[0]. +//@[4:51) Variable discriminatorKeyValueMissingCompletions2_for_if. Type: any. Declaration start char: 0, length: 93 + +// #completionTest(93) -> missingDiscriminatorPropertyIndexPlusSymbols_for_if +var discriminatorKeyValueMissingCompletions3_for_if = discriminatorKeyValueMissing_for_if[0][] +//@[4:51) Variable discriminatorKeyValueMissingCompletions3_for_if. Type: error. Declaration start char: 0, length: 94 + /* Discriminator value set 1 */ @@ -660,6 +694,32 @@ var discriminatorKeySetOneCompletions2_for = discriminatorKeySetOne_for[any(true var discriminatorKeySetOneCompletions3_for = discriminatorKeySetOne_for[1].properties[] //@[4:42) Variable discriminatorKeySetOneCompletions3_for. Type: error. Declaration start char: 0, length: 87 +/* +Discriminator value set 1 (filtered loop) +*/ +resource discriminatorKeySetOne_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [ for thing in []: if(true) { +//@[98:103) Local thing. Type: any. Declaration start char: 98, length: 5 +//@[9:38) Resource discriminatorKeySetOne_for_if. Type: Microsoft.Resources/deploymentScripts@2020-10-01[]. Declaration start char: 0, length: 300 + kind: 'AzureCLI' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { + // #completionTest(0,1,2,3,4) -> deploymentScriptCliProperties + + } +}] +// #completionTest(92) -> cliPropertyAccess +var discriminatorKeySetOneCompletions_for_if = discriminatorKeySetOne_for_if[0].properties.a +//@[4:44) Variable discriminatorKeySetOneCompletions_for_if. Type: any. Declaration start char: 0, length: 92 +// #completionTest(100) -> cliPropertyAccess +var discriminatorKeySetOneCompletions2_for_if = discriminatorKeySetOne_for_if[any(true)].properties. +//@[4:45) Variable discriminatorKeySetOneCompletions2_for_if. Type: error. Declaration start char: 0, length: 100 + +// #completionTest(92) -> cliPropertyAccessIndexesPlusSymbols_for_if +var discriminatorKeySetOneCompletions3_for_if = discriminatorKeySetOne_for_if[1].properties[] +//@[4:45) Variable discriminatorKeySetOneCompletions3_for_if. Type: error. Declaration start char: 0, length: 93 + + /* Discriminator value set 2 */ @@ -714,6 +774,7 @@ var discriminatorKeySetTwoCompletionsArrayIndexer_if = discriminatorKeySetTwo_if var discriminatorKeySetTwoCompletionsArrayIndexer2_if = discriminatorKeySetTwo_if['properties']. //@[4:53) Variable discriminatorKeySetTwoCompletionsArrayIndexer2_if. Type: error. Declaration start char: 0, length: 96 + /* Discriminator value set 2 (loops) */ @@ -743,6 +804,35 @@ var discriminatorKeySetTwoCompletionsArrayIndexer2_for = discriminatorKeySetTwo_ //@[4:54) Variable discriminatorKeySetTwoCompletionsArrayIndexer2_for. Type: error. Declaration start char: 0, length: 101 +/* +Discriminator value set 2 (filtered loops) +*/ +resource discriminatorKeySetTwo_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[97:102) Local thing. Type: any. Declaration start char: 97, length: 5 +//@[9:38) Resource discriminatorKeySetTwo_for_if. Type: Microsoft.Resources/deploymentScripts@2020-10-01[]. Declaration start char: 0, length: 305 + kind: 'AzurePowerShell' + // #completionTest(0,1,2) -> deploymentScriptTopLevel + + properties: { + // #completionTest(0,1,2,3,4) -> deploymentScriptPSProperties + + } +}] +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions_for_if = discriminatorKeySetTwo_for_if[0].properties.a +//@[4:44) Variable discriminatorKeySetTwoCompletions_for_if. Type: any. Declaration start char: 0, length: 92 +// #completionTest(92) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletions2_for_if = discriminatorKeySetTwo_for_if[0].properties. +//@[4:45) Variable discriminatorKeySetTwoCompletions2_for_if. Type: error. Declaration start char: 0, length: 92 + +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer_for_if = discriminatorKeySetTwo_for_if[0]['properties'].a +//@[4:56) Variable discriminatorKeySetTwoCompletionsArrayIndexer_for_if. Type: any. Declaration start char: 0, length: 107 +// #completionTest(107) -> powershellPropertyAccess +var discriminatorKeySetTwoCompletionsArrayIndexer2_for_if = discriminatorKeySetTwo_for_if[0]['properties']. +//@[4:57) Variable discriminatorKeySetTwoCompletionsArrayIndexer2_for_if. Type: error. Declaration start char: 0, length: 107 + + resource incorrectPropertiesKey 'Microsoft.Resources/deploymentScripts@2020-10-01' = { //@[9:31) Resource incorrectPropertiesKey. Type: Microsoft.Resources/deploymentScripts@2020-10-01. Declaration start char: 0, length: 132 @@ -879,6 +969,31 @@ var nestedDiscriminatorMissingKeyIndexCompletions_for = nestedDiscriminatorMissi //@[4:53) Variable nestedDiscriminatorMissingKeyIndexCompletions_for. Type: any. Declaration start char: 0, length: 107 +/* +Nested discriminator missing key (filtered loop) +*/ +resource nestedDiscriminatorMissingKey_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { +//@[112:117) Local thing. Type: any. Declaration start char: 112, length: 5 +//@[9:45) Resource nestedDiscriminatorMissingKey_for_if. Type: Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview[]. Declaration start char: 0, length: 225 + name: 'test' + location: 'l' + properties: { + //createMode: 'Default' + + } +}] +// #completionTest(107) -> createMode +var nestedDiscriminatorMissingKeyCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties.cr +//@[4:51) Variable nestedDiscriminatorMissingKeyCompletions_for_if. Type: any. Declaration start char: 0, length: 107 +// #completionTest(109) -> createMode +var nestedDiscriminatorMissingKeyCompletions2_for_if = nestedDiscriminatorMissingKey_for_if[0]['properties']. +//@[4:52) Variable nestedDiscriminatorMissingKeyCompletions2_for_if. Type: any. Declaration start char: 0, length: 109 + +// #completionTest(111) -> createModeIndexPlusSymbols_for_if +var nestedDiscriminatorMissingKeyIndexCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties[''] +//@[4:56) Variable nestedDiscriminatorMissingKeyIndexCompletions_for_if. Type: any. Declaration start char: 0, length: 113 + + /* Nested discriminator */ @@ -968,6 +1083,39 @@ var nestedDiscriminatorCompletions4_for = nestedDiscriminator_for[0]['properties var nestedDiscriminatorArrayIndexCompletions_for = nestedDiscriminator_for[0].properties[a] //@[4:48) Variable nestedDiscriminatorArrayIndexCompletions_for. Type: error. Declaration start char: 0, length: 91 + +/* +Nested discriminator (filtered loop) +*/ +resource nestedDiscriminator_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { +//@[102:107) Local thing. Type: any. Declaration start char: 102, length: 5 +//@[9:35) Resource nestedDiscriminator_for_if. Type: Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview[]. Declaration start char: 0, length: 213 + name: 'test' + location: 'l' + properties: { + createMode: 'Default' + + } +}] +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions_for_if = nestedDiscriminator_for_if[0].properties.a +//@[4:41) Variable nestedDiscriminatorCompletions_for_if. Type: any. Declaration start char: 0, length: 86 +// #completionTest(90) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions2_for_if = nestedDiscriminator_for_if[0]['properties'].a +//@[4:42) Variable nestedDiscriminatorCompletions2_for_if. Type: any. Declaration start char: 0, length: 90 +// #completionTest(86) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions3_for_if = nestedDiscriminator_for_if[0].properties. +//@[4:42) Variable nestedDiscriminatorCompletions3_for_if. Type: error. Declaration start char: 0, length: 86 +// #completionTest(89) -> defaultCreateModeProperties +var nestedDiscriminatorCompletions4_for_if = nestedDiscriminator_for_if[0]['properties']. +//@[4:42) Variable nestedDiscriminatorCompletions4_for_if. Type: error. Declaration start char: 0, length: 89 + +// #completionTest(96) -> defaultCreateModeIndexes_for_if +var nestedDiscriminatorArrayIndexCompletions_for_if = nestedDiscriminator_for_if[0].properties[a] +//@[4:51) Variable nestedDiscriminatorArrayIndexCompletions_for_if. Type: error. Declaration start char: 0, length: 97 + + + // sample resource to validate completions on the next declarations resource nestedPropertyAccessOnConditional 'Microsoft.Compute/virtualMachines@2020-06-01' = if(true) { //@[9:42) Resource nestedPropertyAccessOnConditional. Type: Microsoft.Compute/virtualMachines@2020-06-01. Declaration start char: 0, length: 209 @@ -1138,7 +1286,24 @@ resource expectedLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) //@[78:79) Local y. Type: int. Declaration start char: 78, length: 1 //@[9:26) Resource expectedLoopBody2. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 87 -// loop semantic analysis cases +// loop filter parsing cases +resource expectedLoopFilterOpenParen 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if] +//@[91:92) Local x. Type: any. Declaration start char: 91, length: 1 +//@[9:36) Resource expectedLoopFilterOpenParen. Type: Microsoft.Storage/storageAccounts@2019-06-01[]. Declaration start char: 0, length: 102 +resource expectedLoopFilterOpenParen2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if] +//@[86:87) Local x. Type: any. Declaration start char: 86, length: 1 +//@[89:90) Local y. Type: int. Declaration start char: 89, length: 1 +//@[9:37) Resource expectedLoopFilterOpenParen2. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 101 + +resource expectedLoopFilterPredicateAndBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if()] +//@[98:99) Local x. Type: any. Declaration start char: 98, length: 1 +//@[9:43) Resource expectedLoopFilterPredicateAndBody. Type: Microsoft.Storage/storageAccounts@2019-06-01[]. Declaration start char: 0, length: 111 +resource expectedLoopFilterPredicateAndBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if()] +//@[93:94) Local x. Type: any. Declaration start char: 93, length: 1 +//@[96:97) Local y. Type: int. Declaration start char: 96, length: 1 +//@[9:44) Resource expectedLoopFilterPredicateAndBody2. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 110 + +// wrong body type var emptyArray = [] //@[4:14) Variable emptyArray. Type: array. Declaration start char: 0, length: 19 resource wrongLoopBodyType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in emptyArray:4] @@ -1180,6 +1345,17 @@ resource wrongArrayType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for ( //@[9:24) Resource wrongArrayType2. Type: Microsoft.Storage/storageAccounts@2019-06-01[]. Declaration start char: 0, length: 111 }] +// wrong filter expression type +resource wrongFilterExpressionType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in emptyArray: if(4) { +//@[89:96) Local account. Type: any. Declaration start char: 89, length: 7 +//@[9:34) Resource wrongFilterExpressionType. Type: Microsoft.Storage/storageAccounts@2019-06-01[]. Declaration start char: 0, length: 123 +}] +resource wrongFilterExpressionType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account,i) in emptyArray: if(concat('s')){ +//@[91:98) Local account. Type: any. Declaration start char: 91, length: 7 +//@[99:100) Local i. Type: int. Declaration start char: 99, length: 1 +//@[9:35) Resource wrongFilterExpressionType2. Type: Microsoft.Storage/storageAccounts@2019-06-01[]. Declaration start char: 0, length: 137 +}] + // missing required properties resource missingRequiredProperties 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in []: { //@[89:96) Local account. Type: any. Declaration start char: 89, length: 7 @@ -1429,6 +1605,14 @@ resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [f //@[84:89) Local thing. Type: any. Declaration start char: 84, length: 5 //@[90:91) Local i. Type: int. Declaration start char: 90, length: 1 //@[9:35) Resource nonObjectResourceLoopBody4. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 114 +resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) 'test'] +//@[84:89) Local thing. Type: any. Declaration start char: 84, length: 5 +//@[90:91) Local i. Type: int. Declaration start char: 90, length: 1 +//@[9:35) Resource nonObjectResourceLoopBody3. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 116 +resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) environment()] +//@[84:89) Local thing. Type: any. Declaration start char: 84, length: 5 +//@[90:91) Local i. Type: int. Declaration start char: 90, length: 1 +//@[9:35) Resource nonObjectResourceLoopBody4. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 123 // #completionTest(54,55) -> objectPlusFor resource foo 'Microsoft.Network/dnsZones@2018-05-01' = diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.syntax.bicep index a840e7da4a6..99380145b41 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.syntax.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.syntax.bicep @@ -3097,6 +3097,48 @@ resource discriminatorKeyMissing_for 'Microsoft.Resources/deploymentScripts@2020 //@[1:2) RightSquare |]| //@[2:6) NewLine |\r\n\r\n| +/* +Discriminator key missing (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeyMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[0:183) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:39) IdentifierSyntax +//@[9:39) Identifier |discriminatorKeyMissing_for_if| +//@[40:90) StringSyntax +//@[40:90) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[91:92) Assignment |=| +//@[93:183) ForSyntax +//@[93:94) LeftSquare |[| +//@[94:97) Identifier |for| +//@[98:103) LocalVariableSyntax +//@[98:103) IdentifierSyntax +//@[98:103) Identifier |thing| +//@[104:106) Identifier |in| +//@[107:109) ArraySyntax +//@[107:108) LeftSquare |[| +//@[108:109) RightSquare |]| +//@[109:110) Colon |:| +//@[111:182) IfConditionSyntax +//@[111:113) Identifier |if| +//@[113:119) ParenthesizedExpressionSyntax +//@[113:114) LeftParen |(| +//@[114:118) BooleanLiteralSyntax +//@[114:118) TrueKeyword |true| +//@[118:119) RightParen |)| +//@[120:182) ObjectSyntax +//@[120:121) LeftBrace |{| +//@[121:123) NewLine |\r\n| + // #completionTest(0,1,2) -> discriminatorProperty +//@[52:54) NewLine |\r\n| + +//@[2:4) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:6) NewLine |\r\n\r\n| + /* Discriminator key value missing with property access */ @@ -3177,8 +3219,7 @@ var discriminatorKeyValueMissingCompletions3 = discriminatorKeyValueMissing[] /* Discriminator key value missing with property access (conditional) */ -//@[2:6) NewLine |\r\n\r\n| - +//@[2:4) NewLine |\r\n| resource discriminatorKeyValueMissing_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = if(false) { //@[0:191) ResourceDeclarationSyntax //@[0:8) Identifier |resource| @@ -3381,6 +3422,135 @@ var discriminatorKeyValueMissingCompletions3_for = discriminatorKeyValueMissing_ //@[87:88) RightSquare |]| //@[88:92) NewLine |\r\n\r\n| +/* +Discriminator key value missing with property access (filtered loops) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeyValueMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[0:217) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:44) IdentifierSyntax +//@[9:44) Identifier |discriminatorKeyValueMissing_for_if| +//@[45:95) StringSyntax +//@[45:95) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[96:97) Assignment |=| +//@[98:217) ForSyntax +//@[98:99) LeftSquare |[| +//@[99:102) Identifier |for| +//@[103:108) LocalVariableSyntax +//@[103:108) IdentifierSyntax +//@[103:108) Identifier |thing| +//@[109:111) Identifier |in| +//@[112:114) ArraySyntax +//@[112:113) LeftSquare |[| +//@[113:114) RightSquare |]| +//@[114:115) Colon |:| +//@[116:216) IfConditionSyntax +//@[116:118) Identifier |if| +//@[118:124) ParenthesizedExpressionSyntax +//@[118:119) LeftParen |(| +//@[119:123) BooleanLiteralSyntax +//@[119:123) TrueKeyword |true| +//@[123:124) RightParen |)| +//@[125:216) ObjectSyntax +//@[125:126) LeftBrace |{| +//@[126:128) NewLine |\r\n| + // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_for_if +//@[73:75) NewLine |\r\n| + kind: +//@[2:10) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |kind| +//@[6:7) Colon |:| +//@[10:10) SkippedTriviaSyntax +//@[10:12) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:6) NewLine |\r\n\r\n| + +// cannot . access properties of a resource loop +//@[48:50) NewLine |\r\n| +var resourceListIsNotSingleResource_if = discriminatorKeyValueMissing_for_if.kind +//@[0:81) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:38) IdentifierSyntax +//@[4:38) Identifier |resourceListIsNotSingleResource_if| +//@[39:40) Assignment |=| +//@[41:81) PropertyAccessSyntax +//@[41:76) VariableAccessSyntax +//@[41:76) IdentifierSyntax +//@[41:76) Identifier |discriminatorKeyValueMissing_for_if| +//@[76:77) Dot |.| +//@[77:81) IdentifierSyntax +//@[77:81) Identifier |kind| +//@[81:85) NewLine |\r\n\r\n| + +// #completionTest(93) -> missingDiscriminatorPropertyAccess +//@[60:62) NewLine |\r\n| +var discriminatorKeyValueMissingCompletions_for_if = discriminatorKeyValueMissing_for_if[0].p +//@[0:93) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:50) IdentifierSyntax +//@[4:50) Identifier |discriminatorKeyValueMissingCompletions_for_if| +//@[51:52) Assignment |=| +//@[53:93) PropertyAccessSyntax +//@[53:91) ArrayAccessSyntax +//@[53:88) VariableAccessSyntax +//@[53:88) IdentifierSyntax +//@[53:88) Identifier |discriminatorKeyValueMissing_for_if| +//@[88:89) LeftSquare |[| +//@[89:90) IntegerLiteralSyntax +//@[89:90) Integer |0| +//@[90:91) RightSquare |]| +//@[91:92) Dot |.| +//@[92:93) IdentifierSyntax +//@[92:93) Identifier |p| +//@[93:95) NewLine |\r\n| +// #completionTest(93) -> missingDiscriminatorPropertyAccess +//@[60:62) NewLine |\r\n| +var discriminatorKeyValueMissingCompletions2_for_if = discriminatorKeyValueMissing_for_if[0]. +//@[0:93) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:51) IdentifierSyntax +//@[4:51) Identifier |discriminatorKeyValueMissingCompletions2_for_if| +//@[52:53) Assignment |=| +//@[54:93) PropertyAccessSyntax +//@[54:92) ArrayAccessSyntax +//@[54:89) VariableAccessSyntax +//@[54:89) IdentifierSyntax +//@[54:89) Identifier |discriminatorKeyValueMissing_for_if| +//@[89:90) LeftSquare |[| +//@[90:91) IntegerLiteralSyntax +//@[90:91) Integer |0| +//@[91:92) RightSquare |]| +//@[92:93) Dot |.| +//@[93:93) IdentifierSyntax +//@[93:93) SkippedTriviaSyntax +//@[93:97) NewLine |\r\n\r\n| + +// #completionTest(93) -> missingDiscriminatorPropertyIndexPlusSymbols_for_if +//@[77:79) NewLine |\r\n| +var discriminatorKeyValueMissingCompletions3_for_if = discriminatorKeyValueMissing_for_if[0][] +//@[0:94) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:51) IdentifierSyntax +//@[4:51) Identifier |discriminatorKeyValueMissingCompletions3_for_if| +//@[52:53) Assignment |=| +//@[54:94) ArrayAccessSyntax +//@[54:92) ArrayAccessSyntax +//@[54:89) VariableAccessSyntax +//@[54:89) IdentifierSyntax +//@[54:89) Identifier |discriminatorKeyValueMissing_for_if| +//@[89:90) LeftSquare |[| +//@[90:91) IntegerLiteralSyntax +//@[90:91) Integer |0| +//@[91:92) RightSquare |]| +//@[92:93) LeftSquare |[| +//@[93:93) SkippedTriviaSyntax +//@[93:94) RightSquare |]| +//@[94:98) NewLine |\r\n\r\n| + /* Discriminator value set 1 */ @@ -3743,6 +3913,153 @@ var discriminatorKeySetOneCompletions3_for = discriminatorKeySetOne_for[1].prope //@[86:87) RightSquare |]| //@[87:91) NewLine |\r\n\r\n| +/* +Discriminator value set 1 (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeySetOne_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [ for thing in []: if(true) { +//@[0:300) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:38) IdentifierSyntax +//@[9:38) Identifier |discriminatorKeySetOne_for_if| +//@[39:89) StringSyntax +//@[39:89) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[90:91) Assignment |=| +//@[92:300) ForSyntax +//@[92:93) LeftSquare |[| +//@[94:97) Identifier |for| +//@[98:103) LocalVariableSyntax +//@[98:103) IdentifierSyntax +//@[98:103) Identifier |thing| +//@[104:106) Identifier |in| +//@[107:109) ArraySyntax +//@[107:108) LeftSquare |[| +//@[108:109) RightSquare |]| +//@[109:110) Colon |:| +//@[111:299) IfConditionSyntax +//@[111:113) Identifier |if| +//@[113:119) ParenthesizedExpressionSyntax +//@[113:114) LeftParen |(| +//@[114:118) BooleanLiteralSyntax +//@[114:118) TrueKeyword |true| +//@[118:119) RightParen |)| +//@[120:299) ObjectSyntax +//@[120:121) LeftBrace |{| +//@[121:123) NewLine |\r\n| + kind: 'AzureCLI' +//@[2:18) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |kind| +//@[6:7) Colon |:| +//@[8:18) StringSyntax +//@[8:18) StringComplete |'AzureCLI'| +//@[18:20) NewLine |\r\n| + // #completionTest(0,1,2) -> deploymentScriptTopLevel +//@[55:59) NewLine |\r\n\r\n| + + properties: { +//@[2:94) ObjectPropertySyntax +//@[2:12) IdentifierSyntax +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:94) ObjectSyntax +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + // #completionTest(0,1,2,3,4) -> deploymentScriptCliProperties +//@[66:68) NewLine |\r\n| + +//@[4:6) NewLine |\r\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(92) -> cliPropertyAccess +//@[43:45) NewLine |\r\n| +var discriminatorKeySetOneCompletions_for_if = discriminatorKeySetOne_for_if[0].properties.a +//@[0:92) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:44) IdentifierSyntax +//@[4:44) Identifier |discriminatorKeySetOneCompletions_for_if| +//@[45:46) Assignment |=| +//@[47:92) PropertyAccessSyntax +//@[47:90) PropertyAccessSyntax +//@[47:79) ArrayAccessSyntax +//@[47:76) VariableAccessSyntax +//@[47:76) IdentifierSyntax +//@[47:76) Identifier |discriminatorKeySetOne_for_if| +//@[76:77) LeftSquare |[| +//@[77:78) IntegerLiteralSyntax +//@[77:78) Integer |0| +//@[78:79) RightSquare |]| +//@[79:80) Dot |.| +//@[80:90) IdentifierSyntax +//@[80:90) Identifier |properties| +//@[90:91) Dot |.| +//@[91:92) IdentifierSyntax +//@[91:92) Identifier |a| +//@[92:94) NewLine |\r\n| +// #completionTest(100) -> cliPropertyAccess +//@[44:46) NewLine |\r\n| +var discriminatorKeySetOneCompletions2_for_if = discriminatorKeySetOne_for_if[any(true)].properties. +//@[0:100) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:45) IdentifierSyntax +//@[4:45) Identifier |discriminatorKeySetOneCompletions2_for_if| +//@[46:47) Assignment |=| +//@[48:100) PropertyAccessSyntax +//@[48:99) PropertyAccessSyntax +//@[48:88) ArrayAccessSyntax +//@[48:77) VariableAccessSyntax +//@[48:77) IdentifierSyntax +//@[48:77) Identifier |discriminatorKeySetOne_for_if| +//@[77:78) LeftSquare |[| +//@[78:87) FunctionCallSyntax +//@[78:81) IdentifierSyntax +//@[78:81) Identifier |any| +//@[81:82) LeftParen |(| +//@[82:86) FunctionArgumentSyntax +//@[82:86) BooleanLiteralSyntax +//@[82:86) TrueKeyword |true| +//@[86:87) RightParen |)| +//@[87:88) RightSquare |]| +//@[88:89) Dot |.| +//@[89:99) IdentifierSyntax +//@[89:99) Identifier |properties| +//@[99:100) Dot |.| +//@[100:100) IdentifierSyntax +//@[100:100) SkippedTriviaSyntax +//@[100:104) NewLine |\r\n\r\n| + +// #completionTest(92) -> cliPropertyAccessIndexesPlusSymbols_for_if +//@[68:70) NewLine |\r\n| +var discriminatorKeySetOneCompletions3_for_if = discriminatorKeySetOne_for_if[1].properties[] +//@[0:93) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:45) IdentifierSyntax +//@[4:45) Identifier |discriminatorKeySetOneCompletions3_for_if| +//@[46:47) Assignment |=| +//@[48:93) ArrayAccessSyntax +//@[48:91) PropertyAccessSyntax +//@[48:80) ArrayAccessSyntax +//@[48:77) VariableAccessSyntax +//@[48:77) IdentifierSyntax +//@[48:77) Identifier |discriminatorKeySetOne_for_if| +//@[77:78) LeftSquare |[| +//@[78:79) IntegerLiteralSyntax +//@[78:79) Integer |1| +//@[79:80) RightSquare |]| +//@[80:81) Dot |.| +//@[81:91) IdentifierSyntax +//@[81:91) Identifier |properties| +//@[91:92) LeftSquare |[| +//@[92:92) SkippedTriviaSyntax +//@[92:93) RightSquare |]| +//@[93:99) NewLine |\r\n\r\n\r\n| + + /* Discriminator value set 2 */ @@ -3997,7 +4314,8 @@ var discriminatorKeySetTwoCompletionsArrayIndexer2_if = discriminatorKeySetTwo_i //@[95:96) Dot |.| //@[96:96) IdentifierSyntax //@[96:96) SkippedTriviaSyntax -//@[96:100) NewLine |\r\n\r\n| +//@[96:102) NewLine |\r\n\r\n\r\n| + /* Discriminator value set 2 (loops) @@ -4157,7 +4475,175 @@ var discriminatorKeySetTwoCompletionsArrayIndexer2_for = discriminatorKeySetTwo_ //@[100:101) Dot |.| //@[101:101) IdentifierSyntax //@[101:101) SkippedTriviaSyntax -//@[101:109) NewLine |\r\n\r\n\r\n\r\n| +//@[101:107) NewLine |\r\n\r\n\r\n| + + +/* +Discriminator value set 2 (filtered loops) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeySetTwo_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[0:305) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:38) IdentifierSyntax +//@[9:38) Identifier |discriminatorKeySetTwo_for_if| +//@[39:89) StringSyntax +//@[39:89) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[90:91) Assignment |=| +//@[92:305) ForSyntax +//@[92:93) LeftSquare |[| +//@[93:96) Identifier |for| +//@[97:102) LocalVariableSyntax +//@[97:102) IdentifierSyntax +//@[97:102) Identifier |thing| +//@[103:105) Identifier |in| +//@[106:108) ArraySyntax +//@[106:107) LeftSquare |[| +//@[107:108) RightSquare |]| +//@[108:109) Colon |:| +//@[110:304) IfConditionSyntax +//@[110:112) Identifier |if| +//@[112:118) ParenthesizedExpressionSyntax +//@[112:113) LeftParen |(| +//@[113:117) BooleanLiteralSyntax +//@[113:117) TrueKeyword |true| +//@[117:118) RightParen |)| +//@[119:304) ObjectSyntax +//@[119:120) LeftBrace |{| +//@[120:122) NewLine |\r\n| + kind: 'AzurePowerShell' +//@[2:25) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |kind| +//@[6:7) Colon |:| +//@[8:25) StringSyntax +//@[8:25) StringComplete |'AzurePowerShell'| +//@[25:27) NewLine |\r\n| + // #completionTest(0,1,2) -> deploymentScriptTopLevel +//@[55:59) NewLine |\r\n\r\n| + + properties: { +//@[2:93) ObjectPropertySyntax +//@[2:12) IdentifierSyntax +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:93) ObjectSyntax +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + // #completionTest(0,1,2,3,4) -> deploymentScriptPSProperties +//@[65:67) NewLine |\r\n| + +//@[4:6) NewLine |\r\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(92) -> powershellPropertyAccess +//@[50:52) NewLine |\r\n| +var discriminatorKeySetTwoCompletions_for_if = discriminatorKeySetTwo_for_if[0].properties.a +//@[0:92) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:44) IdentifierSyntax +//@[4:44) Identifier |discriminatorKeySetTwoCompletions_for_if| +//@[45:46) Assignment |=| +//@[47:92) PropertyAccessSyntax +//@[47:90) PropertyAccessSyntax +//@[47:79) ArrayAccessSyntax +//@[47:76) VariableAccessSyntax +//@[47:76) IdentifierSyntax +//@[47:76) Identifier |discriminatorKeySetTwo_for_if| +//@[76:77) LeftSquare |[| +//@[77:78) IntegerLiteralSyntax +//@[77:78) Integer |0| +//@[78:79) RightSquare |]| +//@[79:80) Dot |.| +//@[80:90) IdentifierSyntax +//@[80:90) Identifier |properties| +//@[90:91) Dot |.| +//@[91:92) IdentifierSyntax +//@[91:92) Identifier |a| +//@[92:94) NewLine |\r\n| +// #completionTest(92) -> powershellPropertyAccess +//@[50:52) NewLine |\r\n| +var discriminatorKeySetTwoCompletions2_for_if = discriminatorKeySetTwo_for_if[0].properties. +//@[0:92) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:45) IdentifierSyntax +//@[4:45) Identifier |discriminatorKeySetTwoCompletions2_for_if| +//@[46:47) Assignment |=| +//@[48:92) PropertyAccessSyntax +//@[48:91) PropertyAccessSyntax +//@[48:80) ArrayAccessSyntax +//@[48:77) VariableAccessSyntax +//@[48:77) IdentifierSyntax +//@[48:77) Identifier |discriminatorKeySetTwo_for_if| +//@[77:78) LeftSquare |[| +//@[78:79) IntegerLiteralSyntax +//@[78:79) Integer |0| +//@[79:80) RightSquare |]| +//@[80:81) Dot |.| +//@[81:91) IdentifierSyntax +//@[81:91) Identifier |properties| +//@[91:92) Dot |.| +//@[92:92) IdentifierSyntax +//@[92:92) SkippedTriviaSyntax +//@[92:96) NewLine |\r\n\r\n| + +// #completionTest(107) -> powershellPropertyAccess +//@[51:53) NewLine |\r\n| +var discriminatorKeySetTwoCompletionsArrayIndexer_for_if = discriminatorKeySetTwo_for_if[0]['properties'].a +//@[0:107) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:56) IdentifierSyntax +//@[4:56) Identifier |discriminatorKeySetTwoCompletionsArrayIndexer_for_if| +//@[57:58) Assignment |=| +//@[59:107) PropertyAccessSyntax +//@[59:105) ArrayAccessSyntax +//@[59:91) ArrayAccessSyntax +//@[59:88) VariableAccessSyntax +//@[59:88) IdentifierSyntax +//@[59:88) Identifier |discriminatorKeySetTwo_for_if| +//@[88:89) LeftSquare |[| +//@[89:90) IntegerLiteralSyntax +//@[89:90) Integer |0| +//@[90:91) RightSquare |]| +//@[91:92) LeftSquare |[| +//@[92:104) StringSyntax +//@[92:104) StringComplete |'properties'| +//@[104:105) RightSquare |]| +//@[105:106) Dot |.| +//@[106:107) IdentifierSyntax +//@[106:107) Identifier |a| +//@[107:109) NewLine |\r\n| +// #completionTest(107) -> powershellPropertyAccess +//@[51:53) NewLine |\r\n| +var discriminatorKeySetTwoCompletionsArrayIndexer2_for_if = discriminatorKeySetTwo_for_if[0]['properties']. +//@[0:107) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:57) IdentifierSyntax +//@[4:57) Identifier |discriminatorKeySetTwoCompletionsArrayIndexer2_for_if| +//@[58:59) Assignment |=| +//@[60:107) PropertyAccessSyntax +//@[60:106) ArrayAccessSyntax +//@[60:92) ArrayAccessSyntax +//@[60:89) VariableAccessSyntax +//@[60:89) IdentifierSyntax +//@[60:89) Identifier |discriminatorKeySetTwo_for_if| +//@[89:90) LeftSquare |[| +//@[90:91) IntegerLiteralSyntax +//@[90:91) Integer |0| +//@[91:92) RightSquare |]| +//@[92:93) LeftSquare |[| +//@[93:105) StringSyntax +//@[93:105) StringComplete |'properties'| +//@[105:106) RightSquare |]| +//@[106:107) Dot |.| +//@[107:107) IdentifierSyntax +//@[107:107) SkippedTriviaSyntax +//@[107:115) NewLine |\r\n\r\n\r\n\r\n| @@ -4818,6 +5304,153 @@ var nestedDiscriminatorMissingKeyIndexCompletions_for = nestedDiscriminatorMissi //@[107:113) NewLine |\r\n\r\n\r\n| +/* +Nested discriminator missing key (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource nestedDiscriminatorMissingKey_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { +//@[0:225) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:45) IdentifierSyntax +//@[9:45) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[46:104) StringSyntax +//@[46:104) StringComplete |'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview'| +//@[105:106) Assignment |=| +//@[107:225) ForSyntax +//@[107:108) LeftSquare |[| +//@[108:111) Identifier |for| +//@[112:117) LocalVariableSyntax +//@[112:117) IdentifierSyntax +//@[112:117) Identifier |thing| +//@[118:120) Identifier |in| +//@[121:123) ArraySyntax +//@[121:122) LeftSquare |[| +//@[122:123) RightSquare |]| +//@[123:124) Colon |:| +//@[125:224) IfConditionSyntax +//@[125:127) Identifier |if| +//@[127:133) ParenthesizedExpressionSyntax +//@[127:128) LeftParen |(| +//@[128:132) BooleanLiteralSyntax +//@[128:132) TrueKeyword |true| +//@[132:133) RightParen |)| +//@[134:224) ObjectSyntax +//@[134:135) LeftBrace |{| +//@[135:137) NewLine |\r\n| + name: 'test' +//@[2:14) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:14) StringSyntax +//@[8:14) StringComplete |'test'| +//@[14:16) NewLine |\r\n| + location: 'l' +//@[2:15) ObjectPropertySyntax +//@[2:10) IdentifierSyntax +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:15) StringSyntax +//@[12:15) StringComplete |'l'| +//@[15:17) NewLine |\r\n| + properties: { +//@[2:51) ObjectPropertySyntax +//@[2:12) IdentifierSyntax +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:51) ObjectSyntax +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + //createMode: 'Default' +//@[27:31) NewLine |\r\n\r\n| + + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(107) -> createMode +//@[37:39) NewLine |\r\n| +var nestedDiscriminatorMissingKeyCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties.cr +//@[0:107) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:51) IdentifierSyntax +//@[4:51) Identifier |nestedDiscriminatorMissingKeyCompletions_for_if| +//@[52:53) Assignment |=| +//@[54:107) PropertyAccessSyntax +//@[54:104) PropertyAccessSyntax +//@[54:93) ArrayAccessSyntax +//@[54:90) VariableAccessSyntax +//@[54:90) IdentifierSyntax +//@[54:90) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[90:91) LeftSquare |[| +//@[91:92) IntegerLiteralSyntax +//@[91:92) Integer |0| +//@[92:93) RightSquare |]| +//@[93:94) Dot |.| +//@[94:104) IdentifierSyntax +//@[94:104) Identifier |properties| +//@[104:105) Dot |.| +//@[105:107) IdentifierSyntax +//@[105:107) Identifier |cr| +//@[107:109) NewLine |\r\n| +// #completionTest(109) -> createMode +//@[37:39) NewLine |\r\n| +var nestedDiscriminatorMissingKeyCompletions2_for_if = nestedDiscriminatorMissingKey_for_if[0]['properties']. +//@[0:109) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:52) IdentifierSyntax +//@[4:52) Identifier |nestedDiscriminatorMissingKeyCompletions2_for_if| +//@[53:54) Assignment |=| +//@[55:109) PropertyAccessSyntax +//@[55:108) ArrayAccessSyntax +//@[55:94) ArrayAccessSyntax +//@[55:91) VariableAccessSyntax +//@[55:91) IdentifierSyntax +//@[55:91) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[91:92) LeftSquare |[| +//@[92:93) IntegerLiteralSyntax +//@[92:93) Integer |0| +//@[93:94) RightSquare |]| +//@[94:95) LeftSquare |[| +//@[95:107) StringSyntax +//@[95:107) StringComplete |'properties'| +//@[107:108) RightSquare |]| +//@[108:109) Dot |.| +//@[109:109) IdentifierSyntax +//@[109:109) SkippedTriviaSyntax +//@[109:113) NewLine |\r\n\r\n| + +// #completionTest(111) -> createModeIndexPlusSymbols_for_if +//@[60:62) NewLine |\r\n| +var nestedDiscriminatorMissingKeyIndexCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties[''] +//@[0:113) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:56) IdentifierSyntax +//@[4:56) Identifier |nestedDiscriminatorMissingKeyIndexCompletions_for_if| +//@[57:58) Assignment |=| +//@[59:113) ArrayAccessSyntax +//@[59:109) PropertyAccessSyntax +//@[59:98) ArrayAccessSyntax +//@[59:95) VariableAccessSyntax +//@[59:95) IdentifierSyntax +//@[59:95) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[95:96) LeftSquare |[| +//@[96:97) IntegerLiteralSyntax +//@[96:97) Integer |0| +//@[97:98) RightSquare |]| +//@[98:99) Dot |.| +//@[99:109) IdentifierSyntax +//@[99:109) Identifier |properties| +//@[109:110) LeftSquare |[| +//@[110:112) StringSyntax +//@[110:112) StringComplete |''| +//@[112:113) RightSquare |]| +//@[113:119) NewLine |\r\n\r\n\r\n| + + /* Nested discriminator */ @@ -5341,7 +5974,214 @@ var nestedDiscriminatorArrayIndexCompletions_for = nestedDiscriminator_for[0].pr //@[89:90) IdentifierSyntax //@[89:90) Identifier |a| //@[90:91) RightSquare |]| -//@[91:95) NewLine |\r\n\r\n| +//@[91:97) NewLine |\r\n\r\n\r\n| + + +/* +Nested discriminator (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource nestedDiscriminator_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { +//@[0:213) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:35) IdentifierSyntax +//@[9:35) Identifier |nestedDiscriminator_for_if| +//@[36:94) StringSyntax +//@[36:94) StringComplete |'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview'| +//@[95:96) Assignment |=| +//@[97:213) ForSyntax +//@[97:98) LeftSquare |[| +//@[98:101) Identifier |for| +//@[102:107) LocalVariableSyntax +//@[102:107) IdentifierSyntax +//@[102:107) Identifier |thing| +//@[108:110) Identifier |in| +//@[111:113) ArraySyntax +//@[111:112) LeftSquare |[| +//@[112:113) RightSquare |]| +//@[113:114) Colon |:| +//@[115:212) IfConditionSyntax +//@[115:117) Identifier |if| +//@[117:123) ParenthesizedExpressionSyntax +//@[117:118) LeftParen |(| +//@[118:122) BooleanLiteralSyntax +//@[118:122) TrueKeyword |true| +//@[122:123) RightParen |)| +//@[124:212) ObjectSyntax +//@[124:125) LeftBrace |{| +//@[125:127) NewLine |\r\n| + name: 'test' +//@[2:14) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:14) StringSyntax +//@[8:14) StringComplete |'test'| +//@[14:16) NewLine |\r\n| + location: 'l' +//@[2:15) ObjectPropertySyntax +//@[2:10) IdentifierSyntax +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:15) StringSyntax +//@[12:15) StringComplete |'l'| +//@[15:17) NewLine |\r\n| + properties: { +//@[2:49) ObjectPropertySyntax +//@[2:12) IdentifierSyntax +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:49) ObjectSyntax +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + createMode: 'Default' +//@[4:25) ObjectPropertySyntax +//@[4:14) IdentifierSyntax +//@[4:14) Identifier |createMode| +//@[14:15) Colon |:| +//@[16:25) StringSyntax +//@[16:25) StringComplete |'Default'| +//@[25:29) NewLine |\r\n\r\n| + + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(86) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions_for_if = nestedDiscriminator_for_if[0].properties.a +//@[0:86) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:41) IdentifierSyntax +//@[4:41) Identifier |nestedDiscriminatorCompletions_for_if| +//@[42:43) Assignment |=| +//@[44:86) PropertyAccessSyntax +//@[44:84) PropertyAccessSyntax +//@[44:73) ArrayAccessSyntax +//@[44:70) VariableAccessSyntax +//@[44:70) IdentifierSyntax +//@[44:70) Identifier |nestedDiscriminator_for_if| +//@[70:71) LeftSquare |[| +//@[71:72) IntegerLiteralSyntax +//@[71:72) Integer |0| +//@[72:73) RightSquare |]| +//@[73:74) Dot |.| +//@[74:84) IdentifierSyntax +//@[74:84) Identifier |properties| +//@[84:85) Dot |.| +//@[85:86) IdentifierSyntax +//@[85:86) Identifier |a| +//@[86:88) NewLine |\r\n| +// #completionTest(90) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions2_for_if = nestedDiscriminator_for_if[0]['properties'].a +//@[0:90) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:42) IdentifierSyntax +//@[4:42) Identifier |nestedDiscriminatorCompletions2_for_if| +//@[43:44) Assignment |=| +//@[45:90) PropertyAccessSyntax +//@[45:88) ArrayAccessSyntax +//@[45:74) ArrayAccessSyntax +//@[45:71) VariableAccessSyntax +//@[45:71) IdentifierSyntax +//@[45:71) Identifier |nestedDiscriminator_for_if| +//@[71:72) LeftSquare |[| +//@[72:73) IntegerLiteralSyntax +//@[72:73) Integer |0| +//@[73:74) RightSquare |]| +//@[74:75) LeftSquare |[| +//@[75:87) StringSyntax +//@[75:87) StringComplete |'properties'| +//@[87:88) RightSquare |]| +//@[88:89) Dot |.| +//@[89:90) IdentifierSyntax +//@[89:90) Identifier |a| +//@[90:92) NewLine |\r\n| +// #completionTest(86) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions3_for_if = nestedDiscriminator_for_if[0].properties. +//@[0:86) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:42) IdentifierSyntax +//@[4:42) Identifier |nestedDiscriminatorCompletions3_for_if| +//@[43:44) Assignment |=| +//@[45:86) PropertyAccessSyntax +//@[45:85) PropertyAccessSyntax +//@[45:74) ArrayAccessSyntax +//@[45:71) VariableAccessSyntax +//@[45:71) IdentifierSyntax +//@[45:71) Identifier |nestedDiscriminator_for_if| +//@[71:72) LeftSquare |[| +//@[72:73) IntegerLiteralSyntax +//@[72:73) Integer |0| +//@[73:74) RightSquare |]| +//@[74:75) Dot |.| +//@[75:85) IdentifierSyntax +//@[75:85) Identifier |properties| +//@[85:86) Dot |.| +//@[86:86) IdentifierSyntax +//@[86:86) SkippedTriviaSyntax +//@[86:88) NewLine |\r\n| +// #completionTest(89) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions4_for_if = nestedDiscriminator_for_if[0]['properties']. +//@[0:89) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:42) IdentifierSyntax +//@[4:42) Identifier |nestedDiscriminatorCompletions4_for_if| +//@[43:44) Assignment |=| +//@[45:89) PropertyAccessSyntax +//@[45:88) ArrayAccessSyntax +//@[45:74) ArrayAccessSyntax +//@[45:71) VariableAccessSyntax +//@[45:71) IdentifierSyntax +//@[45:71) Identifier |nestedDiscriminator_for_if| +//@[71:72) LeftSquare |[| +//@[72:73) IntegerLiteralSyntax +//@[72:73) Integer |0| +//@[73:74) RightSquare |]| +//@[74:75) LeftSquare |[| +//@[75:87) StringSyntax +//@[75:87) StringComplete |'properties'| +//@[87:88) RightSquare |]| +//@[88:89) Dot |.| +//@[89:89) IdentifierSyntax +//@[89:89) SkippedTriviaSyntax +//@[89:93) NewLine |\r\n\r\n| + +// #completionTest(96) -> defaultCreateModeIndexes_for_if +//@[57:59) NewLine |\r\n| +var nestedDiscriminatorArrayIndexCompletions_for_if = nestedDiscriminator_for_if[0].properties[a] +//@[0:97) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:51) IdentifierSyntax +//@[4:51) Identifier |nestedDiscriminatorArrayIndexCompletions_for_if| +//@[52:53) Assignment |=| +//@[54:97) ArrayAccessSyntax +//@[54:94) PropertyAccessSyntax +//@[54:83) ArrayAccessSyntax +//@[54:80) VariableAccessSyntax +//@[54:80) IdentifierSyntax +//@[54:80) Identifier |nestedDiscriminator_for_if| +//@[80:81) LeftSquare |[| +//@[81:82) IntegerLiteralSyntax +//@[81:82) Integer |0| +//@[82:83) RightSquare |]| +//@[83:84) Dot |.| +//@[84:94) IdentifierSyntax +//@[84:94) Identifier |properties| +//@[94:95) LeftSquare |[| +//@[95:96) VariableAccessSyntax +//@[95:96) IdentifierSyntax +//@[95:96) Identifier |a| +//@[96:97) RightSquare |]| +//@[97:105) NewLine |\r\n\r\n\r\n\r\n| + + // sample resource to validate completions on the next declarations //@[67:69) NewLine |\r\n| @@ -6273,8 +7113,132 @@ resource expectedLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) //@[86:87) RightSquare |]| //@[87:91) NewLine |\r\n\r\n| -// loop semantic analysis cases -//@[31:33) NewLine |\r\n| +// loop filter parsing cases +//@[28:30) NewLine |\r\n| +resource expectedLoopFilterOpenParen 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if] +//@[0:102) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:36) IdentifierSyntax +//@[9:36) Identifier |expectedLoopFilterOpenParen| +//@[37:83) StringSyntax +//@[37:83) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[84:85) Assignment |=| +//@[86:102) ForSyntax +//@[86:87) LeftSquare |[| +//@[87:90) Identifier |for| +//@[91:92) LocalVariableSyntax +//@[91:92) IdentifierSyntax +//@[91:92) Identifier |x| +//@[93:95) Identifier |in| +//@[96:97) VariableAccessSyntax +//@[96:97) IdentifierSyntax +//@[96:97) Identifier |y| +//@[97:98) Colon |:| +//@[99:101) IfConditionSyntax +//@[99:101) Identifier |if| +//@[101:101) SkippedTriviaSyntax +//@[101:101) SkippedTriviaSyntax +//@[101:102) RightSquare |]| +//@[102:104) NewLine |\r\n| +resource expectedLoopFilterOpenParen2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if] +//@[0:101) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:37) IdentifierSyntax +//@[9:37) Identifier |expectedLoopFilterOpenParen2| +//@[38:77) StringSyntax +//@[38:77) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[78:79) Assignment |=| +//@[80:101) ForSyntax +//@[80:81) LeftSquare |[| +//@[81:84) Identifier |for| +//@[85:91) ForVariableBlockSyntax +//@[85:86) LeftParen |(| +//@[86:87) LocalVariableSyntax +//@[86:87) IdentifierSyntax +//@[86:87) Identifier |x| +//@[87:88) Comma |,| +//@[89:90) LocalVariableSyntax +//@[89:90) IdentifierSyntax +//@[89:90) Identifier |y| +//@[90:91) RightParen |)| +//@[92:94) Identifier |in| +//@[95:96) VariableAccessSyntax +//@[95:96) IdentifierSyntax +//@[95:96) Identifier |z| +//@[96:97) Colon |:| +//@[98:100) IfConditionSyntax +//@[98:100) Identifier |if| +//@[100:100) SkippedTriviaSyntax +//@[100:100) SkippedTriviaSyntax +//@[100:101) RightSquare |]| +//@[101:105) NewLine |\r\n\r\n| + +resource expectedLoopFilterPredicateAndBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if()] +//@[0:111) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:43) IdentifierSyntax +//@[9:43) Identifier |expectedLoopFilterPredicateAndBody| +//@[44:90) StringSyntax +//@[44:90) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[91:92) Assignment |=| +//@[93:111) ForSyntax +//@[93:94) LeftSquare |[| +//@[94:97) Identifier |for| +//@[98:99) LocalVariableSyntax +//@[98:99) IdentifierSyntax +//@[98:99) Identifier |x| +//@[100:102) Identifier |in| +//@[103:104) VariableAccessSyntax +//@[103:104) IdentifierSyntax +//@[103:104) Identifier |y| +//@[104:105) Colon |:| +//@[106:110) IfConditionSyntax +//@[106:108) Identifier |if| +//@[108:110) ParenthesizedExpressionSyntax +//@[108:109) LeftParen |(| +//@[109:109) SkippedTriviaSyntax +//@[109:110) RightParen |)| +//@[110:110) SkippedTriviaSyntax +//@[110:111) RightSquare |]| +//@[111:113) NewLine |\r\n| +resource expectedLoopFilterPredicateAndBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if()] +//@[0:110) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:44) IdentifierSyntax +//@[9:44) Identifier |expectedLoopFilterPredicateAndBody2| +//@[45:84) StringSyntax +//@[45:84) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[85:86) Assignment |=| +//@[87:110) ForSyntax +//@[87:88) LeftSquare |[| +//@[88:91) Identifier |for| +//@[92:98) ForVariableBlockSyntax +//@[92:93) LeftParen |(| +//@[93:94) LocalVariableSyntax +//@[93:94) IdentifierSyntax +//@[93:94) Identifier |x| +//@[94:95) Comma |,| +//@[96:97) LocalVariableSyntax +//@[96:97) IdentifierSyntax +//@[96:97) Identifier |y| +//@[97:98) RightParen |)| +//@[99:101) Identifier |in| +//@[102:103) VariableAccessSyntax +//@[102:103) IdentifierSyntax +//@[102:103) Identifier |z| +//@[103:104) Colon |:| +//@[105:109) IfConditionSyntax +//@[105:107) Identifier |if| +//@[107:109) ParenthesizedExpressionSyntax +//@[107:108) LeftParen |(| +//@[108:108) SkippedTriviaSyntax +//@[108:109) RightParen |)| +//@[109:109) SkippedTriviaSyntax +//@[109:110) RightSquare |]| +//@[110:114) NewLine |\r\n\r\n| + +// wrong body type +//@[18:20) NewLine |\r\n| var emptyArray = [] //@[0:19) VariableDeclarationSyntax //@[0:3) Identifier |var| @@ -6528,6 +7492,88 @@ resource wrongArrayType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for ( //@[1:2) RightSquare |]| //@[2:6) NewLine |\r\n\r\n| +// wrong filter expression type +//@[31:33) NewLine |\r\n| +resource wrongFilterExpressionType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in emptyArray: if(4) { +//@[0:123) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:34) IdentifierSyntax +//@[9:34) Identifier |wrongFilterExpressionType| +//@[35:81) StringSyntax +//@[35:81) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[82:83) Assignment |=| +//@[84:123) ForSyntax +//@[84:85) LeftSquare |[| +//@[85:88) Identifier |for| +//@[89:96) LocalVariableSyntax +//@[89:96) IdentifierSyntax +//@[89:96) Identifier |account| +//@[97:99) Identifier |in| +//@[100:110) VariableAccessSyntax +//@[100:110) IdentifierSyntax +//@[100:110) Identifier |emptyArray| +//@[110:111) Colon |:| +//@[112:122) IfConditionSyntax +//@[112:114) Identifier |if| +//@[114:117) ParenthesizedExpressionSyntax +//@[114:115) LeftParen |(| +//@[115:116) IntegerLiteralSyntax +//@[115:116) Integer |4| +//@[116:117) RightParen |)| +//@[118:122) ObjectSyntax +//@[118:119) LeftBrace |{| +//@[119:121) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +resource wrongFilterExpressionType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account,i) in emptyArray: if(concat('s')){ +//@[0:137) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:35) IdentifierSyntax +//@[9:35) Identifier |wrongFilterExpressionType2| +//@[36:82) StringSyntax +//@[36:82) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[83:84) Assignment |=| +//@[85:137) ForSyntax +//@[85:86) LeftSquare |[| +//@[86:89) Identifier |for| +//@[90:101) ForVariableBlockSyntax +//@[90:91) LeftParen |(| +//@[91:98) LocalVariableSyntax +//@[91:98) IdentifierSyntax +//@[91:98) Identifier |account| +//@[98:99) Comma |,| +//@[99:100) LocalVariableSyntax +//@[99:100) IdentifierSyntax +//@[99:100) Identifier |i| +//@[100:101) RightParen |)| +//@[102:104) Identifier |in| +//@[105:115) VariableAccessSyntax +//@[105:115) IdentifierSyntax +//@[105:115) Identifier |emptyArray| +//@[115:116) Colon |:| +//@[117:136) IfConditionSyntax +//@[117:119) Identifier |if| +//@[119:132) ParenthesizedExpressionSyntax +//@[119:120) LeftParen |(| +//@[120:131) FunctionCallSyntax +//@[120:126) IdentifierSyntax +//@[120:126) Identifier |concat| +//@[126:127) LeftParen |(| +//@[127:130) FunctionArgumentSyntax +//@[127:130) StringSyntax +//@[127:130) StringComplete |'s'| +//@[130:131) RightParen |)| +//@[131:132) RightParen |)| +//@[132:136) ObjectSyntax +//@[132:133) LeftBrace |{| +//@[133:135) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:6) NewLine |\r\n\r\n| + // missing required properties //@[30:32) NewLine |\r\n| resource missingRequiredProperties 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in []: { @@ -8342,7 +9388,83 @@ resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [f //@[111:112) LeftParen |(| //@[112:113) RightParen |)| //@[113:114) RightSquare |]| -//@[114:118) NewLine |\r\n\r\n| +//@[114:116) NewLine |\r\n| +resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) 'test'] +//@[0:116) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:35) IdentifierSyntax +//@[9:35) Identifier |nonObjectResourceLoopBody3| +//@[36:75) StringSyntax +//@[36:75) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[76:77) Assignment |=| +//@[78:116) ForSyntax +//@[78:79) LeftSquare |[| +//@[79:82) Identifier |for| +//@[83:92) ForVariableBlockSyntax +//@[83:84) LeftParen |(| +//@[84:89) LocalVariableSyntax +//@[84:89) IdentifierSyntax +//@[84:89) Identifier |thing| +//@[89:90) Comma |,| +//@[90:91) LocalVariableSyntax +//@[90:91) IdentifierSyntax +//@[90:91) Identifier |i| +//@[91:92) RightParen |)| +//@[93:95) Identifier |in| +//@[96:98) ArraySyntax +//@[96:97) LeftSquare |[| +//@[97:98) RightSquare |]| +//@[98:99) Colon |:| +//@[100:115) IfConditionSyntax +//@[100:102) Identifier |if| +//@[102:108) ParenthesizedExpressionSyntax +//@[102:103) LeftParen |(| +//@[103:107) BooleanLiteralSyntax +//@[103:107) TrueKeyword |true| +//@[107:108) RightParen |)| +//@[109:115) SkippedTriviaSyntax +//@[109:115) StringComplete |'test'| +//@[115:116) RightSquare |]| +//@[116:118) NewLine |\r\n| +resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) environment()] +//@[0:123) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:35) IdentifierSyntax +//@[9:35) Identifier |nonObjectResourceLoopBody4| +//@[36:75) StringSyntax +//@[36:75) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[76:77) Assignment |=| +//@[78:123) ForSyntax +//@[78:79) LeftSquare |[| +//@[79:82) Identifier |for| +//@[83:92) ForVariableBlockSyntax +//@[83:84) LeftParen |(| +//@[84:89) LocalVariableSyntax +//@[84:89) IdentifierSyntax +//@[84:89) Identifier |thing| +//@[89:90) Comma |,| +//@[90:91) LocalVariableSyntax +//@[90:91) IdentifierSyntax +//@[90:91) Identifier |i| +//@[91:92) RightParen |)| +//@[93:95) Identifier |in| +//@[96:98) ArraySyntax +//@[96:97) LeftSquare |[| +//@[97:98) RightSquare |]| +//@[98:99) Colon |:| +//@[100:122) IfConditionSyntax +//@[100:102) Identifier |if| +//@[102:108) ParenthesizedExpressionSyntax +//@[102:103) LeftParen |(| +//@[103:107) BooleanLiteralSyntax +//@[103:107) TrueKeyword |true| +//@[107:108) RightParen |)| +//@[109:122) SkippedTriviaSyntax +//@[109:120) Identifier |environment| +//@[120:121) LeftParen |(| +//@[121:122) RightParen |)| +//@[122:123) RightSquare |]| +//@[123:127) NewLine |\r\n\r\n| // #completionTest(54,55) -> objectPlusFor //@[42:44) NewLine |\r\n| diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.tokens.bicep index 14cd8a74e12..791d642a71c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.tokens.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.tokens.bicep @@ -1999,6 +1999,37 @@ resource discriminatorKeyMissing_for 'Microsoft.Resources/deploymentScripts@2020 //@[1:2) RightSquare |]| //@[2:6) NewLine |\r\n\r\n| +/* +Discriminator key missing (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeyMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[0:8) Identifier |resource| +//@[9:39) Identifier |discriminatorKeyMissing_for_if| +//@[40:90) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[91:92) Assignment |=| +//@[93:94) LeftSquare |[| +//@[94:97) Identifier |for| +//@[98:103) Identifier |thing| +//@[104:106) Identifier |in| +//@[107:108) LeftSquare |[| +//@[108:109) RightSquare |]| +//@[109:110) Colon |:| +//@[111:113) Identifier |if| +//@[113:114) LeftParen |(| +//@[114:118) TrueKeyword |true| +//@[118:119) RightParen |)| +//@[120:121) LeftBrace |{| +//@[121:123) NewLine |\r\n| + // #completionTest(0,1,2) -> discriminatorProperty +//@[52:54) NewLine |\r\n| + +//@[2:4) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:6) NewLine |\r\n\r\n| + /* Discriminator key value missing with property access */ @@ -2053,8 +2084,7 @@ var discriminatorKeyValueMissingCompletions3 = discriminatorKeyValueMissing[] /* Discriminator key value missing with property access (conditional) */ -//@[2:6) NewLine |\r\n\r\n| - +//@[2:4) NewLine |\r\n| resource discriminatorKeyValueMissing_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = if(false) { //@[0:8) Identifier |resource| //@[9:40) Identifier |discriminatorKeyValueMissing_if| @@ -2186,6 +2216,90 @@ var discriminatorKeyValueMissingCompletions3_for = discriminatorKeyValueMissing_ //@[87:88) RightSquare |]| //@[88:92) NewLine |\r\n\r\n| +/* +Discriminator key value missing with property access (filtered loops) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeyValueMissing_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[0:8) Identifier |resource| +//@[9:44) Identifier |discriminatorKeyValueMissing_for_if| +//@[45:95) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[96:97) Assignment |=| +//@[98:99) LeftSquare |[| +//@[99:102) Identifier |for| +//@[103:108) Identifier |thing| +//@[109:111) Identifier |in| +//@[112:113) LeftSquare |[| +//@[113:114) RightSquare |]| +//@[114:115) Colon |:| +//@[116:118) Identifier |if| +//@[118:119) LeftParen |(| +//@[119:123) TrueKeyword |true| +//@[123:124) RightParen |)| +//@[125:126) LeftBrace |{| +//@[126:128) NewLine |\r\n| + // #completionTest(7,8,9,10) -> deploymentScriptKindsPlusSymbols_for_if +//@[73:75) NewLine |\r\n| + kind: +//@[2:6) Identifier |kind| +//@[6:7) Colon |:| +//@[10:12) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:6) NewLine |\r\n\r\n| + +// cannot . access properties of a resource loop +//@[48:50) NewLine |\r\n| +var resourceListIsNotSingleResource_if = discriminatorKeyValueMissing_for_if.kind +//@[0:3) Identifier |var| +//@[4:38) Identifier |resourceListIsNotSingleResource_if| +//@[39:40) Assignment |=| +//@[41:76) Identifier |discriminatorKeyValueMissing_for_if| +//@[76:77) Dot |.| +//@[77:81) Identifier |kind| +//@[81:85) NewLine |\r\n\r\n| + +// #completionTest(93) -> missingDiscriminatorPropertyAccess +//@[60:62) NewLine |\r\n| +var discriminatorKeyValueMissingCompletions_for_if = discriminatorKeyValueMissing_for_if[0].p +//@[0:3) Identifier |var| +//@[4:50) Identifier |discriminatorKeyValueMissingCompletions_for_if| +//@[51:52) Assignment |=| +//@[53:88) Identifier |discriminatorKeyValueMissing_for_if| +//@[88:89) LeftSquare |[| +//@[89:90) Integer |0| +//@[90:91) RightSquare |]| +//@[91:92) Dot |.| +//@[92:93) Identifier |p| +//@[93:95) NewLine |\r\n| +// #completionTest(93) -> missingDiscriminatorPropertyAccess +//@[60:62) NewLine |\r\n| +var discriminatorKeyValueMissingCompletions2_for_if = discriminatorKeyValueMissing_for_if[0]. +//@[0:3) Identifier |var| +//@[4:51) Identifier |discriminatorKeyValueMissingCompletions2_for_if| +//@[52:53) Assignment |=| +//@[54:89) Identifier |discriminatorKeyValueMissing_for_if| +//@[89:90) LeftSquare |[| +//@[90:91) Integer |0| +//@[91:92) RightSquare |]| +//@[92:93) Dot |.| +//@[93:97) NewLine |\r\n\r\n| + +// #completionTest(93) -> missingDiscriminatorPropertyIndexPlusSymbols_for_if +//@[77:79) NewLine |\r\n| +var discriminatorKeyValueMissingCompletions3_for_if = discriminatorKeyValueMissing_for_if[0][] +//@[0:3) Identifier |var| +//@[4:51) Identifier |discriminatorKeyValueMissingCompletions3_for_if| +//@[52:53) Assignment |=| +//@[54:89) Identifier |discriminatorKeyValueMissing_for_if| +//@[89:90) LeftSquare |[| +//@[90:91) Integer |0| +//@[91:92) RightSquare |]| +//@[92:93) LeftSquare |[| +//@[93:94) RightSquare |]| +//@[94:98) NewLine |\r\n\r\n| + /* Discriminator value set 1 */ @@ -2425,6 +2539,102 @@ var discriminatorKeySetOneCompletions3_for = discriminatorKeySetOne_for[1].prope //@[86:87) RightSquare |]| //@[87:91) NewLine |\r\n\r\n| +/* +Discriminator value set 1 (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeySetOne_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [ for thing in []: if(true) { +//@[0:8) Identifier |resource| +//@[9:38) Identifier |discriminatorKeySetOne_for_if| +//@[39:89) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[90:91) Assignment |=| +//@[92:93) LeftSquare |[| +//@[94:97) Identifier |for| +//@[98:103) Identifier |thing| +//@[104:106) Identifier |in| +//@[107:108) LeftSquare |[| +//@[108:109) RightSquare |]| +//@[109:110) Colon |:| +//@[111:113) Identifier |if| +//@[113:114) LeftParen |(| +//@[114:118) TrueKeyword |true| +//@[118:119) RightParen |)| +//@[120:121) LeftBrace |{| +//@[121:123) NewLine |\r\n| + kind: 'AzureCLI' +//@[2:6) Identifier |kind| +//@[6:7) Colon |:| +//@[8:18) StringComplete |'AzureCLI'| +//@[18:20) NewLine |\r\n| + // #completionTest(0,1,2) -> deploymentScriptTopLevel +//@[55:59) NewLine |\r\n\r\n| + + properties: { +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + // #completionTest(0,1,2,3,4) -> deploymentScriptCliProperties +//@[66:68) NewLine |\r\n| + +//@[4:6) NewLine |\r\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(92) -> cliPropertyAccess +//@[43:45) NewLine |\r\n| +var discriminatorKeySetOneCompletions_for_if = discriminatorKeySetOne_for_if[0].properties.a +//@[0:3) Identifier |var| +//@[4:44) Identifier |discriminatorKeySetOneCompletions_for_if| +//@[45:46) Assignment |=| +//@[47:76) Identifier |discriminatorKeySetOne_for_if| +//@[76:77) LeftSquare |[| +//@[77:78) Integer |0| +//@[78:79) RightSquare |]| +//@[79:80) Dot |.| +//@[80:90) Identifier |properties| +//@[90:91) Dot |.| +//@[91:92) Identifier |a| +//@[92:94) NewLine |\r\n| +// #completionTest(100) -> cliPropertyAccess +//@[44:46) NewLine |\r\n| +var discriminatorKeySetOneCompletions2_for_if = discriminatorKeySetOne_for_if[any(true)].properties. +//@[0:3) Identifier |var| +//@[4:45) Identifier |discriminatorKeySetOneCompletions2_for_if| +//@[46:47) Assignment |=| +//@[48:77) Identifier |discriminatorKeySetOne_for_if| +//@[77:78) LeftSquare |[| +//@[78:81) Identifier |any| +//@[81:82) LeftParen |(| +//@[82:86) TrueKeyword |true| +//@[86:87) RightParen |)| +//@[87:88) RightSquare |]| +//@[88:89) Dot |.| +//@[89:99) Identifier |properties| +//@[99:100) Dot |.| +//@[100:104) NewLine |\r\n\r\n| + +// #completionTest(92) -> cliPropertyAccessIndexesPlusSymbols_for_if +//@[68:70) NewLine |\r\n| +var discriminatorKeySetOneCompletions3_for_if = discriminatorKeySetOne_for_if[1].properties[] +//@[0:3) Identifier |var| +//@[4:45) Identifier |discriminatorKeySetOneCompletions3_for_if| +//@[46:47) Assignment |=| +//@[48:77) Identifier |discriminatorKeySetOne_for_if| +//@[77:78) LeftSquare |[| +//@[78:79) Integer |1| +//@[79:80) RightSquare |]| +//@[80:81) Dot |.| +//@[81:91) Identifier |properties| +//@[91:92) LeftSquare |[| +//@[92:93) RightSquare |]| +//@[93:99) NewLine |\r\n\r\n\r\n| + + /* Discriminator value set 2 */ @@ -2591,7 +2801,8 @@ var discriminatorKeySetTwoCompletionsArrayIndexer2_if = discriminatorKeySetTwo_i //@[82:94) StringComplete |'properties'| //@[94:95) RightSquare |]| //@[95:96) Dot |.| -//@[96:100) NewLine |\r\n\r\n| +//@[96:102) NewLine |\r\n\r\n\r\n| + /* Discriminator value set 2 (loops) @@ -2695,7 +2906,116 @@ var discriminatorKeySetTwoCompletionsArrayIndexer2_for = discriminatorKeySetTwo_ //@[87:99) StringComplete |'properties'| //@[99:100) RightSquare |]| //@[100:101) Dot |.| -//@[101:109) NewLine |\r\n\r\n\r\n\r\n| +//@[101:107) NewLine |\r\n\r\n\r\n| + + +/* +Discriminator value set 2 (filtered loops) +*/ +//@[2:4) NewLine |\r\n| +resource discriminatorKeySetTwo_for_if 'Microsoft.Resources/deploymentScripts@2020-10-01' = [for thing in []: if(true) { +//@[0:8) Identifier |resource| +//@[9:38) Identifier |discriminatorKeySetTwo_for_if| +//@[39:89) StringComplete |'Microsoft.Resources/deploymentScripts@2020-10-01'| +//@[90:91) Assignment |=| +//@[92:93) LeftSquare |[| +//@[93:96) Identifier |for| +//@[97:102) Identifier |thing| +//@[103:105) Identifier |in| +//@[106:107) LeftSquare |[| +//@[107:108) RightSquare |]| +//@[108:109) Colon |:| +//@[110:112) Identifier |if| +//@[112:113) LeftParen |(| +//@[113:117) TrueKeyword |true| +//@[117:118) RightParen |)| +//@[119:120) LeftBrace |{| +//@[120:122) NewLine |\r\n| + kind: 'AzurePowerShell' +//@[2:6) Identifier |kind| +//@[6:7) Colon |:| +//@[8:25) StringComplete |'AzurePowerShell'| +//@[25:27) NewLine |\r\n| + // #completionTest(0,1,2) -> deploymentScriptTopLevel +//@[55:59) NewLine |\r\n\r\n| + + properties: { +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + // #completionTest(0,1,2,3,4) -> deploymentScriptPSProperties +//@[65:67) NewLine |\r\n| + +//@[4:6) NewLine |\r\n| + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(92) -> powershellPropertyAccess +//@[50:52) NewLine |\r\n| +var discriminatorKeySetTwoCompletions_for_if = discriminatorKeySetTwo_for_if[0].properties.a +//@[0:3) Identifier |var| +//@[4:44) Identifier |discriminatorKeySetTwoCompletions_for_if| +//@[45:46) Assignment |=| +//@[47:76) Identifier |discriminatorKeySetTwo_for_if| +//@[76:77) LeftSquare |[| +//@[77:78) Integer |0| +//@[78:79) RightSquare |]| +//@[79:80) Dot |.| +//@[80:90) Identifier |properties| +//@[90:91) Dot |.| +//@[91:92) Identifier |a| +//@[92:94) NewLine |\r\n| +// #completionTest(92) -> powershellPropertyAccess +//@[50:52) NewLine |\r\n| +var discriminatorKeySetTwoCompletions2_for_if = discriminatorKeySetTwo_for_if[0].properties. +//@[0:3) Identifier |var| +//@[4:45) Identifier |discriminatorKeySetTwoCompletions2_for_if| +//@[46:47) Assignment |=| +//@[48:77) Identifier |discriminatorKeySetTwo_for_if| +//@[77:78) LeftSquare |[| +//@[78:79) Integer |0| +//@[79:80) RightSquare |]| +//@[80:81) Dot |.| +//@[81:91) Identifier |properties| +//@[91:92) Dot |.| +//@[92:96) NewLine |\r\n\r\n| + +// #completionTest(107) -> powershellPropertyAccess +//@[51:53) NewLine |\r\n| +var discriminatorKeySetTwoCompletionsArrayIndexer_for_if = discriminatorKeySetTwo_for_if[0]['properties'].a +//@[0:3) Identifier |var| +//@[4:56) Identifier |discriminatorKeySetTwoCompletionsArrayIndexer_for_if| +//@[57:58) Assignment |=| +//@[59:88) Identifier |discriminatorKeySetTwo_for_if| +//@[88:89) LeftSquare |[| +//@[89:90) Integer |0| +//@[90:91) RightSquare |]| +//@[91:92) LeftSquare |[| +//@[92:104) StringComplete |'properties'| +//@[104:105) RightSquare |]| +//@[105:106) Dot |.| +//@[106:107) Identifier |a| +//@[107:109) NewLine |\r\n| +// #completionTest(107) -> powershellPropertyAccess +//@[51:53) NewLine |\r\n| +var discriminatorKeySetTwoCompletionsArrayIndexer2_for_if = discriminatorKeySetTwo_for_if[0]['properties']. +//@[0:3) Identifier |var| +//@[4:57) Identifier |discriminatorKeySetTwoCompletionsArrayIndexer2_for_if| +//@[58:59) Assignment |=| +//@[60:89) Identifier |discriminatorKeySetTwo_for_if| +//@[89:90) LeftSquare |[| +//@[90:91) Integer |0| +//@[91:92) RightSquare |]| +//@[92:93) LeftSquare |[| +//@[93:105) StringComplete |'properties'| +//@[105:106) RightSquare |]| +//@[106:107) Dot |.| +//@[107:115) NewLine |\r\n\r\n\r\n\r\n| @@ -3134,6 +3454,102 @@ var nestedDiscriminatorMissingKeyIndexCompletions_for = nestedDiscriminatorMissi //@[107:113) NewLine |\r\n\r\n\r\n| +/* +Nested discriminator missing key (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource nestedDiscriminatorMissingKey_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { +//@[0:8) Identifier |resource| +//@[9:45) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[46:104) StringComplete |'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview'| +//@[105:106) Assignment |=| +//@[107:108) LeftSquare |[| +//@[108:111) Identifier |for| +//@[112:117) Identifier |thing| +//@[118:120) Identifier |in| +//@[121:122) LeftSquare |[| +//@[122:123) RightSquare |]| +//@[123:124) Colon |:| +//@[125:127) Identifier |if| +//@[127:128) LeftParen |(| +//@[128:132) TrueKeyword |true| +//@[132:133) RightParen |)| +//@[134:135) LeftBrace |{| +//@[135:137) NewLine |\r\n| + name: 'test' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:14) StringComplete |'test'| +//@[14:16) NewLine |\r\n| + location: 'l' +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:15) StringComplete |'l'| +//@[15:17) NewLine |\r\n| + properties: { +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + //createMode: 'Default' +//@[27:31) NewLine |\r\n\r\n| + + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(107) -> createMode +//@[37:39) NewLine |\r\n| +var nestedDiscriminatorMissingKeyCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties.cr +//@[0:3) Identifier |var| +//@[4:51) Identifier |nestedDiscriminatorMissingKeyCompletions_for_if| +//@[52:53) Assignment |=| +//@[54:90) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[90:91) LeftSquare |[| +//@[91:92) Integer |0| +//@[92:93) RightSquare |]| +//@[93:94) Dot |.| +//@[94:104) Identifier |properties| +//@[104:105) Dot |.| +//@[105:107) Identifier |cr| +//@[107:109) NewLine |\r\n| +// #completionTest(109) -> createMode +//@[37:39) NewLine |\r\n| +var nestedDiscriminatorMissingKeyCompletions2_for_if = nestedDiscriminatorMissingKey_for_if[0]['properties']. +//@[0:3) Identifier |var| +//@[4:52) Identifier |nestedDiscriminatorMissingKeyCompletions2_for_if| +//@[53:54) Assignment |=| +//@[55:91) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[91:92) LeftSquare |[| +//@[92:93) Integer |0| +//@[93:94) RightSquare |]| +//@[94:95) LeftSquare |[| +//@[95:107) StringComplete |'properties'| +//@[107:108) RightSquare |]| +//@[108:109) Dot |.| +//@[109:113) NewLine |\r\n\r\n| + +// #completionTest(111) -> createModeIndexPlusSymbols_for_if +//@[60:62) NewLine |\r\n| +var nestedDiscriminatorMissingKeyIndexCompletions_for_if = nestedDiscriminatorMissingKey_for_if[0].properties[''] +//@[0:3) Identifier |var| +//@[4:56) Identifier |nestedDiscriminatorMissingKeyIndexCompletions_for_if| +//@[57:58) Assignment |=| +//@[59:95) Identifier |nestedDiscriminatorMissingKey_for_if| +//@[95:96) LeftSquare |[| +//@[96:97) Integer |0| +//@[97:98) RightSquare |]| +//@[98:99) Dot |.| +//@[99:109) Identifier |properties| +//@[109:110) LeftSquare |[| +//@[110:112) StringComplete |''| +//@[112:113) RightSquare |]| +//@[113:119) NewLine |\r\n\r\n\r\n| + + /* Nested discriminator */ @@ -3463,7 +3879,138 @@ var nestedDiscriminatorArrayIndexCompletions_for = nestedDiscriminator_for[0].pr //@[88:89) LeftSquare |[| //@[89:90) Identifier |a| //@[90:91) RightSquare |]| -//@[91:95) NewLine |\r\n\r\n| +//@[91:97) NewLine |\r\n\r\n\r\n| + + +/* +Nested discriminator (filtered loop) +*/ +//@[2:4) NewLine |\r\n| +resource nestedDiscriminator_for_if 'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview' = [for thing in []: if(true) { +//@[0:8) Identifier |resource| +//@[9:35) Identifier |nestedDiscriminator_for_if| +//@[36:94) StringComplete |'Microsoft.DocumentDB/databaseAccounts@2020-06-01-preview'| +//@[95:96) Assignment |=| +//@[97:98) LeftSquare |[| +//@[98:101) Identifier |for| +//@[102:107) Identifier |thing| +//@[108:110) Identifier |in| +//@[111:112) LeftSquare |[| +//@[112:113) RightSquare |]| +//@[113:114) Colon |:| +//@[115:117) Identifier |if| +//@[117:118) LeftParen |(| +//@[118:122) TrueKeyword |true| +//@[122:123) RightParen |)| +//@[124:125) LeftBrace |{| +//@[125:127) NewLine |\r\n| + name: 'test' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:14) StringComplete |'test'| +//@[14:16) NewLine |\r\n| + location: 'l' +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:15) StringComplete |'l'| +//@[15:17) NewLine |\r\n| + properties: { +//@[2:12) Identifier |properties| +//@[12:13) Colon |:| +//@[14:15) LeftBrace |{| +//@[15:17) NewLine |\r\n| + createMode: 'Default' +//@[4:14) Identifier |createMode| +//@[14:15) Colon |:| +//@[16:25) StringComplete |'Default'| +//@[25:29) NewLine |\r\n\r\n| + + } +//@[2:3) RightBrace |}| +//@[3:5) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +// #completionTest(86) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions_for_if = nestedDiscriminator_for_if[0].properties.a +//@[0:3) Identifier |var| +//@[4:41) Identifier |nestedDiscriminatorCompletions_for_if| +//@[42:43) Assignment |=| +//@[44:70) Identifier |nestedDiscriminator_for_if| +//@[70:71) LeftSquare |[| +//@[71:72) Integer |0| +//@[72:73) RightSquare |]| +//@[73:74) Dot |.| +//@[74:84) Identifier |properties| +//@[84:85) Dot |.| +//@[85:86) Identifier |a| +//@[86:88) NewLine |\r\n| +// #completionTest(90) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions2_for_if = nestedDiscriminator_for_if[0]['properties'].a +//@[0:3) Identifier |var| +//@[4:42) Identifier |nestedDiscriminatorCompletions2_for_if| +//@[43:44) Assignment |=| +//@[45:71) Identifier |nestedDiscriminator_for_if| +//@[71:72) LeftSquare |[| +//@[72:73) Integer |0| +//@[73:74) RightSquare |]| +//@[74:75) LeftSquare |[| +//@[75:87) StringComplete |'properties'| +//@[87:88) RightSquare |]| +//@[88:89) Dot |.| +//@[89:90) Identifier |a| +//@[90:92) NewLine |\r\n| +// #completionTest(86) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions3_for_if = nestedDiscriminator_for_if[0].properties. +//@[0:3) Identifier |var| +//@[4:42) Identifier |nestedDiscriminatorCompletions3_for_if| +//@[43:44) Assignment |=| +//@[45:71) Identifier |nestedDiscriminator_for_if| +//@[71:72) LeftSquare |[| +//@[72:73) Integer |0| +//@[73:74) RightSquare |]| +//@[74:75) Dot |.| +//@[75:85) Identifier |properties| +//@[85:86) Dot |.| +//@[86:88) NewLine |\r\n| +// #completionTest(89) -> defaultCreateModeProperties +//@[53:55) NewLine |\r\n| +var nestedDiscriminatorCompletions4_for_if = nestedDiscriminator_for_if[0]['properties']. +//@[0:3) Identifier |var| +//@[4:42) Identifier |nestedDiscriminatorCompletions4_for_if| +//@[43:44) Assignment |=| +//@[45:71) Identifier |nestedDiscriminator_for_if| +//@[71:72) LeftSquare |[| +//@[72:73) Integer |0| +//@[73:74) RightSquare |]| +//@[74:75) LeftSquare |[| +//@[75:87) StringComplete |'properties'| +//@[87:88) RightSquare |]| +//@[88:89) Dot |.| +//@[89:93) NewLine |\r\n\r\n| + +// #completionTest(96) -> defaultCreateModeIndexes_for_if +//@[57:59) NewLine |\r\n| +var nestedDiscriminatorArrayIndexCompletions_for_if = nestedDiscriminator_for_if[0].properties[a] +//@[0:3) Identifier |var| +//@[4:51) Identifier |nestedDiscriminatorArrayIndexCompletions_for_if| +//@[52:53) Assignment |=| +//@[54:80) Identifier |nestedDiscriminator_for_if| +//@[80:81) LeftSquare |[| +//@[81:82) Integer |0| +//@[82:83) RightSquare |]| +//@[83:84) Dot |.| +//@[84:94) Identifier |properties| +//@[94:95) LeftSquare |[| +//@[95:96) Identifier |a| +//@[96:97) RightSquare |]| +//@[97:105) NewLine |\r\n\r\n\r\n\r\n| + + // sample resource to validate completions on the next declarations //@[67:69) NewLine |\r\n| @@ -4034,8 +4581,80 @@ resource expectedLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) //@[86:87) RightSquare |]| //@[87:91) NewLine |\r\n\r\n| -// loop semantic analysis cases -//@[31:33) NewLine |\r\n| +// loop filter parsing cases +//@[28:30) NewLine |\r\n| +resource expectedLoopFilterOpenParen 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if] +//@[0:8) Identifier |resource| +//@[9:36) Identifier |expectedLoopFilterOpenParen| +//@[37:83) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[84:85) Assignment |=| +//@[86:87) LeftSquare |[| +//@[87:90) Identifier |for| +//@[91:92) Identifier |x| +//@[93:95) Identifier |in| +//@[96:97) Identifier |y| +//@[97:98) Colon |:| +//@[99:101) Identifier |if| +//@[101:102) RightSquare |]| +//@[102:104) NewLine |\r\n| +resource expectedLoopFilterOpenParen2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if] +//@[0:8) Identifier |resource| +//@[9:37) Identifier |expectedLoopFilterOpenParen2| +//@[38:77) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[78:79) Assignment |=| +//@[80:81) LeftSquare |[| +//@[81:84) Identifier |for| +//@[85:86) LeftParen |(| +//@[86:87) Identifier |x| +//@[87:88) Comma |,| +//@[89:90) Identifier |y| +//@[90:91) RightParen |)| +//@[92:94) Identifier |in| +//@[95:96) Identifier |z| +//@[96:97) Colon |:| +//@[98:100) Identifier |if| +//@[100:101) RightSquare |]| +//@[101:105) NewLine |\r\n\r\n| + +resource expectedLoopFilterPredicateAndBody 'Microsoft.Storage/storageAccounts@2019-06-01' = [for x in y: if()] +//@[0:8) Identifier |resource| +//@[9:43) Identifier |expectedLoopFilterPredicateAndBody| +//@[44:90) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[91:92) Assignment |=| +//@[93:94) LeftSquare |[| +//@[94:97) Identifier |for| +//@[98:99) Identifier |x| +//@[100:102) Identifier |in| +//@[103:104) Identifier |y| +//@[104:105) Colon |:| +//@[106:108) Identifier |if| +//@[108:109) LeftParen |(| +//@[109:110) RightParen |)| +//@[110:111) RightSquare |]| +//@[111:113) NewLine |\r\n| +resource expectedLoopFilterPredicateAndBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for (x, y) in z: if()] +//@[0:8) Identifier |resource| +//@[9:44) Identifier |expectedLoopFilterPredicateAndBody2| +//@[45:84) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[85:86) Assignment |=| +//@[87:88) LeftSquare |[| +//@[88:91) Identifier |for| +//@[92:93) LeftParen |(| +//@[93:94) Identifier |x| +//@[94:95) Comma |,| +//@[96:97) Identifier |y| +//@[97:98) RightParen |)| +//@[99:101) Identifier |in| +//@[102:103) Identifier |z| +//@[103:104) Colon |:| +//@[105:107) Identifier |if| +//@[107:108) LeftParen |(| +//@[108:109) RightParen |)| +//@[109:110) RightSquare |]| +//@[110:114) NewLine |\r\n\r\n| + +// wrong body type +//@[18:20) NewLine |\r\n| var emptyArray = [] //@[0:3) Identifier |var| //@[4:14) Identifier |emptyArray| @@ -4200,6 +4819,58 @@ resource wrongArrayType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for ( //@[1:2) RightSquare |]| //@[2:6) NewLine |\r\n\r\n| +// wrong filter expression type +//@[31:33) NewLine |\r\n| +resource wrongFilterExpressionType 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in emptyArray: if(4) { +//@[0:8) Identifier |resource| +//@[9:34) Identifier |wrongFilterExpressionType| +//@[35:81) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[82:83) Assignment |=| +//@[84:85) LeftSquare |[| +//@[85:88) Identifier |for| +//@[89:96) Identifier |account| +//@[97:99) Identifier |in| +//@[100:110) Identifier |emptyArray| +//@[110:111) Colon |:| +//@[112:114) Identifier |if| +//@[114:115) LeftParen |(| +//@[115:116) Integer |4| +//@[116:117) RightParen |)| +//@[118:119) LeftBrace |{| +//@[119:121) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\r\n| +resource wrongFilterExpressionType2 'Microsoft.Storage/storageAccounts@2019-06-01' = [for (account,i) in emptyArray: if(concat('s')){ +//@[0:8) Identifier |resource| +//@[9:35) Identifier |wrongFilterExpressionType2| +//@[36:82) StringComplete |'Microsoft.Storage/storageAccounts@2019-06-01'| +//@[83:84) Assignment |=| +//@[85:86) LeftSquare |[| +//@[86:89) Identifier |for| +//@[90:91) LeftParen |(| +//@[91:98) Identifier |account| +//@[98:99) Comma |,| +//@[99:100) Identifier |i| +//@[100:101) RightParen |)| +//@[102:104) Identifier |in| +//@[105:115) Identifier |emptyArray| +//@[115:116) Colon |:| +//@[117:119) Identifier |if| +//@[119:120) LeftParen |(| +//@[120:126) Identifier |concat| +//@[126:127) LeftParen |(| +//@[127:130) StringComplete |'s'| +//@[130:131) RightParen |)| +//@[131:132) RightParen |)| +//@[132:133) LeftBrace |{| +//@[133:135) NewLine |\r\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:6) NewLine |\r\n\r\n| + // missing required properties //@[30:32) NewLine |\r\n| resource missingRequiredProperties 'Microsoft.Storage/storageAccounts@2019-06-01' = [for account in []: { @@ -5368,7 +6039,55 @@ resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [f //@[111:112) LeftParen |(| //@[112:113) RightParen |)| //@[113:114) RightSquare |]| -//@[114:118) NewLine |\r\n\r\n| +//@[114:116) NewLine |\r\n| +resource nonObjectResourceLoopBody3 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) 'test'] +//@[0:8) Identifier |resource| +//@[9:35) Identifier |nonObjectResourceLoopBody3| +//@[36:75) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[76:77) Assignment |=| +//@[78:79) LeftSquare |[| +//@[79:82) Identifier |for| +//@[83:84) LeftParen |(| +//@[84:89) Identifier |thing| +//@[89:90) Comma |,| +//@[90:91) Identifier |i| +//@[91:92) RightParen |)| +//@[93:95) Identifier |in| +//@[96:97) LeftSquare |[| +//@[97:98) RightSquare |]| +//@[98:99) Colon |:| +//@[100:102) Identifier |if| +//@[102:103) LeftParen |(| +//@[103:107) TrueKeyword |true| +//@[107:108) RightParen |)| +//@[109:115) StringComplete |'test'| +//@[115:116) RightSquare |]| +//@[116:118) NewLine |\r\n| +resource nonObjectResourceLoopBody4 'Microsoft.Network/dnsZones@2018-05-01' = [for (thing,i) in []: if(true) environment()] +//@[0:8) Identifier |resource| +//@[9:35) Identifier |nonObjectResourceLoopBody4| +//@[36:75) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[76:77) Assignment |=| +//@[78:79) LeftSquare |[| +//@[79:82) Identifier |for| +//@[83:84) LeftParen |(| +//@[84:89) Identifier |thing| +//@[89:90) Comma |,| +//@[90:91) Identifier |i| +//@[91:92) RightParen |)| +//@[93:95) Identifier |in| +//@[96:97) LeftSquare |[| +//@[97:98) RightSquare |]| +//@[98:99) Colon |:| +//@[100:102) Identifier |if| +//@[102:103) LeftParen |(| +//@[103:107) TrueKeyword |true| +//@[107:108) RightParen |)| +//@[109:120) Identifier |environment| +//@[120:121) LeftParen |(| +//@[121:122) RightParen |)| +//@[122:123) RightSquare |]| +//@[123:127) NewLine |\r\n\r\n| // #completionTest(54,55) -> objectPlusFor //@[42:44) NewLine |\r\n| diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/objectVarTopLevelIndexes.json b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/objectVarTopLevelIndexes.json index 79244b1974b..3f8d079af69 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/objectVarTopLevelIndexes.json +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/objectVarTopLevelIndexes.json @@ -828,6 +828,20 @@ "newText": "mySum" } }, + { + "label": "noFilteredLoopsInVariables", + "kind": "variable", + "detail": "noFilteredLoopsInVariables", + "deprecated": false, + "preselect": false, + "sortText": "2_noFilteredLoopsInVariables", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "noFilteredLoopsInVariables" + } + }, { "label": "noNestedVariableLoopsEither", "kind": "variable", diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/symbols.json b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/symbols.json index efb11220d61..db4486d1b63 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/symbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/symbols.json @@ -814,6 +814,20 @@ "newText": "mySum" } }, + { + "label": "noFilteredLoopsInVariables", + "kind": "variable", + "detail": "noFilteredLoopsInVariables", + "deprecated": false, + "preselect": false, + "sortText": "2_noFilteredLoopsInVariables", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "noFilteredLoopsInVariables" + } + }, { "label": "noNestedVariableLoopsEither", "kind": "variable", diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/twoIndexPlusSymbols.json b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/twoIndexPlusSymbols.json index 69191309751..e970f12113c 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/twoIndexPlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/Completions/twoIndexPlusSymbols.json @@ -846,6 +846,20 @@ "newText": "mySum" } }, + { + "label": "noFilteredLoopsInVariables", + "kind": "variable", + "detail": "noFilteredLoopsInVariables", + "deprecated": false, + "preselect": false, + "sortText": "2_noFilteredLoopsInVariables", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "noFilteredLoopsInVariables" + } + }, { "label": "noNestedVariableLoopsEither", "kind": "variable", diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.bicep b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.bicep index f75ddc4950b..8d9bbe12763 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.bicep @@ -164,6 +164,9 @@ var a☕ = true // loops are not allowed in variables var noVariableLoopsYet = [for thing in stuff: 4] +// loops with conditions won't even parse +var noFilteredLoopsInVariables = [for thing in stuff: if] + // nested loops are also not allowed var noNestedVariableLoopsEither = [for thing in stuff: { hello: [for thing in []: 4] diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.diagnostics.bicep index bae5d8464e5..a07c7615a4e 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.diagnostics.bicep @@ -245,6 +245,12 @@ var noVariableLoopsYet = [for thing in stuff: 4] //@[26:29) [BCP138 (Error)] For-expressions are not supported in this context. For-expressions may be used as values of resource and module declarations, values of resource and module properties, or values of outputs. |for| //@[39:44) [BCP057 (Error)] The name "stuff" does not exist in the current context. |stuff| +// loops with conditions won't even parse +var noFilteredLoopsInVariables = [for thing in stuff: if] +//@[34:37) [BCP138 (Error)] For-expressions are not supported in this context. For-expressions may be used as values of resource and module declarations, values of resource and module properties, or values of outputs. |for| +//@[47:52) [BCP057 (Error)] The name "stuff" does not exist in the current context. |stuff| +//@[54:56) [BCP100 (Error)] The "if" function is not supported. Use the ternary conditional operator instead. |if| + // nested loops are also not allowed var noNestedVariableLoopsEither = [for thing in stuff: { //@[35:38) [BCP138 (Error)] For-expressions are not supported in this context. For-expressions may be used as values of resource and module declarations, values of resource and module properties, or values of outputs. |for| diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.formatted.bicep index 4798cd5c6af..018e1006948 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.formatted.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.formatted.bicep @@ -163,6 +163,9 @@ var a☕ = true // loops are not allowed in variables var noVariableLoopsYet = [for thing in stuff: 4] +// loops with conditions won't even parse +var noFilteredLoopsInVariables = [for thing in stuff: if] + // nested loops are also not allowed var noNestedVariableLoopsEither = [for thing in stuff: { hello: [for thing in []: 4] diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.symbols.bicep index 10a9a7eb113..2e599f53181 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.symbols.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.symbols.bicep @@ -214,6 +214,11 @@ var noVariableLoopsYet = [for thing in stuff: 4] //@[30:35) Local thing. Type: any. Declaration start char: 30, length: 5 //@[4:22) Variable noVariableLoopsYet. Type: error. Declaration start char: 0, length: 48 +// loops with conditions won't even parse +var noFilteredLoopsInVariables = [for thing in stuff: if] +//@[38:43) Local thing. Type: any. Declaration start char: 38, length: 5 +//@[4:30) Variable noFilteredLoopsInVariables. Type: error. Declaration start char: 0, length: 57 + // nested loops are also not allowed var noNestedVariableLoopsEither = [for thing in stuff: { //@[39:44) Local thing. Type: any. Declaration start char: 39, length: 5 diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.syntax.bicep index 16f52a9ff0f..98285d44d68 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.syntax.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.syntax.bicep @@ -1013,6 +1013,31 @@ var noVariableLoopsYet = [for thing in stuff: 4] //@[47:48) RightSquare |]| //@[48:50) NewLine |\n\n| +// loops with conditions won't even parse +//@[41:42) NewLine |\n| +var noFilteredLoopsInVariables = [for thing in stuff: if] +//@[0:57) VariableDeclarationSyntax +//@[0:3) Identifier |var| +//@[4:30) IdentifierSyntax +//@[4:30) Identifier |noFilteredLoopsInVariables| +//@[31:32) Assignment |=| +//@[33:57) ForSyntax +//@[33:34) LeftSquare |[| +//@[34:37) Identifier |for| +//@[38:43) LocalVariableSyntax +//@[38:43) IdentifierSyntax +//@[38:43) Identifier |thing| +//@[44:46) Identifier |in| +//@[47:52) VariableAccessSyntax +//@[47:52) IdentifierSyntax +//@[47:52) Identifier |stuff| +//@[52:53) Colon |:| +//@[54:56) VariableAccessSyntax +//@[54:56) IdentifierSyntax +//@[54:56) Identifier |if| +//@[56:57) RightSquare |]| +//@[57:59) NewLine |\n\n| + // nested loops are also not allowed //@[36:37) NewLine |\n| var noNestedVariableLoopsEither = [for thing in stuff: { diff --git a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.tokens.bicep index 48e0ae78931..1b1ef38baee 100644 --- a/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.tokens.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidVariables_LF/main.tokens.bicep @@ -664,6 +664,22 @@ var noVariableLoopsYet = [for thing in stuff: 4] //@[47:48) RightSquare |]| //@[48:50) NewLine |\n\n| +// loops with conditions won't even parse +//@[41:42) NewLine |\n| +var noFilteredLoopsInVariables = [for thing in stuff: if] +//@[0:3) Identifier |var| +//@[4:30) Identifier |noFilteredLoopsInVariables| +//@[31:32) Assignment |=| +//@[33:34) LeftSquare |[| +//@[34:37) Identifier |for| +//@[38:43) Identifier |thing| +//@[44:46) Identifier |in| +//@[47:52) Identifier |stuff| +//@[52:53) Colon |:| +//@[54:56) Identifier |if| +//@[56:57) RightSquare |]| +//@[57:59) NewLine |\n\n| + // nested loops are also not allowed //@[36:37) NewLine |\n| var noNestedVariableLoopsEither = [for thing in stuff: { diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.bicep b/src/Bicep.Core.Samples/Files/Loops_LF/main.bicep index b7e477edae8..c0c5304b67d 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.bicep +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.bicep @@ -390,3 +390,31 @@ resource indexedResourceCollectionDependency 'Microsoft.Network/frontDoors@2020- ] } }] + +resource filteredZones 'Microsoft.Network/dnsZones@2018-05-01' = [for i in range(0,10): if(i % 3 == 0) { + name: 'zone${i}' + location: resourceGroup().location +}] + +module filteredModules 'passthrough.bicep' = [for i in range(0,6): if(i % 2 == 0) { + name: 'stuff${i}' + params: { + myInput: 'script-${i}' + } +}] + +resource filteredIndexedZones 'Microsoft.Network/dnsZones@2018-05-01' = [for (account, i) in accounts: if(account.enabled) { + name: 'indexedZone-${account.name}-${i}' + location: account.location +}] + +output lastNameServers array = filteredIndexedZones[length(accounts) - 1].properties.nameServers + +module filteredIndexedModules 'passthrough.bicep' = [for (account, i) in accounts: if(account.enabled) { + name: 'stuff-${i}' + params: { + myInput: 'script-${account.name}-${i}' + } +}] + +output lastModuleOutput string = filteredIndexedModules[length(accounts) - 1].outputs.myOutput diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/Loops_LF/main.diagnostics.bicep index 88fe1e6d5e4..b994dd4fc66 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.diagnostics.bicep @@ -391,3 +391,31 @@ resource indexedResourceCollectionDependency 'Microsoft.Network/frontDoors@2020- } }] +resource filteredZones 'Microsoft.Network/dnsZones@2018-05-01' = [for i in range(0,10): if(i % 3 == 0) { + name: 'zone${i}' + location: resourceGroup().location +}] + +module filteredModules 'passthrough.bicep' = [for i in range(0,6): if(i % 2 == 0) { + name: 'stuff${i}' + params: { + myInput: 'script-${i}' + } +}] + +resource filteredIndexedZones 'Microsoft.Network/dnsZones@2018-05-01' = [for (account, i) in accounts: if(account.enabled) { + name: 'indexedZone-${account.name}-${i}' + location: account.location +}] + +output lastNameServers array = filteredIndexedZones[length(accounts) - 1].properties.nameServers + +module filteredIndexedModules 'passthrough.bicep' = [for (account, i) in accounts: if(account.enabled) { + name: 'stuff-${i}' + params: { + myInput: 'script-${account.name}-${i}' + } +}] + +output lastModuleOutput string = filteredIndexedModules[length(accounts) - 1].outputs.myOutput + diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/Loops_LF/main.formatted.bicep index 85234dc3682..df309d989d0 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.formatted.bicep +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.formatted.bicep @@ -390,3 +390,31 @@ resource indexedResourceCollectionDependency 'Microsoft.Network/frontDoors@2020- ] } }] + +resource filteredZones 'Microsoft.Network/dnsZones@2018-05-01' = [for i in range(0, 10): if (i % 3 == 0) { + name: 'zone${i}' + location: resourceGroup().location +}] + +module filteredModules 'passthrough.bicep' = [for i in range(0, 6): if (i % 2 == 0) { + name: 'stuff${i}' + params: { + myInput: 'script-${i}' + } +}] + +resource filteredIndexedZones 'Microsoft.Network/dnsZones@2018-05-01' = [for (account, i) in accounts: if (account.enabled) { + name: 'indexedZone-${account.name}-${i}' + location: account.location +}] + +output lastNameServers array = filteredIndexedZones[length(accounts) - 1].properties.nameServers + +module filteredIndexedModules 'passthrough.bicep' = [for (account, i) in accounts: if (account.enabled) { + name: 'stuff-${i}' + params: { + myInput: 'script-${account.name}-${i}' + } +}] + +output lastModuleOutput string = filteredIndexedModules[length(accounts) - 1].outputs.myOutput diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.json b/src/Bicep.Core.Samples/Files/Loops_LF/main.json index 51cd060d21d..a447856b159 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.json +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.json @@ -393,6 +393,28 @@ "[resourceId('Microsoft.Storage/storageAccounts', format('{0}-collection-{1}', parameters('name'), parameters('accounts')[range(0, length(parameters('accounts')))[copyIndex()]].name))]" ] }, + { + "condition": "[equals(mod(range(0, 10)[copyIndex()], 3), 0)]", + "copy": { + "name": "filteredZones", + "count": "[length(range(0, 10))]" + }, + "type": "Microsoft.Network/dnsZones", + "apiVersion": "2018-05-01", + "name": "[format('zone{0}', range(0, 10)[copyIndex()])]", + "location": "[resourceGroup().location]" + }, + { + "condition": "[parameters('accounts')[copyIndex()].enabled]", + "copy": { + "name": "filteredIndexedZones", + "count": "[length(parameters('accounts'))]" + }, + "type": "Microsoft.Network/dnsZones", + "apiVersion": "2018-05-01", + "name": "[format('indexedZone-{0}-{1}', parameters('accounts')[copyIndex()].name, copyIndex())]", + "location": "[parameters('accounts')[copyIndex()].location]" + }, { "type": "Microsoft.Resources/deployments", "apiVersion": "2019-10-01", @@ -626,6 +648,82 @@ } } } + }, + { + "condition": "[equals(mod(range(0, 6)[copyIndex()], 2), 0)]", + "copy": { + "name": "filteredModules", + "count": "[length(range(0, 6))]" + }, + "type": "Microsoft.Resources/deployments", + "apiVersion": "2019-10-01", + "name": "[format('stuff{0}', range(0, 6)[copyIndex()])]", + "properties": { + "expressionEvaluationOptions": { + "scope": "inner" + }, + "mode": "Incremental", + "parameters": { + "myInput": { + "value": "[format('script-{0}', range(0, 6)[copyIndex()])]" + } + }, + "template": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "myInput": { + "type": "string" + } + }, + "functions": [], + "resources": [], + "outputs": { + "myOutput": { + "type": "string", + "value": "[parameters('myInput')]" + } + } + } + } + }, + { + "condition": "[parameters('accounts')[copyIndex()].enabled]", + "copy": { + "name": "filteredIndexedModules", + "count": "[length(parameters('accounts'))]" + }, + "type": "Microsoft.Resources/deployments", + "apiVersion": "2019-10-01", + "name": "[format('stuff-{0}', copyIndex())]", + "properties": { + "expressionEvaluationOptions": { + "scope": "inner" + }, + "mode": "Incremental", + "parameters": { + "myInput": { + "value": "[format('script-{0}-{1}', parameters('accounts')[copyIndex()].name, copyIndex())]" + } + }, + "template": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "myInput": { + "type": "string" + } + }, + "functions": [], + "resources": [], + "outputs": { + "myOutput": { + "type": "string", + "value": "[parameters('myInput')]" + } + } + } + } } ], "outputs": { @@ -695,13 +793,21 @@ "existingIndexedResourceAccessTier": { "type": "string", "value": "[reference(resourceId('Microsoft.Storage/storageAccounts', format('{0}-existing-{1}', parameters('name'), parameters('accounts')[mod(parameters('index'), 3)].name)), '2019-06-01').accessTier]" + }, + "lastNameServers": { + "type": "array", + "value": "[reference(resourceId('Microsoft.Network/dnsZones', format('indexedZone-{0}-{1}', parameters('accounts')[sub(length(parameters('accounts')), 1)].name, sub(length(parameters('accounts')), 1)))).nameServers]" + }, + "lastModuleOutput": { + "type": "string", + "value": "[reference(resourceId('Microsoft.Resources/deployments', format('stuff-{0}', sub(length(parameters('accounts')), 1))), '2019-10-01').outputs.myOutput.value]" } }, "metadata": { "_generator": { "name": "bicep", "version": "dev", - "templateHash": "13666670482088592227" + "templateHash": "11837434558928818130" } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/Loops_LF/main.symbols.bicep index c143de2ec09..848134265fe 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.symbols.bicep +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.symbols.bicep @@ -458,3 +458,43 @@ resource indexedResourceCollectionDependency 'Microsoft.Network/frontDoors@2020- } }] +resource filteredZones 'Microsoft.Network/dnsZones@2018-05-01' = [for i in range(0,10): if(i % 3 == 0) { +//@[70:71) Local i. Type: int. Declaration start char: 70, length: 1 +//@[9:22) Resource filteredZones. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 163 + name: 'zone${i}' + location: resourceGroup().location +}] + +module filteredModules 'passthrough.bicep' = [for i in range(0,6): if(i % 2 == 0) { +//@[50:51) Local i. Type: int. Declaration start char: 50, length: 1 +//@[7:22) Module filteredModules. Type: module[]. Declaration start char: 0, length: 149 + name: 'stuff${i}' + params: { + myInput: 'script-${i}' + } +}] + +resource filteredIndexedZones 'Microsoft.Network/dnsZones@2018-05-01' = [for (account, i) in accounts: if(account.enabled) { +//@[78:85) Local account. Type: any. Declaration start char: 78, length: 7 +//@[87:88) Local i. Type: int. Declaration start char: 87, length: 1 +//@[9:29) Resource filteredIndexedZones. Type: Microsoft.Network/dnsZones@2018-05-01[]. Declaration start char: 0, length: 199 + name: 'indexedZone-${account.name}-${i}' + location: account.location +}] + +output lastNameServers array = filteredIndexedZones[length(accounts) - 1].properties.nameServers +//@[7:22) Output lastNameServers. Type: array. Declaration start char: 0, length: 96 + +module filteredIndexedModules 'passthrough.bicep' = [for (account, i) in accounts: if(account.enabled) { +//@[58:65) Local account. Type: any. Declaration start char: 58, length: 7 +//@[67:68) Local i. Type: int. Declaration start char: 67, length: 1 +//@[7:29) Module filteredIndexedModules. Type: module[]. Declaration start char: 0, length: 187 + name: 'stuff-${i}' + params: { + myInput: 'script-${account.name}-${i}' + } +}] + +output lastModuleOutput string = filteredIndexedModules[length(accounts) - 1].outputs.myOutput +//@[7:23) Output lastModuleOutput. Type: string. Declaration start char: 0, length: 94 + diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/Loops_LF/main.syntax.bicep index b95c6fec74a..82ab2000fe9 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.syntax.bicep +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.syntax.bicep @@ -3452,6 +3452,414 @@ resource indexedResourceCollectionDependency 'Microsoft.Network/frontDoors@2020- }] //@[0:1) RightBrace |}| //@[1:2) RightSquare |]| -//@[2:3) NewLine |\n| +//@[2:4) NewLine |\n\n| + +resource filteredZones 'Microsoft.Network/dnsZones@2018-05-01' = [for i in range(0,10): if(i % 3 == 0) { +//@[0:163) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:22) IdentifierSyntax +//@[9:22) Identifier |filteredZones| +//@[23:62) StringSyntax +//@[23:62) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[63:64) Assignment |=| +//@[65:163) ForSyntax +//@[65:66) LeftSquare |[| +//@[66:69) Identifier |for| +//@[70:71) LocalVariableSyntax +//@[70:71) IdentifierSyntax +//@[70:71) Identifier |i| +//@[72:74) Identifier |in| +//@[75:86) FunctionCallSyntax +//@[75:80) IdentifierSyntax +//@[75:80) Identifier |range| +//@[80:81) LeftParen |(| +//@[81:83) FunctionArgumentSyntax +//@[81:82) IntegerLiteralSyntax +//@[81:82) Integer |0| +//@[82:83) Comma |,| +//@[83:85) FunctionArgumentSyntax +//@[83:85) IntegerLiteralSyntax +//@[83:85) Integer |10| +//@[85:86) RightParen |)| +//@[86:87) Colon |:| +//@[88:162) IfConditionSyntax +//@[88:90) Identifier |if| +//@[90:102) ParenthesizedExpressionSyntax +//@[90:91) LeftParen |(| +//@[91:101) BinaryOperationSyntax +//@[91:96) BinaryOperationSyntax +//@[91:92) VariableAccessSyntax +//@[91:92) IdentifierSyntax +//@[91:92) Identifier |i| +//@[93:94) Modulo |%| +//@[95:96) IntegerLiteralSyntax +//@[95:96) Integer |3| +//@[97:99) Equals |==| +//@[100:101) IntegerLiteralSyntax +//@[100:101) Integer |0| +//@[101:102) RightParen |)| +//@[103:162) ObjectSyntax +//@[103:104) LeftBrace |{| +//@[104:105) NewLine |\n| + name: 'zone${i}' +//@[2:18) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:18) StringSyntax +//@[8:15) StringLeftPiece |'zone${| +//@[15:16) VariableAccessSyntax +//@[15:16) IdentifierSyntax +//@[15:16) Identifier |i| +//@[16:18) StringRightPiece |}'| +//@[18:19) NewLine |\n| + location: resourceGroup().location +//@[2:36) ObjectPropertySyntax +//@[2:10) IdentifierSyntax +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:36) PropertyAccessSyntax +//@[12:27) FunctionCallSyntax +//@[12:25) IdentifierSyntax +//@[12:25) Identifier |resourceGroup| +//@[25:26) LeftParen |(| +//@[26:27) RightParen |)| +//@[27:28) Dot |.| +//@[28:36) IdentifierSyntax +//@[28:36) Identifier |location| +//@[36:37) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +module filteredModules 'passthrough.bicep' = [for i in range(0,6): if(i % 2 == 0) { +//@[0:149) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:22) IdentifierSyntax +//@[7:22) Identifier |filteredModules| +//@[23:42) StringSyntax +//@[23:42) StringComplete |'passthrough.bicep'| +//@[43:44) Assignment |=| +//@[45:149) ForSyntax +//@[45:46) LeftSquare |[| +//@[46:49) Identifier |for| +//@[50:51) LocalVariableSyntax +//@[50:51) IdentifierSyntax +//@[50:51) Identifier |i| +//@[52:54) Identifier |in| +//@[55:65) FunctionCallSyntax +//@[55:60) IdentifierSyntax +//@[55:60) Identifier |range| +//@[60:61) LeftParen |(| +//@[61:63) FunctionArgumentSyntax +//@[61:62) IntegerLiteralSyntax +//@[61:62) Integer |0| +//@[62:63) Comma |,| +//@[63:64) FunctionArgumentSyntax +//@[63:64) IntegerLiteralSyntax +//@[63:64) Integer |6| +//@[64:65) RightParen |)| +//@[65:66) Colon |:| +//@[67:148) IfConditionSyntax +//@[67:69) Identifier |if| +//@[69:81) ParenthesizedExpressionSyntax +//@[69:70) LeftParen |(| +//@[70:80) BinaryOperationSyntax +//@[70:75) BinaryOperationSyntax +//@[70:71) VariableAccessSyntax +//@[70:71) IdentifierSyntax +//@[70:71) Identifier |i| +//@[72:73) Modulo |%| +//@[74:75) IntegerLiteralSyntax +//@[74:75) Integer |2| +//@[76:78) Equals |==| +//@[79:80) IntegerLiteralSyntax +//@[79:80) Integer |0| +//@[80:81) RightParen |)| +//@[82:148) ObjectSyntax +//@[82:83) LeftBrace |{| +//@[83:84) NewLine |\n| + name: 'stuff${i}' +//@[2:19) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:19) StringSyntax +//@[8:16) StringLeftPiece |'stuff${| +//@[16:17) VariableAccessSyntax +//@[16:17) IdentifierSyntax +//@[16:17) Identifier |i| +//@[17:19) StringRightPiece |}'| +//@[19:20) NewLine |\n| + params: { +//@[2:42) ObjectPropertySyntax +//@[2:8) IdentifierSyntax +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:42) ObjectSyntax +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + myInput: 'script-${i}' +//@[4:26) ObjectPropertySyntax +//@[4:11) IdentifierSyntax +//@[4:11) Identifier |myInput| +//@[11:12) Colon |:| +//@[13:26) StringSyntax +//@[13:23) StringLeftPiece |'script-${| +//@[23:24) VariableAccessSyntax +//@[23:24) IdentifierSyntax +//@[23:24) Identifier |i| +//@[24:26) StringRightPiece |}'| +//@[26:27) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +resource filteredIndexedZones 'Microsoft.Network/dnsZones@2018-05-01' = [for (account, i) in accounts: if(account.enabled) { +//@[0:199) ResourceDeclarationSyntax +//@[0:8) Identifier |resource| +//@[9:29) IdentifierSyntax +//@[9:29) Identifier |filteredIndexedZones| +//@[30:69) StringSyntax +//@[30:69) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[70:71) Assignment |=| +//@[72:199) ForSyntax +//@[72:73) LeftSquare |[| +//@[73:76) Identifier |for| +//@[77:89) ForVariableBlockSyntax +//@[77:78) LeftParen |(| +//@[78:85) LocalVariableSyntax +//@[78:85) IdentifierSyntax +//@[78:85) Identifier |account| +//@[85:86) Comma |,| +//@[87:88) LocalVariableSyntax +//@[87:88) IdentifierSyntax +//@[87:88) Identifier |i| +//@[88:89) RightParen |)| +//@[90:92) Identifier |in| +//@[93:101) VariableAccessSyntax +//@[93:101) IdentifierSyntax +//@[93:101) Identifier |accounts| +//@[101:102) Colon |:| +//@[103:198) IfConditionSyntax +//@[103:105) Identifier |if| +//@[105:122) ParenthesizedExpressionSyntax +//@[105:106) LeftParen |(| +//@[106:121) PropertyAccessSyntax +//@[106:113) VariableAccessSyntax +//@[106:113) IdentifierSyntax +//@[106:113) Identifier |account| +//@[113:114) Dot |.| +//@[114:121) IdentifierSyntax +//@[114:121) Identifier |enabled| +//@[121:122) RightParen |)| +//@[123:198) ObjectSyntax +//@[123:124) LeftBrace |{| +//@[124:125) NewLine |\n| + name: 'indexedZone-${account.name}-${i}' +//@[2:42) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:42) StringSyntax +//@[8:23) StringLeftPiece |'indexedZone-${| +//@[23:35) PropertyAccessSyntax +//@[23:30) VariableAccessSyntax +//@[23:30) IdentifierSyntax +//@[23:30) Identifier |account| +//@[30:31) Dot |.| +//@[31:35) IdentifierSyntax +//@[31:35) Identifier |name| +//@[35:39) StringMiddlePiece |}-${| +//@[39:40) VariableAccessSyntax +//@[39:40) IdentifierSyntax +//@[39:40) Identifier |i| +//@[40:42) StringRightPiece |}'| +//@[42:43) NewLine |\n| + location: account.location +//@[2:28) ObjectPropertySyntax +//@[2:10) IdentifierSyntax +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:28) PropertyAccessSyntax +//@[12:19) VariableAccessSyntax +//@[12:19) IdentifierSyntax +//@[12:19) Identifier |account| +//@[19:20) Dot |.| +//@[20:28) IdentifierSyntax +//@[20:28) Identifier |location| +//@[28:29) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +output lastNameServers array = filteredIndexedZones[length(accounts) - 1].properties.nameServers +//@[0:96) OutputDeclarationSyntax +//@[0:6) Identifier |output| +//@[7:22) IdentifierSyntax +//@[7:22) Identifier |lastNameServers| +//@[23:28) TypeSyntax +//@[23:28) Identifier |array| +//@[29:30) Assignment |=| +//@[31:96) PropertyAccessSyntax +//@[31:84) PropertyAccessSyntax +//@[31:73) ArrayAccessSyntax +//@[31:51) VariableAccessSyntax +//@[31:51) IdentifierSyntax +//@[31:51) Identifier |filteredIndexedZones| +//@[51:52) LeftSquare |[| +//@[52:72) BinaryOperationSyntax +//@[52:68) FunctionCallSyntax +//@[52:58) IdentifierSyntax +//@[52:58) Identifier |length| +//@[58:59) LeftParen |(| +//@[59:67) FunctionArgumentSyntax +//@[59:67) VariableAccessSyntax +//@[59:67) IdentifierSyntax +//@[59:67) Identifier |accounts| +//@[67:68) RightParen |)| +//@[69:70) Minus |-| +//@[71:72) IntegerLiteralSyntax +//@[71:72) Integer |1| +//@[72:73) RightSquare |]| +//@[73:74) Dot |.| +//@[74:84) IdentifierSyntax +//@[74:84) Identifier |properties| +//@[84:85) Dot |.| +//@[85:96) IdentifierSyntax +//@[85:96) Identifier |nameServers| +//@[96:98) NewLine |\n\n| + +module filteredIndexedModules 'passthrough.bicep' = [for (account, i) in accounts: if(account.enabled) { +//@[0:187) ModuleDeclarationSyntax +//@[0:6) Identifier |module| +//@[7:29) IdentifierSyntax +//@[7:29) Identifier |filteredIndexedModules| +//@[30:49) StringSyntax +//@[30:49) StringComplete |'passthrough.bicep'| +//@[50:51) Assignment |=| +//@[52:187) ForSyntax +//@[52:53) LeftSquare |[| +//@[53:56) Identifier |for| +//@[57:69) ForVariableBlockSyntax +//@[57:58) LeftParen |(| +//@[58:65) LocalVariableSyntax +//@[58:65) IdentifierSyntax +//@[58:65) Identifier |account| +//@[65:66) Comma |,| +//@[67:68) LocalVariableSyntax +//@[67:68) IdentifierSyntax +//@[67:68) Identifier |i| +//@[68:69) RightParen |)| +//@[70:72) Identifier |in| +//@[73:81) VariableAccessSyntax +//@[73:81) IdentifierSyntax +//@[73:81) Identifier |accounts| +//@[81:82) Colon |:| +//@[83:186) IfConditionSyntax +//@[83:85) Identifier |if| +//@[85:102) ParenthesizedExpressionSyntax +//@[85:86) LeftParen |(| +//@[86:101) PropertyAccessSyntax +//@[86:93) VariableAccessSyntax +//@[86:93) IdentifierSyntax +//@[86:93) Identifier |account| +//@[93:94) Dot |.| +//@[94:101) IdentifierSyntax +//@[94:101) Identifier |enabled| +//@[101:102) RightParen |)| +//@[103:186) ObjectSyntax +//@[103:104) LeftBrace |{| +//@[104:105) NewLine |\n| + name: 'stuff-${i}' +//@[2:20) ObjectPropertySyntax +//@[2:6) IdentifierSyntax +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:20) StringSyntax +//@[8:17) StringLeftPiece |'stuff-${| +//@[17:18) VariableAccessSyntax +//@[17:18) IdentifierSyntax +//@[17:18) Identifier |i| +//@[18:20) StringRightPiece |}'| +//@[20:21) NewLine |\n| + params: { +//@[2:58) ObjectPropertySyntax +//@[2:8) IdentifierSyntax +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:58) ObjectSyntax +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + myInput: 'script-${account.name}-${i}' +//@[4:42) ObjectPropertySyntax +//@[4:11) IdentifierSyntax +//@[4:11) Identifier |myInput| +//@[11:12) Colon |:| +//@[13:42) StringSyntax +//@[13:23) StringLeftPiece |'script-${| +//@[23:35) PropertyAccessSyntax +//@[23:30) VariableAccessSyntax +//@[23:30) IdentifierSyntax +//@[23:30) Identifier |account| +//@[30:31) Dot |.| +//@[31:35) IdentifierSyntax +//@[31:35) Identifier |name| +//@[35:39) StringMiddlePiece |}-${| +//@[39:40) VariableAccessSyntax +//@[39:40) IdentifierSyntax +//@[39:40) Identifier |i| +//@[40:42) StringRightPiece |}'| +//@[42:43) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +output lastModuleOutput string = filteredIndexedModules[length(accounts) - 1].outputs.myOutput +//@[0:94) OutputDeclarationSyntax +//@[0:6) Identifier |output| +//@[7:23) IdentifierSyntax +//@[7:23) Identifier |lastModuleOutput| +//@[24:30) TypeSyntax +//@[24:30) Identifier |string| +//@[31:32) Assignment |=| +//@[33:94) PropertyAccessSyntax +//@[33:85) PropertyAccessSyntax +//@[33:77) ArrayAccessSyntax +//@[33:55) VariableAccessSyntax +//@[33:55) IdentifierSyntax +//@[33:55) Identifier |filteredIndexedModules| +//@[55:56) LeftSquare |[| +//@[56:76) BinaryOperationSyntax +//@[56:72) FunctionCallSyntax +//@[56:62) IdentifierSyntax +//@[56:62) Identifier |length| +//@[62:63) LeftParen |(| +//@[63:71) FunctionArgumentSyntax +//@[63:71) VariableAccessSyntax +//@[63:71) IdentifierSyntax +//@[63:71) Identifier |accounts| +//@[71:72) RightParen |)| +//@[73:74) Minus |-| +//@[75:76) IntegerLiteralSyntax +//@[75:76) Integer |1| +//@[76:77) RightSquare |]| +//@[77:78) Dot |.| +//@[78:85) IdentifierSyntax +//@[78:85) Identifier |outputs| +//@[85:86) Dot |.| +//@[86:94) IdentifierSyntax +//@[86:94) Identifier |myOutput| +//@[94:95) NewLine |\n| //@[0:0) EndOfFile || diff --git a/src/Bicep.Core.Samples/Files/Loops_LF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/Loops_LF/main.tokens.bicep index 4503ab39a2d..a11af4f3ef3 100644 --- a/src/Bicep.Core.Samples/Files/Loops_LF/main.tokens.bicep +++ b/src/Bicep.Core.Samples/Files/Loops_LF/main.tokens.bicep @@ -2147,6 +2147,246 @@ resource indexedResourceCollectionDependency 'Microsoft.Network/frontDoors@2020- }] //@[0:1) RightBrace |}| //@[1:2) RightSquare |]| -//@[2:3) NewLine |\n| +//@[2:4) NewLine |\n\n| + +resource filteredZones 'Microsoft.Network/dnsZones@2018-05-01' = [for i in range(0,10): if(i % 3 == 0) { +//@[0:8) Identifier |resource| +//@[9:22) Identifier |filteredZones| +//@[23:62) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[63:64) Assignment |=| +//@[65:66) LeftSquare |[| +//@[66:69) Identifier |for| +//@[70:71) Identifier |i| +//@[72:74) Identifier |in| +//@[75:80) Identifier |range| +//@[80:81) LeftParen |(| +//@[81:82) Integer |0| +//@[82:83) Comma |,| +//@[83:85) Integer |10| +//@[85:86) RightParen |)| +//@[86:87) Colon |:| +//@[88:90) Identifier |if| +//@[90:91) LeftParen |(| +//@[91:92) Identifier |i| +//@[93:94) Modulo |%| +//@[95:96) Integer |3| +//@[97:99) Equals |==| +//@[100:101) Integer |0| +//@[101:102) RightParen |)| +//@[103:104) LeftBrace |{| +//@[104:105) NewLine |\n| + name: 'zone${i}' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:15) StringLeftPiece |'zone${| +//@[15:16) Identifier |i| +//@[16:18) StringRightPiece |}'| +//@[18:19) NewLine |\n| + location: resourceGroup().location +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:25) Identifier |resourceGroup| +//@[25:26) LeftParen |(| +//@[26:27) RightParen |)| +//@[27:28) Dot |.| +//@[28:36) Identifier |location| +//@[36:37) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +module filteredModules 'passthrough.bicep' = [for i in range(0,6): if(i % 2 == 0) { +//@[0:6) Identifier |module| +//@[7:22) Identifier |filteredModules| +//@[23:42) StringComplete |'passthrough.bicep'| +//@[43:44) Assignment |=| +//@[45:46) LeftSquare |[| +//@[46:49) Identifier |for| +//@[50:51) Identifier |i| +//@[52:54) Identifier |in| +//@[55:60) Identifier |range| +//@[60:61) LeftParen |(| +//@[61:62) Integer |0| +//@[62:63) Comma |,| +//@[63:64) Integer |6| +//@[64:65) RightParen |)| +//@[65:66) Colon |:| +//@[67:69) Identifier |if| +//@[69:70) LeftParen |(| +//@[70:71) Identifier |i| +//@[72:73) Modulo |%| +//@[74:75) Integer |2| +//@[76:78) Equals |==| +//@[79:80) Integer |0| +//@[80:81) RightParen |)| +//@[82:83) LeftBrace |{| +//@[83:84) NewLine |\n| + name: 'stuff${i}' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:16) StringLeftPiece |'stuff${| +//@[16:17) Identifier |i| +//@[17:19) StringRightPiece |}'| +//@[19:20) NewLine |\n| + params: { +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + myInput: 'script-${i}' +//@[4:11) Identifier |myInput| +//@[11:12) Colon |:| +//@[13:23) StringLeftPiece |'script-${| +//@[23:24) Identifier |i| +//@[24:26) StringRightPiece |}'| +//@[26:27) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +resource filteredIndexedZones 'Microsoft.Network/dnsZones@2018-05-01' = [for (account, i) in accounts: if(account.enabled) { +//@[0:8) Identifier |resource| +//@[9:29) Identifier |filteredIndexedZones| +//@[30:69) StringComplete |'Microsoft.Network/dnsZones@2018-05-01'| +//@[70:71) Assignment |=| +//@[72:73) LeftSquare |[| +//@[73:76) Identifier |for| +//@[77:78) LeftParen |(| +//@[78:85) Identifier |account| +//@[85:86) Comma |,| +//@[87:88) Identifier |i| +//@[88:89) RightParen |)| +//@[90:92) Identifier |in| +//@[93:101) Identifier |accounts| +//@[101:102) Colon |:| +//@[103:105) Identifier |if| +//@[105:106) LeftParen |(| +//@[106:113) Identifier |account| +//@[113:114) Dot |.| +//@[114:121) Identifier |enabled| +//@[121:122) RightParen |)| +//@[123:124) LeftBrace |{| +//@[124:125) NewLine |\n| + name: 'indexedZone-${account.name}-${i}' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:23) StringLeftPiece |'indexedZone-${| +//@[23:30) Identifier |account| +//@[30:31) Dot |.| +//@[31:35) Identifier |name| +//@[35:39) StringMiddlePiece |}-${| +//@[39:40) Identifier |i| +//@[40:42) StringRightPiece |}'| +//@[42:43) NewLine |\n| + location: account.location +//@[2:10) Identifier |location| +//@[10:11) Colon |:| +//@[12:19) Identifier |account| +//@[19:20) Dot |.| +//@[20:28) Identifier |location| +//@[28:29) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +output lastNameServers array = filteredIndexedZones[length(accounts) - 1].properties.nameServers +//@[0:6) Identifier |output| +//@[7:22) Identifier |lastNameServers| +//@[23:28) Identifier |array| +//@[29:30) Assignment |=| +//@[31:51) Identifier |filteredIndexedZones| +//@[51:52) LeftSquare |[| +//@[52:58) Identifier |length| +//@[58:59) LeftParen |(| +//@[59:67) Identifier |accounts| +//@[67:68) RightParen |)| +//@[69:70) Minus |-| +//@[71:72) Integer |1| +//@[72:73) RightSquare |]| +//@[73:74) Dot |.| +//@[74:84) Identifier |properties| +//@[84:85) Dot |.| +//@[85:96) Identifier |nameServers| +//@[96:98) NewLine |\n\n| + +module filteredIndexedModules 'passthrough.bicep' = [for (account, i) in accounts: if(account.enabled) { +//@[0:6) Identifier |module| +//@[7:29) Identifier |filteredIndexedModules| +//@[30:49) StringComplete |'passthrough.bicep'| +//@[50:51) Assignment |=| +//@[52:53) LeftSquare |[| +//@[53:56) Identifier |for| +//@[57:58) LeftParen |(| +//@[58:65) Identifier |account| +//@[65:66) Comma |,| +//@[67:68) Identifier |i| +//@[68:69) RightParen |)| +//@[70:72) Identifier |in| +//@[73:81) Identifier |accounts| +//@[81:82) Colon |:| +//@[83:85) Identifier |if| +//@[85:86) LeftParen |(| +//@[86:93) Identifier |account| +//@[93:94) Dot |.| +//@[94:101) Identifier |enabled| +//@[101:102) RightParen |)| +//@[103:104) LeftBrace |{| +//@[104:105) NewLine |\n| + name: 'stuff-${i}' +//@[2:6) Identifier |name| +//@[6:7) Colon |:| +//@[8:17) StringLeftPiece |'stuff-${| +//@[17:18) Identifier |i| +//@[18:20) StringRightPiece |}'| +//@[20:21) NewLine |\n| + params: { +//@[2:8) Identifier |params| +//@[8:9) Colon |:| +//@[10:11) LeftBrace |{| +//@[11:12) NewLine |\n| + myInput: 'script-${account.name}-${i}' +//@[4:11) Identifier |myInput| +//@[11:12) Colon |:| +//@[13:23) StringLeftPiece |'script-${| +//@[23:30) Identifier |account| +//@[30:31) Dot |.| +//@[31:35) Identifier |name| +//@[35:39) StringMiddlePiece |}-${| +//@[39:40) Identifier |i| +//@[40:42) StringRightPiece |}'| +//@[42:43) NewLine |\n| + } +//@[2:3) RightBrace |}| +//@[3:4) NewLine |\n| +}] +//@[0:1) RightBrace |}| +//@[1:2) RightSquare |]| +//@[2:4) NewLine |\n\n| + +output lastModuleOutput string = filteredIndexedModules[length(accounts) - 1].outputs.myOutput +//@[0:6) Identifier |output| +//@[7:23) Identifier |lastModuleOutput| +//@[24:30) Identifier |string| +//@[31:32) Assignment |=| +//@[33:55) Identifier |filteredIndexedModules| +//@[55:56) LeftSquare |[| +//@[56:62) Identifier |length| +//@[62:63) LeftParen |(| +//@[63:71) Identifier |accounts| +//@[71:72) RightParen |)| +//@[73:74) Minus |-| +//@[75:76) Integer |1| +//@[76:77) RightSquare |]| +//@[77:78) Dot |.| +//@[78:85) Identifier |outputs| +//@[85:86) Dot |.| +//@[86:94) Identifier |myOutput| +//@[94:95) NewLine |\n| //@[0:0) EndOfFile || diff --git a/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs b/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs index c7f0f544730..2ec0fb72f15 100644 --- a/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs +++ b/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs @@ -943,6 +943,11 @@ public Diagnostic RuntimePropertyNotAllowed(string property, IEnumerable TextSpan, "BCP166", $"Duplicate \"{decoratorName}\" decorator."); + + public ErrorDiagnostic ExpectBodyStartOrIf() => new( + TextSpan, + "BCP167", + "Expected the \"{\" character or the \"if\" keyword at this location."); } public static DiagnosticBuilderInternal ForPosition(TextSpan span) diff --git a/src/Bicep.Core/Emit/TemplateWriter.cs b/src/Bicep.Core/Emit/TemplateWriter.cs index 45f2a8d0e0a..11fc332ff8a 100644 --- a/src/Bicep.Core/Emit/TemplateWriter.cs +++ b/src/Bicep.Core/Emit/TemplateWriter.cs @@ -365,8 +365,17 @@ private void EmitResource(JsonTextWriter memoryWriter, ResourceSymbol resourceSy break; case ForSyntax @for: - body = @for.Body; loops.Add((resourceSymbol.Name, @for, null)); + if (@for.Body is IfConditionSyntax loopFilter) + { + body = loopFilter.Body; + conditions.Add(loopFilter.ConditionExpression); + } + else + { + body = @for.Body; + } + break; } @@ -478,7 +487,16 @@ private void EmitModule(JsonTextWriter memoryWriter, ModuleSymbol moduleSymbol, break; case ForSyntax @for: - body = @for.Body; + if(@for.Body is IfConditionSyntax loopFilter) + { + body = loopFilter.Body; + emitter.EmitProperty("condition", loopFilter.ConditionExpression); + } + else + { + body = @for.Body; + } + var batchSize = GetBatchSize(moduleSymbol.DeclaringModule); emitter.EmitProperty("copy", () => emitter.EmitCopyObject(moduleSymbol.Name, @for, input: null, batchSize: batchSize)); break; @@ -491,7 +509,6 @@ private void EmitModule(JsonTextWriter memoryWriter, ModuleSymbol moduleSymbol, // params requires special handling (see below). emitter.EmitObjectProperties((ObjectSyntax)body, ModulePropertiesToOmit); - var scopeData = context.ModuleScopeData[moduleSymbol]; ScopeHelper.EmitModuleScopeProperties(context.SemanticModel.TargetScope, scopeData, emitter); diff --git a/src/Bicep.Core/Parsing/Parser.cs b/src/Bicep.Core/Parsing/Parser.cs index 3edf2293a31..da274962293 100644 --- a/src/Bicep.Core/Parsing/Parser.cs +++ b/src/Bicep.Core/Parsing/Parser.cs @@ -314,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(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals), + TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals, insideForExpression: false), TokenType.LeftBrace => this.Object(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals), - TokenType.LeftSquare => this.ForExpression(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals, requireObjectLiteral: true), + TokenType.LeftSquare => this.ForExpression(ExpressionFlags.AllowResourceDeclarations | ExpressionFlags.AllowComplexLiterals, isResourceOrModuleContext: true), _ => throw new ExpectedTokenException(current, b => b.ExpectBodyStartOrIfOrLoopStart()) }; }, @@ -343,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(ExpressionFlags.AllowComplexLiterals), + TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(ExpressionFlags.AllowComplexLiterals, insideForExpression: false), TokenType.LeftBrace => this.Object(ExpressionFlags.AllowComplexLiterals), - TokenType.LeftSquare => this.ForExpression(ExpressionFlags.AllowComplexLiterals, requireObjectLiteral: true), + TokenType.LeftSquare => this.ForExpression(ExpressionFlags.AllowComplexLiterals, isResourceOrModuleContext: true), _ => throw new ExpectedTokenException(current, b => b.ExpectBodyStartOrIfOrLoopStart()) }; }, @@ -526,7 +526,7 @@ private SyntaxBase PrimaryExpression(ExpressionFlags expressionFlags) case TokenType.LeftSquare when HasExpressionFlag(expressionFlags, ExpressionFlags.AllowComplexLiterals): return CheckKeyword(this.reader.PeekAhead(), LanguageConstants.ForKeyword) - ? this.ForExpression(expressionFlags, requireObjectLiteral: false) + ? this.ForExpression(expressionFlags, isResourceOrModuleContext: false) : this.Array(); case TokenType.LeftBrace: @@ -907,7 +907,7 @@ private SyntaxBase LiteralValue() } } - private ForSyntax ForExpression(ExpressionFlags expressionFlags, bool requireObjectLiteral) + private ForSyntax ForExpression(ExpressionFlags expressionFlags, bool isResourceOrModuleContext) { var openBracket = this.Expect(TokenType.LeftSquare, b => b.ExpectedCharacter("[")); var forKeyword = this.ExpectKeyword(LanguageConstants.ForKeyword); @@ -918,12 +918,11 @@ private ForSyntax ForExpression(ExpressionFlags expressionFlags, bool requireObj _ => this.SkipEmpty(b => b.ExpectedLoopItemIdentifierOrVariableBlockStart()) }; - // new LocalVariableSyntax(this.IdentifierWithRecovery(b => b.ExpectedLoopVariableIdentifier(), RecoveryFlags.None, TokenType.Identifier, TokenType.RightSquare, TokenType.NewLine)); var inKeyword = this.WithRecovery(() => this.ExpectKeyword(LanguageConstants.InKeyword), variableSection.HasParseErrors() ? RecoveryFlags.SuppressDiagnostics : RecoveryFlags.None, TokenType.RightSquare, TokenType.NewLine); var expression = this.WithRecovery(() => this.Expression(ExpressionFlags.AllowComplexLiterals), 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(expressionFlags) : this.Expression(WithExpressionFlag(expressionFlags, ExpressionFlags.AllowComplexLiterals)), + () => this.ForBody(expressionFlags, isResourceOrModuleContext), GetSuppressionFlag(colon), TokenType.RightSquare, TokenType.NewLine); var closeBracket = this.WithRecovery(() => this.Expect(TokenType.RightSquare, b => b.ExpectedCharacter("]")), GetSuppressionFlag(body), TokenType.RightSquare, TokenType.NewLine); @@ -942,6 +941,26 @@ private ForVariableBlockSyntax ForVariableBlock() return new(openParen, itemVariable, comma, indexVariable, closeParen); } + private SyntaxBase ForBody(ExpressionFlags expressionFlags, bool isResourceOrModuleContext) + { + if(!isResourceOrModuleContext) + { + // we're not parsing a resource or module body, which means we can have any expression at this point + return this.Expression(WithExpressionFlag(expressionFlags, ExpressionFlags.AllowComplexLiterals)); + } + + // we're parsing a resource or module body + // at this point, we can have either an object literal or a condition + var current = this.reader.Peek(); + return current.Type switch + { + TokenType.LeftBrace => this.Object(expressionFlags), + TokenType.Identifier when current.Text == LanguageConstants.IfKeyword => this.IfCondition(expressionFlags, insideForExpression: true), + + _ => throw new ExpectedTokenException(current, b => b.ExpectBodyStartOrIf()) + }; + } + private SyntaxBase Array() { var openBracket = Expect(TokenType.LeftSquare, b => b.ExpectedCharacter("[")); @@ -1098,18 +1117,21 @@ private SyntaxBase ObjectProperty(ExpressionFlags expressionFlags) }, RecoveryFlags.None, TokenType.NewLine); } - private SyntaxBase IfCondition(ExpressionFlags expressionFlags) + private SyntaxBase IfCondition(ExpressionFlags expressionFlags, bool insideForExpression) { var keyword = this.ExpectKeyword(LanguageConstants.IfKeyword); + + // when inside a for-expression, we must include ] as a recovery terminator + // otherwise, the ] character may get consumed by recovery + // then, the for-expression parsing will produce an "expected ] character" diagnostic, which is confusing var conditionExpression = this.WithRecovery( () => this.ParenthesizedExpression(WithoutExpressionFlag(expressionFlags, ExpressionFlags.AllowResourceDeclarations)), RecoveryFlags.None, - TokenType.LeftBrace, - TokenType.NewLine); + insideForExpression ? new[] { TokenType.RightSquare, TokenType.LeftBrace, TokenType.NewLine } : new[] { TokenType.LeftBrace, TokenType.NewLine }); var body = this.WithRecovery( () => this.Object(expressionFlags), GetSuppressionFlag(conditionExpression, conditionExpression is ParenthesizedExpressionSyntax { CloseParen: not SkippedTriviaSyntax }), - TokenType.NewLine); + insideForExpression ? new[] { TokenType.RightSquare, TokenType.NewLine } : new[] { TokenType.NewLine }); return new IfConditionSyntax(keyword, conditionExpression, body); } diff --git a/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs b/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs index 5265f351be2..29ce8d77942 100644 --- a/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs +++ b/src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs @@ -156,6 +156,9 @@ public override void VisitResourceAccessSyntax(ResourceAccessSyntax syntax) => public override void VisitParenthesizedExpressionSyntax(ParenthesizedExpressionSyntax syntax) => this.BuildWithConcat(() => base.VisitParenthesizedExpressionSyntax(syntax)); + public override void VisitIfConditionSyntax(IfConditionSyntax syntax) => + this.BuildWithSpread(() => base.VisitIfConditionSyntax(syntax)); + public override void VisitForSyntax(ForSyntax syntax) => this.Build(() => base.VisitForSyntax(syntax), children => { diff --git a/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs b/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs index 48a6d7b845b..3a8d61ac6a3 100644 --- a/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs +++ b/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs @@ -75,7 +75,14 @@ public TypeSymbol GetDeclaredType(ResourceScope containingScope, SemanticModel m { ObjectSyntax @object => @object, IfConditionSyntax ifCondition => ifCondition.Body as ObjectSyntax, - ForSyntax @for => @for.Body as ObjectSyntax, + ForSyntax @for => @for.Body switch + { + ObjectSyntax @object => @object, + IfConditionSyntax ifCondition => ifCondition.Body as ObjectSyntax, + SkippedTriviaSyntax => null, + + _ => throw new NotImplementedException($"Unexpected type of for-expression value '{this.Value.GetType().Name}'.") + }, SkippedTriviaSyntax => null, // blocked by assert in the constructor diff --git a/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs b/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs index 02a248627d1..e6da83443c0 100644 --- a/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs +++ b/src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs @@ -159,7 +159,14 @@ public TypeSymbol GetDeclaredType(IBinder binder, IResourceTypeProvider resource { ObjectSyntax @object => @object, IfConditionSyntax ifCondition => ifCondition.Body as ObjectSyntax, - ForSyntax @for => @for.Body as ObjectSyntax, + ForSyntax @for => @for.Body switch + { + ObjectSyntax @object => @object, + IfConditionSyntax ifCondition => ifCondition.Body as ObjectSyntax, + SkippedTriviaSyntax => null, + + _=> throw new NotImplementedException($"Unexpected type of for-expression value '{this.Value.GetType().Name}'.") + }, SkippedTriviaSyntax => null, // blocked by assert in the constructor diff --git a/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs b/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs index d56d6991113..c8397f7730d 100644 --- a/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs +++ b/src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs @@ -1,11 +1,10 @@ -// Copyright (c) Microsoft Corporation. +// 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; @@ -246,10 +245,15 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) case ArrayType arrayType when TypeValidator.AreTypesAssignable(indexAssignedType, LanguageConstants.Int): // we are accessing an array by an expression of a numeric type // return the item type of the array - + // for regular array we can't evaluate the array index at this point, but for loops the index is irrelevant // and we need to set declaring syntax, so property access can provide completions correctly for resource and module loops - var declaringSyntax = baseExpressionAssignment.DeclaringSyntax is ForSyntax {Body: ObjectSyntax loopBody} ? loopBody : null; + var declaringSyntax = baseExpressionAssignment.DeclaringSyntax switch + { + ForSyntax { Body: ObjectSyntax loopBody } => loopBody, + ForSyntax { Body: IfConditionSyntax { Body: ObjectSyntax loopBody } } => loopBody, + _ => null + }; return new DeclaredTypeAssignment(arrayType.Item.Type, declaringSyntax); @@ -356,6 +360,11 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) // parent is an if-condition under a module // use the object as declaring syntax to make property access and variable access code easier return TryCreateAssignment(ResolveDiscriminatedObjects(moduleType.Body.Type, @object), @object, parentTypeAssignment.Flags); + + case ArrayType arrayType: + // parent is an if-condition used as a resource/module loop filter + // discriminated objects are already resolved by the parent + return TryCreateAssignment(arrayType.Item.Type, @object, parentTypeAssignment.Flags); } return null; @@ -384,7 +393,8 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) return null; } - if (syntax.Body is ObjectSyntax @object) + // local function + DeclaredTypeAssignment? ResolveType(ObjectSyntax @object) { // the object may be a discriminated object type - we need to resolve it var itemType = arrayType.Item.Type switch @@ -401,8 +411,14 @@ private DeclaredTypeAssignment GetModuleType(ModuleDeclarationSyntax syntax) : TryCreateAssignment(new TypedArrayType(itemType, TypeSymbolValidationFlags.Default), syntax, parentTypeAssignment.Flags); } - // pass the type through - return new DeclaredTypeAssignment(parentType, syntax, parentTypeAssignment.Flags); + return syntax.Body switch + { + ObjectSyntax @object => ResolveType(@object), + IfConditionSyntax { Body: ObjectSyntax @object } => ResolveType(@object), + + // pass the type through + _ => new DeclaredTypeAssignment(parentType, syntax, parentTypeAssignment.Flags) + }; } private DeclaredTypeAssignment? GetObjectType(ObjectSyntax syntax) diff --git a/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs b/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs index ba2fd9cfffd..bbddc14c9fb 100644 --- a/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs +++ b/src/Bicep.LangServer/Completions/BicepCompletionProvider.cs @@ -320,7 +320,7 @@ private IEnumerable GetResourceOrModuleBodyCompletions(BicepComp yield return CreateResourceOrModuleConditionCompletion(context.ReplacementRange); // loops are always allowed in a resource/module - foreach (var completion in CreateLoopCompletions(context.ReplacementRange, LanguageConstants.Object)) + foreach (var completion in CreateLoopCompletions(context.ReplacementRange, LanguageConstants.Object, filtersAllowed: true)) { yield return completion; } @@ -643,7 +643,7 @@ context.Property is not null && ForSyntaxValidatorVisitor.IsAddingPropertyLoopAllowed(semanticModel, context.Property)) { // property loop is allowed here - foreach (var completion in CreateLoopCompletions(replacementRange, arrayType.Item.Type)) + foreach (var completion in CreateLoopCompletions(replacementRange, arrayType.Item.Type, filtersAllowed: false)) { yield return completion; } @@ -688,10 +688,11 @@ private static CompletionItem CreateResourceOrModuleConditionCompletion(Range re .WithSortText(GetSortText(conditionLabel, CompletionPriority.High)); } - private static IEnumerable CreateLoopCompletions(Range replacementRange, TypeSymbol arrayItemType) + private static IEnumerable CreateLoopCompletions(Range replacementRange, TypeSymbol arrayItemType, bool filtersAllowed) { const string loopLabel = "for"; const string indexedLabel = "for-indexed"; + const string filteredLabel = "for-filtered"; var assignableToObject = TypeValidator.AreTypesAssignable(arrayItemType, LanguageConstants.Object); var assignableToArray = TypeValidator.AreTypesAssignable(arrayItemType, LanguageConstants.Array); @@ -705,6 +706,11 @@ private static IEnumerable CreateLoopCompletions(Range replaceme yield return CreateContextualSnippetCompletion(loopLabel, loopLabel, itemSnippet, replacementRange, CompletionPriority.High, InsertTextMode.AdjustIndentation); yield return CreateContextualSnippetCompletion(indexedLabel, indexedLabel, indexedSnippet, replacementRange, CompletionPriority.High, InsertTextMode.AdjustIndentation); + + if(filtersAllowed && assignableToObject && !assignableToArray) + { + yield return CreateContextualSnippetCompletion(filteredLabel, filteredLabel, "[for (${2:item}, ${3:index}) in ${1:list}: if (${4:condition}) {\n\t$0\n}]", replacementRange, CompletionPriority.High, InsertTextMode.AdjustIndentation); + } } private static CompletionItem CreatePropertyNameCompletion(TypeProperty property, Range replacementRange, CompletionPriority priority = CompletionPriority.Medium) => From 4b196f8ffbed75f7c86f23d2b2ddc036797f7ebf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 13:58:09 -0700 Subject: [PATCH 21/25] Bump MSTest.TestAdapter from 2.1.2 to 2.2.2 (#1887) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.2. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../Bicep.Cli.IntegrationTests.csproj | 2 +- src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj | 2 +- .../Bicep.Core.IntegrationTests.csproj | 2 +- src/Bicep.Core.Samples/Bicep.Core.Samples.csproj | 2 +- src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj | 2 +- .../Bicep.Decompiler.IntegrationTests.csproj | 2 +- .../Bicep.Decompiler.UnitTests.csproj | 2 +- .../Bicep.LangServer.IntegrationTests.csproj | 2 +- .../Bicep.LangServer.UnitTests.csproj | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj b/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj index 61c656e361c..93a1441269b 100644 --- a/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj +++ b/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj b/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj index 536484909e1..839faf57544 100644 --- a/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj +++ b/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj b/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj index 8061d8fe842..9ba92406328 100644 --- a/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj +++ b/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj @@ -15,7 +15,7 @@ - + all diff --git a/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj b/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj index c78c7ba0680..7b64cd0a4b6 100644 --- a/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj +++ b/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj @@ -24,7 +24,7 @@ - + all diff --git a/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj b/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj index e63c88b480e..e5f63899578 100644 --- a/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj +++ b/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj @@ -13,7 +13,7 @@ - + all diff --git a/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj b/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj index 68392622500..d58605978b9 100644 --- a/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj +++ b/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj @@ -23,7 +23,7 @@ - + all diff --git a/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj b/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj index c5f7d1c3632..42afbac764b 100644 --- a/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj +++ b/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj @@ -9,7 +9,7 @@ - + all diff --git a/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj b/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj index ff214d0652b..31c410291c5 100644 --- a/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj +++ b/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj b/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj index 622f187b226..361d1897f56 100644 --- a/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj +++ b/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj @@ -16,7 +16,7 @@ - + From 8cae8ca92a81c2da30dcc5a6789ad213b0f09088 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 15:17:58 -0700 Subject: [PATCH 22/25] Bump MSTest.TestFramework from 2.2.1 to 2.2.3 (#1899) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.2.1...v2.2.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../Bicep.Cli.IntegrationTests.csproj | 2 +- src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj | 2 +- .../Bicep.Core.IntegrationTests.csproj | 2 +- src/Bicep.Core.Samples/Bicep.Core.Samples.csproj | 2 +- src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj | 2 +- .../Bicep.Decompiler.IntegrationTests.csproj | 2 +- .../Bicep.Decompiler.UnitTests.csproj | 2 +- .../Bicep.LangServer.IntegrationTests.csproj | 2 +- .../Bicep.LangServer.UnitTests.csproj | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj b/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj index 93a1441269b..760604a2dba 100644 --- a/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj +++ b/src/Bicep.Cli.IntegrationTests/Bicep.Cli.IntegrationTests.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj b/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj index 839faf57544..9578f13028b 100644 --- a/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj +++ b/src/Bicep.Cli.UnitTests/Bicep.Cli.UnitTests.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj b/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj index 9ba92406328..f73110a1a1f 100644 --- a/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj +++ b/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj @@ -16,7 +16,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj b/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj index 7b64cd0a4b6..7ddd0f216ef 100644 --- a/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj +++ b/src/Bicep.Core.Samples/Bicep.Core.Samples.csproj @@ -25,7 +25,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj b/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj index e5f63899578..05fa77bba1e 100644 --- a/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj +++ b/src/Bicep.Core.UnitTests/Bicep.Core.UnitTests.csproj @@ -14,7 +14,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj b/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj index d58605978b9..0ca5a2a4fd0 100644 --- a/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj +++ b/src/Bicep.Decompiler.IntegrationTests/Bicep.Decompiler.IntegrationTests.csproj @@ -24,7 +24,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj b/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj index 42afbac764b..54ded37b107 100644 --- a/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj +++ b/src/Bicep.Decompiler.UnitTests/Bicep.Decompiler.UnitTests.csproj @@ -10,7 +10,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj b/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj index 31c410291c5..7412de44b71 100644 --- a/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj +++ b/src/Bicep.LangServer.IntegrationTests/Bicep.LangServer.IntegrationTests.csproj @@ -11,7 +11,7 @@ - + all diff --git a/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj b/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj index 361d1897f56..2d6251c0579 100644 --- a/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj +++ b/src/Bicep.LangServer.UnitTests/Bicep.LangServer.UnitTests.csproj @@ -17,7 +17,7 @@ - + all From b6bc48cb9d59f49d62fc718ce55f0ed1c169cc2f Mon Sep 17 00:00:00 2001 From: Shenglong Li Date: Tue, 16 Mar 2021 15:46:28 -0700 Subject: [PATCH 23/25] Fix issue #1627 (#1901) --- .../ScenarioTests.cs | 42 ++++++++++++++++++- .../Extensions/EnumerableExtensions.cs | 13 ++++++ .../Syntax/ModuleDeclarationSyntax.cs | 5 ++- 3 files changed, 57 insertions(+), 3 deletions(-) diff --git a/src/Bicep.Core.IntegrationTests/ScenarioTests.cs b/src/Bicep.Core.IntegrationTests/ScenarioTests.cs index 2fb673ce95a..c0c5d6eff2a 100644 --- a/src/Bicep.Core.IntegrationTests/ScenarioTests.cs +++ b/src/Bicep.Core.IntegrationTests/ScenarioTests.cs @@ -10,6 +10,8 @@ using Newtonsoft.Json.Linq; using FluentAssertions.Execution; using System.ComponentModel.DataAnnotations; +using Bicep.Core.Semantics; +using System.Linq; namespace Bicep.Core.IntegrationTests { @@ -999,5 +1001,43 @@ public void Test_Issue1630() template.Should().HaveValueAtPath("$.variables['firstResourceFirstApiVersion']", "[variables('allResources')[0].apiVersions[0]]"); } } + + [TestMethod] + public void Test_Issue1627() + { + var mainUri = new Uri("file:///main.bicep"); + var moduleAUri = new Uri("file:///modulea.bicep"); + + var files = new Dictionary + { + [mainUri] = @" +module modulea 'modulea.bicep' = { + name: 'modulea' + params: { + foo: 'test' + } +} + +var bar = modulea.outputs.bar +", + [moduleAUri] = @" +// duplicate parameter symbols +param foo string +param foo int + +// duplicate output symbols +output bar bool = true +output bar int = 42 +", + }; + + + var compilation = new Compilation(TestResourceTypeProvider.Create(), SyntaxTreeGroupingFactory.CreateForFiles(files, mainUri)); + + var diagnosticsByFile = compilation.GetAllDiagnosticsBySyntaxTree().ToDictionary(kvp => kvp.Key.FileUri, kvp => kvp.Value); + diagnosticsByFile[mainUri].Should().HaveDiagnostics(new[] { + ("BCP104", DiagnosticLevel.Error, "The referenced module has errors."), + }); + } } -} \ No newline at end of file +} diff --git a/src/Bicep.Core/Extensions/EnumerableExtensions.cs b/src/Bicep.Core/Extensions/EnumerableExtensions.cs index d35534b5a5d..f3870bcc15f 100644 --- a/src/Bicep.Core/Extensions/EnumerableExtensions.cs +++ b/src/Bicep.Core/Extensions/EnumerableExtensions.cs @@ -61,6 +61,19 @@ public static IEnumerable WhereNotNull(this IEnumerable source) } } } + + public static IEnumerable DistinctBy(this IEnumerable source, Func keySelector) + { + HashSet keySet = new HashSet(); + + foreach (TSource element in source) + { + if (keySet.Add(keySelector(element))) + { + yield return element; + } + } + } } } diff --git a/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs b/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs index 3a8d61ac6a3..90a5dbcc644 100644 --- a/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs +++ b/src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Bicep.Core.Extensions; using Bicep.Core.Navigation; using Bicep.Core.Parsing; using Bicep.Core.Semantics; @@ -49,7 +50,7 @@ public ModuleDeclarationSyntax(IEnumerable leadingNodes, Token keywo public TypeSymbol GetDeclaredType(ResourceScope containingScope, SemanticModel moduleSemanticModel) { var paramTypeProperties = new List(); - foreach (var param in moduleSemanticModel.Root.ParameterDeclarations) + foreach (var param in moduleSemanticModel.Root.ParameterDeclarations.DistinctBy(p => p.Name)) { var typePropertyFlags = TypePropertyFlags.WriteOnly; if (SyntaxHelper.TryGetDefaultValue(param.DeclaringParameter) == null) @@ -62,7 +63,7 @@ public TypeSymbol GetDeclaredType(ResourceScope containingScope, SemanticModel m } var outputTypeProperties = new List(); - foreach (var output in moduleSemanticModel.Root.OutputDeclarations) + foreach (var output in moduleSemanticModel.Root.OutputDeclarations.DistinctBy(o => o.Name)) { outputTypeProperties.Add(new TypeProperty(output.Name, output.Type, TypePropertyFlags.ReadOnly)); } From 676dbf8a2c3ba915a188f898c4c94fb2607e577b Mon Sep 17 00:00:00 2001 From: Shenglong Li Date: Tue, 16 Mar 2021 15:46:37 -0700 Subject: [PATCH 24/25] Ensure minLength and maxLength take non-negative values (#1902) --- .../Completions/justSymbols.json | 14 +++++++ .../Completions/oneTwoThreePlusSymbols.json | 14 +++++++ .../symbolsPlusParamDefaultFunctions.json | 14 +++++++ .../Files/InvalidParameters_LF/main.bicep | 4 ++ .../main.diagnostics.bicep | 6 +++ .../InvalidParameters_LF/main.formatted.bicep | 4 ++ .../InvalidParameters_LF/main.symbols.bicep | 5 +++ .../InvalidParameters_LF/main.syntax.bicep | 37 ++++++++++++++++++ .../InvalidParameters_LF/main.tokens.bicep | 22 +++++++++++ .../main.diagnostics.bicep | 1 + .../Files/Parameters_LF/main.bicep | 5 +++ .../Parameters_LF/main.diagnostics.bicep | 5 +++ .../Files/Parameters_LF/main.formatted.bicep | 5 +++ .../Files/Parameters_LF/main.json | 7 +++- .../Files/Parameters_LF/main.symbols.bicep | 6 +++ .../Files/Parameters_LF/main.syntax.bicep | 39 +++++++++++++++++++ .../Files/Parameters_LF/main.tokens.bicep | 24 ++++++++++++ .../Diagnostics/DiagnosticBuilder.cs | 9 ++++- src/Bicep.Core/Semantics/Decorator.cs | 14 +++---- .../Namespaces/SystemNamespaceSymbol.cs | 35 +++++++++++++---- 20 files changed, 252 insertions(+), 18 deletions(-) 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 48e3416bc35..0116a976886 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/justSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/justSymbols.json @@ -650,6 +650,20 @@ "command": "editor.action.triggerParameterHints" } }, + { + "label": "invalidLength", + "kind": "field", + "detail": "invalidLength", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidLength", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidLength" + } + }, { "label": "json", "kind": "function", 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 4e74af698cb..5738b68b7aa 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/oneTwoThreePlusSymbols.json +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/oneTwoThreePlusSymbols.json @@ -692,6 +692,20 @@ "command": "editor.action.triggerParameterHints" } }, + { + "label": "invalidLength", + "kind": "field", + "detail": "invalidLength", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidLength", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidLength" + } + }, { "label": "json", "kind": "function", 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 2d209ea2ae0..575cc8a0aee 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/symbolsPlusParamDefaultFunctions.json +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/Completions/symbolsPlusParamDefaultFunctions.json @@ -650,6 +650,20 @@ "command": "editor.action.triggerParameterHints" } }, + { + "label": "invalidLength", + "kind": "field", + "detail": "invalidLength", + "deprecated": false, + "preselect": false, + "sortText": "2_invalidLength", + "insertTextFormat": "plainText", + "insertTextMode": "asIs", + "textEdit": { + "range": {}, + "newText": "invalidLength" + } + }, { "label": "json", "kind": "function", diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.bicep b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.bicep index 1bcbedc8101..2b3ab2df830 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.bicep @@ -415,5 +415,9 @@ param unaryMinusOnFunction int @maxLength(4) param duplicateDecorators string +@minLength(-1) +@maxLength(-100) +param invalidLength string + // unterminated multi-line comment /* diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.diagnostics.bicep index ccb1df03dea..5c0423fa0b1 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.diagnostics.bicep @@ -618,6 +618,12 @@ param unaryMinusOnFunction int //@[0:13) [BCP166 (Error)] Duplicate "maxLength" decorator. |@maxLength(4)| param duplicateDecorators string +@minLength(-1) +//@[11:13) [BCP168 (Error)] Length must not be a negative value. |-1| +@maxLength(-100) +//@[11:15) [BCP168 (Error)] Length must not be a negative value. |-100| +param invalidLength string + // unterminated multi-line comment /* //@[0:7) [BCP002 (Error)] The multi-line comment at this location is not terminated. Terminate it with the */ character sequence. |/* \n| diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.formatted.bicep index 530f5ea9583..9bae494f6f0 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.formatted.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.formatted.bicep @@ -408,6 +408,10 @@ param unaryMinusOnFunction int @maxLength(4) param duplicateDecorators string +@minLength(-1) +@maxLength(-100) +param invalidLength string + // unterminated multi-line comment /* diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.symbols.bicep index b5c4f0588d8..1ce9fa1cd93 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.symbols.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.symbols.bicep @@ -512,6 +512,11 @@ param unaryMinusOnFunction int param duplicateDecorators string //@[6:25) Parameter duplicateDecorators. Type: string. Declaration start char: 0, length: 98 +@minLength(-1) +@maxLength(-100) +param invalidLength string +//@[6:19) Parameter invalidLength. Type: string. Declaration start char: 0, length: 58 + // unterminated multi-line comment /* diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.syntax.bicep index 3130a902fd5..50f91c204cc 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.syntax.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.syntax.bicep @@ -2726,6 +2726,43 @@ param duplicateDecorators string //@[26:32) Identifier |string| //@[32:34) NewLine |\n\n| +@minLength(-1) +//@[0:58) ParameterDeclarationSyntax +//@[0:14) DecoratorSyntax +//@[0:1) At |@| +//@[1:14) FunctionCallSyntax +//@[1:10) IdentifierSyntax +//@[1:10) Identifier |minLength| +//@[10:11) LeftParen |(| +//@[11:13) FunctionArgumentSyntax +//@[11:13) UnaryOperationSyntax +//@[11:12) Minus |-| +//@[12:13) IntegerLiteralSyntax +//@[12:13) Integer |1| +//@[13:14) RightParen |)| +//@[14:15) NewLine |\n| +@maxLength(-100) +//@[0:16) DecoratorSyntax +//@[0:1) At |@| +//@[1:16) FunctionCallSyntax +//@[1:10) IdentifierSyntax +//@[1:10) Identifier |maxLength| +//@[10:11) LeftParen |(| +//@[11:15) FunctionArgumentSyntax +//@[11:15) UnaryOperationSyntax +//@[11:12) Minus |-| +//@[12:15) IntegerLiteralSyntax +//@[12:15) Integer |100| +//@[15:16) RightParen |)| +//@[16:17) NewLine |\n| +param invalidLength string +//@[0:5) Identifier |param| +//@[6:19) IdentifierSyntax +//@[6:19) Identifier |invalidLength| +//@[20:26) TypeSyntax +//@[20:26) Identifier |string| +//@[26:28) NewLine |\n\n| + // unterminated multi-line comment //@[34:35) NewLine |\n| /* diff --git a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.tokens.bicep index bf566d47e14..ffcf502c555 100644 --- a/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.tokens.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidParameters_LF/main.tokens.bicep @@ -1749,6 +1749,28 @@ param duplicateDecorators string //@[26:32) Identifier |string| //@[32:34) NewLine |\n\n| +@minLength(-1) +//@[0:1) At |@| +//@[1:10) Identifier |minLength| +//@[10:11) LeftParen |(| +//@[11:12) Minus |-| +//@[12:13) Integer |1| +//@[13:14) RightParen |)| +//@[14:15) NewLine |\n| +@maxLength(-100) +//@[0:1) At |@| +//@[1:10) Identifier |maxLength| +//@[10:11) LeftParen |(| +//@[11:12) Minus |-| +//@[12:15) Integer |100| +//@[15:16) RightParen |)| +//@[16:17) NewLine |\n| +param invalidLength string +//@[0:5) Identifier |param| +//@[6:19) Identifier |invalidLength| +//@[20:26) Identifier |string| +//@[26:28) NewLine |\n\n| + // unterminated multi-line comment //@[34:35) NewLine |\n| /* diff --git a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep index ae8147ef2f9..19c166bd8b7 100644 --- a/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/InvalidResources_CRLF/main.diagnostics.bicep @@ -1630,6 +1630,7 @@ resource expressionsInPropertyLoopName 'Microsoft.Network/dnsZones@2018-05-01' = // resource loop body that isn't an object @batchSize(-1) +//@[11:13) [BCP154 (Error)] Expected a batch size of at least 1 but the specified value was "-1". |-1| resource nonObjectResourceLoopBody 'Microsoft.Network/dnsZones@2018-05-01' = [for thing in []: 'test'] //@[95:101) [BCP167 (Error)] Expected the "{" character or the "if" keyword at this location. |'test'| resource nonObjectResourceLoopBody2 'Microsoft.Network/dnsZones@2018-05-01' = [for thing in []: environment()] diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.bicep b/src/Bicep.Core.Samples/Files/Parameters_LF/main.bicep index 6c2b8d26f54..f693d020961 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.bicep +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.bicep @@ -219,6 +219,11 @@ param decoratedInt int = 123 @maxValue(-3) param negativeValues int +// negative zeros are valid lengths +@minLength(-0) +@maxLength(-0) +param negativeZeros string + // negative integer literals in modifiers param negativeModifiers int { minValue: -100 diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.diagnostics.bicep b/src/Bicep.Core.Samples/Files/Parameters_LF/main.diagnostics.bicep index 08d88043ed4..9cba0ea6e04 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.diagnostics.bicep +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.diagnostics.bicep @@ -231,6 +231,11 @@ param decoratedInt int = 123 @maxValue(-3) param negativeValues int +// negative zeros are valid lengths +@minLength(-0) +@maxLength(-0) +param negativeZeros string + // negative integer literals in modifiers param negativeModifiers int { //@[28:64) [BCP161 (Info)] Parameter modifiers are deprecated and will be removed in a future release. Use decorators instead (see https://aka.ms/BicepSpecParams for examples). |{\n minValue: -100\n maxValue: -33\n}| diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.formatted.bicep b/src/Bicep.Core.Samples/Files/Parameters_LF/main.formatted.bicep index be52caf33b9..3307d0d5475 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.formatted.bicep +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.formatted.bicep @@ -215,6 +215,11 @@ param decoratedInt int = 123 @maxValue(-3) param negativeValues int +// negative zeros are valid lengths +@minLength(-0) +@maxLength(-0) +param negativeZeros string + // negative integer literals in modifiers param negativeModifiers int { minValue: -100 diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.json b/src/Bicep.Core.Samples/Files/Parameters_LF/main.json index 4e3dc4d173c..3dfad29028a 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.json +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.json @@ -239,6 +239,11 @@ "maxValue": -3, "minValue": -10 }, + "negativeZeros": { + "type": "string", + "maxLength": 0, + "minLength": 0 + }, "negativeModifiers": { "type": "int", "minValue": -100, @@ -276,7 +281,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "1144572426517152891" + "templateHash": "1569062954108981413" } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.symbols.bicep b/src/Bicep.Core.Samples/Files/Parameters_LF/main.symbols.bicep index 0957892090e..c6a04bef9b4 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.symbols.bicep +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.symbols.bicep @@ -257,6 +257,12 @@ param decoratedInt int = 123 param negativeValues int //@[6:20) Parameter negativeValues. Type: int. Declaration start char: 0, length: 53 +// negative zeros are valid lengths +@minLength(-0) +@maxLength(-0) +param negativeZeros string +//@[6:19) Parameter negativeZeros. Type: string. Declaration start char: 0, length: 56 + // negative integer literals in modifiers param negativeModifiers int { //@[6:23) Parameter negativeModifiers. Type: int. Declaration start char: 0, length: 64 diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.syntax.bicep b/src/Bicep.Core.Samples/Files/Parameters_LF/main.syntax.bicep index 92df0a31a89..de1abe695ac 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.syntax.bicep +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.syntax.bicep @@ -1378,6 +1378,45 @@ param negativeValues int //@[21:24) Identifier |int| //@[24:26) NewLine |\n\n| +// negative zeros are valid lengths +//@[35:36) NewLine |\n| +@minLength(-0) +//@[0:56) ParameterDeclarationSyntax +//@[0:14) DecoratorSyntax +//@[0:1) At |@| +//@[1:14) FunctionCallSyntax +//@[1:10) IdentifierSyntax +//@[1:10) Identifier |minLength| +//@[10:11) LeftParen |(| +//@[11:13) FunctionArgumentSyntax +//@[11:13) UnaryOperationSyntax +//@[11:12) Minus |-| +//@[12:13) IntegerLiteralSyntax +//@[12:13) Integer |0| +//@[13:14) RightParen |)| +//@[14:15) NewLine |\n| +@maxLength(-0) +//@[0:14) DecoratorSyntax +//@[0:1) At |@| +//@[1:14) FunctionCallSyntax +//@[1:10) IdentifierSyntax +//@[1:10) Identifier |maxLength| +//@[10:11) LeftParen |(| +//@[11:13) FunctionArgumentSyntax +//@[11:13) UnaryOperationSyntax +//@[11:12) Minus |-| +//@[12:13) IntegerLiteralSyntax +//@[12:13) Integer |0| +//@[13:14) RightParen |)| +//@[14:15) NewLine |\n| +param negativeZeros string +//@[0:5) Identifier |param| +//@[6:19) IdentifierSyntax +//@[6:19) Identifier |negativeZeros| +//@[20:26) TypeSyntax +//@[20:26) Identifier |string| +//@[26:28) NewLine |\n\n| + // negative integer literals in modifiers //@[41:42) NewLine |\n| param negativeModifiers int { diff --git a/src/Bicep.Core.Samples/Files/Parameters_LF/main.tokens.bicep b/src/Bicep.Core.Samples/Files/Parameters_LF/main.tokens.bicep index 7a2299b50e7..6de06e7ede1 100644 --- a/src/Bicep.Core.Samples/Files/Parameters_LF/main.tokens.bicep +++ b/src/Bicep.Core.Samples/Files/Parameters_LF/main.tokens.bicep @@ -904,6 +904,30 @@ param negativeValues int //@[21:24) Identifier |int| //@[24:26) NewLine |\n\n| +// negative zeros are valid lengths +//@[35:36) NewLine |\n| +@minLength(-0) +//@[0:1) At |@| +//@[1:10) Identifier |minLength| +//@[10:11) LeftParen |(| +//@[11:12) Minus |-| +//@[12:13) Integer |0| +//@[13:14) RightParen |)| +//@[14:15) NewLine |\n| +@maxLength(-0) +//@[0:1) At |@| +//@[1:10) Identifier |maxLength| +//@[10:11) LeftParen |(| +//@[11:12) Minus |-| +//@[12:13) Integer |0| +//@[13:14) RightParen |)| +//@[14:15) NewLine |\n| +param negativeZeros string +//@[0:5) Identifier |param| +//@[6:19) Identifier |negativeZeros| +//@[20:26) Identifier |string| +//@[26:28) NewLine |\n\n| + // negative integer literals in modifiers //@[41:42) NewLine |\n| param negativeModifiers int { diff --git a/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs b/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs index 2ec0fb72f15..124e7cef04a 100644 --- a/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs +++ b/src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs @@ -699,7 +699,7 @@ public ErrorDiagnostic ArgumentCountMismatch(int argumentCount, int mininumArgum $"Unsupported scope for extension resource deployment. Expected a resource reference."); public Diagnostic RuntimePropertyNotAllowed(string property, IEnumerable usableProperties, string accessedSymbol, IEnumerable? variableDependencyChain) { - var variableDependencyChainClause = variableDependencyChain != null ? + var variableDependencyChainClause = variableDependencyChain != null ? $"You are referencing a variable which cannot be calculated in time (\"{string.Join("\" -> \"", variableDependencyChain)}\"). " : ""; return new ErrorDiagnostic( @@ -886,7 +886,7 @@ 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", @@ -948,6 +948,11 @@ public Diagnostic RuntimePropertyNotAllowed(string property, IEnumerable TextSpan, "BCP167", "Expected the \"{\" character or the \"if\" keyword at this location."); + + public ErrorDiagnostic LengthMustNotBeNegative() => new( + TextSpan, + "BCP168", + $"Length must not be a negative value."); } public static DiagnosticBuilderInternal ForPosition(TextSpan span) diff --git a/src/Bicep.Core/Semantics/Decorator.cs b/src/Bicep.Core/Semantics/Decorator.cs index e2552217bf0..8ac4ca3b51c 100644 --- a/src/Bicep.Core/Semantics/Decorator.cs +++ b/src/Bicep.Core/Semantics/Decorator.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. +// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using Bicep.Core.Diagnostics; using Bicep.Core.Syntax; @@ -45,18 +45,18 @@ public void Validate(DecoratorSyntax decoratorSyntax, TypeSymbol targetType, ITy return; } + if (!this.CanAttachTo(targetType)) + { + diagnosticWriter.Write(DiagnosticBuilder.ForPosition(decoratorSyntax).CannotAttachDecoratorToTarget(this.Overload.Name, attachableType, targetType)); + } + + // Custom validator provided. if (this.validator != null) { this.validator.Invoke(this.Overload.Name, decoratorSyntax, targetType, typeManager, diagnosticWriter); return; } - - // No custom validator provided. Just validate the target type. - if (!this.CanAttachTo(targetType)) - { - diagnosticWriter.Write(DiagnosticBuilder.ForPosition(decoratorSyntax).CannotAttachDecoratorToTarget(this.Overload.Name, attachableType, targetType)); - } } public ObjectSyntax? Evaluate(DecoratorSyntax decoratorSyntax, TypeSymbol targetType, ObjectSyntax? targetObject) diff --git a/src/Bicep.Core/Semantics/Namespaces/SystemNamespaceSymbol.cs b/src/Bicep.Core/Semantics/Namespaces/SystemNamespaceSymbol.cs index 666557251e3..3e09b075907 100644 --- a/src/Bicep.Core/Semantics/Namespaces/SystemNamespaceSymbol.cs +++ b/src/Bicep.Core/Semantics/Namespaces/SystemNamespaceSymbol.cs @@ -430,6 +430,24 @@ static DecoratorEvaluator MergeToTargetObject(string propertyName, Func decoratorSyntax.Arguments.Single().Expression; + static long? TryGetIntegerLiteralValue(SyntaxBase syntax) => syntax switch + { + UnaryOperationSyntax { Operator: UnaryOperator.Minus } unaryOperatorSyntax + when unaryOperatorSyntax.Expression is IntegerLiteralSyntax integerLiteralSyntax => -1 * integerLiteralSyntax.Value, + IntegerLiteralSyntax integerLiteralSyntax => integerLiteralSyntax.Value, + _ => null, + }; + + static void ValidateLength(string decoratorName, DecoratorSyntax decoratorSyntax, TypeSymbol targetType, ITypeManager typeManager, IDiagnosticWriter diagnosticWriter) + { + var lengthSyntax = SingleArgumentSelector(decoratorSyntax); + + if (TryGetIntegerLiteralValue(lengthSyntax) is not null and < 0) + { + diagnosticWriter.Write(DiagnosticBuilder.ForPosition(lengthSyntax).LengthMustNotBeNegative()); + } + } + yield return new DecoratorBuilder("secure") .WithDescription("Makes the parameter a secure parameter.") .WithFlags(FunctionFlags.ParameterDecorator) @@ -484,6 +502,7 @@ static DecoratorEvaluator MergeToTargetObject(string propertyName, Func Date: Tue, 16 Mar 2021 18:54:00 -0400 Subject: [PATCH 25/25] Add test framework to evaluate a template containing expressions (#1875) * Add framework to evaluate a template * Add more evaluation tests --- .../Bicep.Core.IntegrationTests.csproj | 1 + .../EvaluationTests.cs | 262 ++++++++++++++++++ .../TemplateEvaluator.cs | 189 +++++++++++++ 3 files changed, 452 insertions(+) create mode 100644 src/Bicep.Core.IntegrationTests/EvaluationTests.cs create mode 100644 src/Bicep.Core.IntegrationTests/TemplateEvaluator.cs diff --git a/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj b/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj index f73110a1a1f..115cadad25f 100644 --- a/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj +++ b/src/Bicep.Core.IntegrationTests/Bicep.Core.IntegrationTests.csproj @@ -13,6 +13,7 @@ + diff --git a/src/Bicep.Core.IntegrationTests/EvaluationTests.cs b/src/Bicep.Core.IntegrationTests/EvaluationTests.cs new file mode 100644 index 00000000000..b0e4b31c149 --- /dev/null +++ b/src/Bicep.Core.IntegrationTests/EvaluationTests.cs @@ -0,0 +1,262 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System; +using Bicep.Core.UnitTests.Assertions; +using Bicep.Core.UnitTests.Utils; +using FluentAssertions; +using FluentAssertions.Execution; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Newtonsoft.Json.Linq; + +namespace Bicep.Core.IntegrationTests +{ + [TestClass] + public class EvaluationTests + { + [TestMethod] + public void Basic_arithmetic_expressions_are_evaluated_successfully() + { + var (template, _, _) = CompilationHelper.Compile(@" +var sum = 1 + 3 +var mult = sum * 5 +var modulo = mult % 7 +var div = modulo / 11 +var sub = div - 13 + +output sum int = sum +output mult int = mult +output modulo int = modulo +output div int = div +output sub int = sub +"); + + using (new AssertionScope()) + { + var evaluated = TemplateEvaluator.Evaluate(template); + + evaluated.Should().HaveValueAtPath("$.outputs['sum'].value", 4); + evaluated.Should().HaveValueAtPath("$.outputs['mult'].value", 20); + evaluated.Should().HaveValueAtPath("$.outputs['modulo'].value", 6); + evaluated.Should().HaveValueAtPath("$.outputs['div'].value", 0); + evaluated.Should().HaveValueAtPath("$.outputs['sub'].value", -13); + } + } + + [TestMethod] + public void String_expressions_are_evaluated_successfully() + { + var (template, _, _) = CompilationHelper.Compile(@" +var bool = false +var int = 12948 +var str = 'hello!' +var obj = { + a: 'b' + '!c': 2 +} +var arr = [ + true + 2893 + 'abc' +] +var multiline = ''' +these escapes + are not + evaluted: +\r\n\t\\\'\${} +''' + +output literal string = str +output interp string = '>${bool}<>${int}<>${str}<>${obj}<>${arr}<' +output escapes string = '\r\n\t\\\'\${}' +output multiline string = multiline +"); + + using (new AssertionScope()) + { + var evaluated = TemplateEvaluator.Evaluate(template); + + evaluated.Should().HaveValueAtPath("$.outputs['literal'].value", "hello!"); + evaluated.Should().HaveValueAtPath("$.outputs['interp'].value", ">False<>12948<>hello!<>{'a':'b','!c':2}<>[true,2893,'abc']<"); + evaluated.Should().HaveValueAtPath("$.outputs['escapes'].value", "\r\n\t\\'${}"); + evaluated.Should().HaveValueAtPath("$.outputs['multiline'].value", "these escapes\n are not\n evaluted:\n\\r\\n\\t\\\\\\'\\${}\n"); + } + } + + [TestMethod] + public void ResourceId_expressions_are_evaluated_successfully() + { + var (template, _, _) = CompilationHelper.Compile(@" +param parentName string +param childName string + +resource existing1 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' +} + +resource existing2 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: resourceGroup('customRg') +} + +resource existing3 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: resourceGroup('2e518a80-f860-4467-a00e-d81aaf1ff42e', 'customRg') +} + +resource existing4 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: tenant() +} + +resource existing5 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: subscription() +} + +resource existing6 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: subscription('2e518a80-f860-4467-a00e-d81aaf1ff42e') +} + +resource existing7 'My.Rp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: managementGroup('2e518a80-f860-4467-a00e-d81aaf1ff42e') +} + +resource existing8 'My.ExtensionRp/parent/child@2020-01-01' existing = { + name: '${parentName}/${childName}' + scope: existing4 +} + +output resource1Id string = existing1.id +output resource2Id string = existing2.id +output resource3Id string = existing3.id +output resource4Id string = existing4.id +output resource5Id string = existing5.id +output resource6Id string = existing6.id +output resource7Id string = existing7.id +output resource8Id string = existing8.id + +output resource1Name string = existing1.name +output resource1ApiVersion string = existing1.apiVersion +output resource1Type string = existing1.type +"); + + using (new AssertionScope()) + { + var testSubscriptionId = "87d64d6d-6d17-4ad7-b507-16d9bc498781"; + var testRgName = "testRg"; + var evaluated = TemplateEvaluator.Evaluate(template, config => config with { + SubscriptionId = testSubscriptionId, + ResourceGroup = testRgName, + Parameters = new() { + ["parentName"] = "myParent", + ["childName"] = "myChild", + } + }); + + evaluated.Should().HaveValueAtPath("$.outputs['resource1Id'].value", $"/subscriptions/{testSubscriptionId}/resourceGroups/{testRgName}/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource2Id'].value", $"/subscriptions/{testSubscriptionId}/resourceGroups/customRg/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource3Id'].value", $"/subscriptions/2e518a80-f860-4467-a00e-d81aaf1ff42e/resourceGroups/customRg/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource4Id'].value", $"/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource5Id'].value", $"/subscriptions/{testSubscriptionId}/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource6Id'].value", $"/subscriptions/2e518a80-f860-4467-a00e-d81aaf1ff42e/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource7Id'].value", $"/providers/Microsoft.Management/managementGroups/2e518a80-f860-4467-a00e-d81aaf1ff42e/providers/My.Rp/parent/myParent/child/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource8Id'].value", $"/providers/My.Rp/parent/myParent/child/myChild/providers/My.ExtensionRp/parent/myParent/child/myChild"); + + evaluated.Should().HaveValueAtPath("$.outputs['resource1Name'].value", "myParent/myChild"); + evaluated.Should().HaveValueAtPath("$.outputs['resource1ApiVersion'].value", "2020-01-01"); + evaluated.Should().HaveValueAtPath("$.outputs['resource1Type'].value", "My.Rp/parent/child"); + } + } + + [TestMethod] + public void Comparisons_are_evaluated_correctly() + { + var (template, _, _) = CompilationHelper.Compile(@" +output less bool = 123 < 456 +output lessOrEquals bool = 123 <= 456 +output greater bool = 123 > 456 +output greaterOrEquals bool = 123 >= 456 +output equals bool = 123 == 456 +output not bool = !true +output and bool = true && false +output or bool = true || false +output coalesce int = null ?? 123 +"); + + using (new AssertionScope()) + { + var evaluated = TemplateEvaluator.Evaluate(template); + + evaluated.Should().HaveValueAtPath("$.outputs['less'].value", true); + evaluated.Should().HaveValueAtPath("$.outputs['lessOrEquals'].value", true); + evaluated.Should().HaveValueAtPath("$.outputs['greater'].value", false); + evaluated.Should().HaveValueAtPath("$.outputs['greaterOrEquals'].value", false); + evaluated.Should().HaveValueAtPath("$.outputs['equals'].value", false); + evaluated.Should().HaveValueAtPath("$.outputs['not'].value", false); + evaluated.Should().HaveValueAtPath("$.outputs['and'].value", false); + evaluated.Should().HaveValueAtPath("$.outputs['or'].value", true); + evaluated.Should().HaveValueAtPath("$.outputs['coalesce'].value", 123); + } + } + + [TestMethod] + public void Resource_property_access_works() + { + var (template, _, _) = CompilationHelper.Compile(@" +param abcVal string + +resource testRes 'My.Rp/res1@2020-01-01' = { + name: 'testRes' + properties: { + abc: abcVal + } +} + +output abcVal string = testRes.properties.abc +"); + + using (new AssertionScope()) + { + var evaluated = TemplateEvaluator.Evaluate(template, config => config with { + Parameters = new() { + ["abcVal"] = "test!!!", + }, + }); + + evaluated.Should().HaveValueAtPath("$.outputs['abcVal'].value", "test!!!"); + } + } + + [TestMethod] + public void Existing_resource_property_access_works() + { + var (template, _, _) = CompilationHelper.Compile(@" +resource testRes 'My.Rp/res1@2020-01-01' existing = { + name: 'testRes' +} + +output abcVal string = testRes.properties.abc +"); + + using (new AssertionScope()) + { + var evaluated = TemplateEvaluator.Evaluate(template, config => config with { + OnReferenceFunc = (resourceId, apiVersion, fullBody) => { + if (resourceId == $"/subscriptions/{config.SubscriptionId}/resourceGroups/{config.ResourceGroup}/providers/My.Rp/res1/testRes" && apiVersion == "2020-01-01" && !fullBody) + { + return new JObject { + ["abc"] = "test!!!", + }; + } + + throw new NotImplementedException(); + }, + }); + + evaluated.Should().HaveValueAtPath("$.outputs['abcVal'].value", "test!!!"); + } + } + } +} \ No newline at end of file diff --git a/src/Bicep.Core.IntegrationTests/TemplateEvaluator.cs b/src/Bicep.Core.IntegrationTests/TemplateEvaluator.cs new file mode 100644 index 00000000000..58102a8e9eb --- /dev/null +++ b/src/Bicep.Core.IntegrationTests/TemplateEvaluator.cs @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +using System.Collections.Generic; +using System; +using Newtonsoft.Json.Linq; +using Azure.Deployments.Templates.Engines; +using Azure.Deployments.Templates.Configuration; +using Azure.Deployments.Core.Collections; +using Azure.Deployments.Core.Instrumentation; +using Azure.Deployments.Templates.Schema; +using Azure.Deployments.Core.Extensions; +using Azure.Deployments.Expression.Engines; +using System.Linq; +using Azure.Deployments.Expression.Expressions; +using Azure.Deployments.Core.ErrorResponses; +using System.Collections.Immutable; + +namespace Bicep.Core.IntegrationTests +{ + public class TemplateEvaluator + { + const string TestTenantId = "d4c73686-f7cd-458e-b377-67adcd46b624"; + const string TestManagementGroupName = "3fc9f36e-8699-43af-b038-1c103980942f"; + const string TestSubscriptionId = "f91a30fd-f403-4999-ae9f-ec37a6d81e13"; + const string TestResourceGroupName = "testResourceGroup"; + const string TestLocation = "West US"; + + public delegate JToken OnListDelegate(string functionName, string resourceId, string apiVersion, JToken? body); + + public delegate JToken OnReferenceDelegate(string resourceId, string apiVersion, bool fullBody); + + public record EvaluationConfiguration( + string TenantId, + string ManagementGroup, + string SubscriptionId, + string ResourceGroup, + string RgLocation, + Dictionary Parameters, + OnListDelegate? OnListFunc, + OnReferenceDelegate? OnReferenceFunc) + { + public static EvaluationConfiguration Default = new( + TestTenantId, + TestManagementGroupName, + TestSubscriptionId, + TestResourceGroupName, + TestLocation, + new(), + null, + null + ); + } + + private static string GetResourceId(string scopeString, TemplateResource resource) + { + var typeSegments = resource.Type.Value.Split('/'); + var nameSegments = resource.Name.Value.Split('/'); + + var types = new [] { typeSegments.First() } + .Concat(typeSegments.Skip(1).Zip(nameSegments, (type, name) => $"{type}/{name}")); + + return $"{scopeString}providers/{string.Join('/', types)}"; + } + + private static void ProcessTemplateLanguageExpressions(Template template, EvaluationConfiguration config, TemplateDeploymentScope deploymentScope) + { + var scopeString = deploymentScope switch { + TemplateDeploymentScope.Tenant => "/", + TemplateDeploymentScope.ManagementGroup => $"/providers/Microsoft.Management/managementGroups/{config.ManagementGroup}/", + TemplateDeploymentScope.Subscription => $"/subscriptions/{config.SubscriptionId}/", + TemplateDeploymentScope.ResourceGroup => $"/subscriptions/{config.SubscriptionId}/resourceGroups/{config.ResourceGroup}/", + _ => throw new InvalidOperationException(), + }; + + var resourceLookup = template.Resources.ToOrdinalInsensitiveDictionary(x => GetResourceId(scopeString, x)); + + var evaluationContext = TemplateEngine.GetExpressionEvaluationContext(template); + var defaultEvaluateFunction = evaluationContext.EvaluateFunction; + evaluationContext.EvaluateFunction = (FunctionExpression functionExpression, JToken[] parameters, TemplateErrorAdditionalInfo additionalInfo) => + { + if (functionExpression.Function.StartsWithOrdinalInsensitively("list") && config.OnListFunc is not null) + { + return config.OnListFunc( + functionExpression.Function, + parameters[0].ToString(), + parameters[1].ToString(), + parameters.Length > 2 ? parameters[2] : null); + } + + if (functionExpression.Function.EqualsOrdinalInsensitively("reference")) + { + var resourceId = parameters[0].ToString(); + var apiVersion = parameters.Length > 1 ? parameters[1].ToString() : null; + var fullBody = parameters.Length > 2 ? parameters[2].ToString().EqualsOrdinalInsensitively("Full") : false; + + if (resourceLookup.TryGetValue(resourceId, out var foundResource) && + (apiVersion is null || StringComparer.OrdinalIgnoreCase.Equals(apiVersion, foundResource.ApiVersion.Value))) + { + return fullBody ? foundResource.ToJToken() : foundResource.Properties.ToJToken(); + } + + if (apiVersion is not null && config.OnReferenceFunc is not null) + { + return config.OnReferenceFunc(resourceId, apiVersion, fullBody); + } + } + + var value = defaultEvaluateFunction(functionExpression, parameters, additionalInfo); + return value; + }; + + for (int i = 0; i < template.Resources.Length; i++) + { + var resource = template.Resources[i]; + + resource.Properties.Value = ExpressionsEngine.EvaluateLanguageExpressionsRecursive( + root: resource.Properties.Value, + evaluationContext: evaluationContext); + } + + if (template.Outputs is not null && template.Outputs.Count > 0) + { + foreach (var outputKey in template.Outputs.Keys.ToList()) + { + template.Outputs[outputKey].Value.Value = ExpressionsEngine.EvaluateLanguageExpressionsRecursive( + root: template.Outputs[outputKey].Value.Value, + evaluationContext: evaluationContext); + } + } + } + + public static JToken Evaluate(JToken? templateJtoken, Func? configurationBuilder = null) + { + var configuration = EvaluationConfiguration.Default; + + if (configurationBuilder is not null) + { + configuration = configurationBuilder(configuration); + } + + return EvaluateTemplate(templateJtoken, configuration); + } + + private static JToken EvaluateTemplate(JToken? templateJtoken, EvaluationConfiguration config) + { + DeploymentsInterop.Initialize(); + + templateJtoken = templateJtoken ?? throw new ArgumentNullException(nameof(templateJtoken)); + + var deploymentScope = templateJtoken["$schema"]?.ToString() switch { + "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#" => TemplateDeploymentScope.Tenant, + "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#" => TemplateDeploymentScope.ManagementGroup, + "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#" => TemplateDeploymentScope.Subscription, + "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#" => TemplateDeploymentScope.ResourceGroup, + _ => throw new InvalidOperationException(), + }; + + var metadata = new InsensitiveDictionary(); + if (deploymentScope == TemplateDeploymentScope.Subscription || deploymentScope == TemplateDeploymentScope.ResourceGroup) + { + metadata["subscription"] = new JObject { + ["id"] = $"/subscriptions/{config.SubscriptionId}", + ["subscriptionId"] = config.SubscriptionId, + ["tenantId"] = config.TenantId, + }; + } + if (deploymentScope == TemplateDeploymentScope.ResourceGroup) + { + metadata["resourceGroup"] = new JObject { + ["id"] = $"/subscriptions/{config.SubscriptionId}/resourceGroups/{config.ResourceGroup}", + ["location"] = config.RgLocation, + }; + }; + + var template = TemplateEngine.ParseTemplate(templateJtoken.ToString()); + + TemplateEngine.ValidateTemplate(template, "2020-06-01", deploymentScope); + TemplateEngine.ParameterizeTemplate(template, new InsensitiveDictionary(config.Parameters), metadata, new InsensitiveDictionary()); + + TemplateEngine.ProcessTemplateLanguageExpressions(template, "2020-06-01"); + + ProcessTemplateLanguageExpressions(template, config, deploymentScope); + + TemplateEngine.ValidateProcessedTemplate(template, "2020-06-01", deploymentScope); + + return template.ToJToken(); + } + } +} \ No newline at end of file