From 94d11ab99654c2e657f69a1197c98606befcf632 Mon Sep 17 00:00:00 2001 From: Anthony Martin <38542602+anthony-c-martin@users.noreply.github.com> Date: Sat, 16 Sep 2023 18:29:47 -0400 Subject: [PATCH] Update Bicep grammar with recent additions (#850) --- lexers/embedded/bicep.xml | 84 +- .../bicep/bicep-coalesce-operator.expected | 16 +- lexers/testdata/bicep/bicep-comments.actual | 15 +- lexers/testdata/bicep/bicep-comments.expected | 99 +- lexers/testdata/bicep/bicep-directives.actual | 24 + .../testdata/bicep/bicep-directives.expected | 154 +++ .../bicep/bicep-function-any.expected | 10 +- .../bicep/bicep-function-deployment.expected | 4 +- .../bicep/bicep-function-logical.expected | 24 +- lexers/testdata/bicep/bicep-lambdas.actual | 66 ++ lexers/testdata/bicep/bicep-lambdas.expected | 937 ++++++++++++++++++ lexers/testdata/bicep/bicep-module.expected | 91 +- .../bicep/bicep-newlinesensitivity.actual | 65 ++ .../bicep/bicep-newlinesensitivity.expected | 348 +++++++ lexers/testdata/bicep/bicep-output.expected | 10 +- .../bicep/bicep-parameter-decoration.expected | 15 +- .../bicep/bicep-resource-conditional.expected | 32 +- .../bicep/bicep-resource-multiple.expected | 38 +- ...bicep-string-singleline-multiline.expected | 18 +- .../testdata/bicep/bicep-targetScope.expected | 16 +- lexers/testdata/bicep/bicep-types.actual | 7 + lexers/testdata/bicep/bicep-types.expected | 37 + ...cep-variable-string-interpolation.expected | 19 +- 23 files changed, 1932 insertions(+), 197 deletions(-) create mode 100644 lexers/testdata/bicep/bicep-directives.actual create mode 100644 lexers/testdata/bicep/bicep-directives.expected create mode 100644 lexers/testdata/bicep/bicep-lambdas.actual create mode 100644 lexers/testdata/bicep/bicep-lambdas.expected create mode 100644 lexers/testdata/bicep/bicep-newlinesensitivity.actual create mode 100644 lexers/testdata/bicep/bicep-newlinesensitivity.expected create mode 100644 lexers/testdata/bicep/bicep-types.actual create mode 100644 lexers/testdata/bicep/bicep-types.expected diff --git a/lexers/embedded/bicep.xml b/lexers/embedded/bicep.xml index 1efc9c8ae..db90f31b3 100644 --- a/lexers/embedded/bicep.xml +++ b/lexers/embedded/bicep.xml @@ -5,63 +5,79 @@ *.bicep - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - + + + + - + - - + + + - - + + - + - - - - - - - - - - + - - + + - + - - + + - - + + diff --git a/lexers/testdata/bicep/bicep-coalesce-operator.expected b/lexers/testdata/bicep/bicep-coalesce-operator.expected index e63bab154..58f2cb210 100644 --- a/lexers/testdata/bicep/bicep-coalesce-operator.expected +++ b/lexers/testdata/bicep/bicep-coalesce-operator.expected @@ -1,25 +1,25 @@ [ {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"nonNullStr"}, + {"type":"NameVariable","value":"nonNullStr"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"myObject"}, + {"type":"NameVariable","value":"myObject"}, {"type":"Punctuation","value":"."}, - {"type":"Text","value":"isnull1"}, + {"type":"NameVariable","value":"isnull1"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"??"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"myObject"}, + {"type":"NameVariable","value":"myObject"}, {"type":"Punctuation","value":"."}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"??"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"myObject"}, + {"type":"NameVariable","value":"myObject"}, {"type":"Punctuation","value":"."}, - {"type":"Text","value":"isnull2"} + {"type":"NameVariable","value":"isnull2"} ] diff --git a/lexers/testdata/bicep/bicep-comments.actual b/lexers/testdata/bicep/bicep-comments.actual index ffd4c8aa4..efaab1d01 100644 --- a/lexers/testdata/bicep/bicep-comments.actual +++ b/lexers/testdata/bicep/bicep-comments.actual @@ -6,4 +6,17 @@ resource nic1 'Microsoft.Network/networkInterfaces@2020-06-01' = { This Bicep file assumes the key vault already exists and is in same subscription and resource group as the deployment. */ -param existingKeyVaultName string \ No newline at end of file +param existingKeyVaultName string + +resource test 'Microsoft.AAD/domainServices@2021-03-01' = { + name: 'asdfsdf' + // this is a comment + properties: {/*comment*/ + domainConfigurationType/*comment*/:/*comment*/'as//notacomment!d/* also not a comment */fsdf'// test!/* + /* multi + line + comment */ domainName: /* + asdf*/'test' + // comment + } +} \ No newline at end of file diff --git a/lexers/testdata/bicep/bicep-comments.expected b/lexers/testdata/bicep/bicep-comments.expected index f769fe688..46b1a11e2 100644 --- a/lexers/testdata/bicep/bicep-comments.expected +++ b/lexers/testdata/bicep/bicep-comments.expected @@ -3,7 +3,7 @@ {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"resource"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"nic1"}, + {"type":"NameVariable","value":"nic1"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralString","value":"'Microsoft.Network/networkInterfaces@2020-06-01'"}, {"type":"TextWhitespace","value":" "}, @@ -15,52 +15,107 @@ {"type":"TextWhitespace","value":"\n\n"}, {"type":"Operator","value":"/*"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"Text","value":"This"}, + {"type":"NameVariable","value":"This"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"Bicep"}, + {"type":"NameVariable","value":"Bicep"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"file"}, + {"type":"NameVariable","value":"file"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"assumes"}, + {"type":"NameVariable","value":"assumes"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"the"}, + {"type":"NameVariable","value":"the"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"key"}, + {"type":"NameVariable","value":"key"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"vault"}, + {"type":"NameVariable","value":"vault"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"already"}, + {"type":"NameVariable","value":"already"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"exists"}, + {"type":"NameVariable","value":"exists"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"and"}, + {"type":"NameVariable","value":"and"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"Text","value":"is"}, + {"type":"NameVariable","value":"is"}, {"type":"TextWhitespace","value":" "}, - {"type":"Keyword","value":"in"}, + {"type":"KeywordDeclaration","value":"in"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"same"}, + {"type":"NameVariable","value":"same"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"subscription"}, + {"type":"NameVariable","value":"subscription"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"and"}, + {"type":"NameVariable","value":"and"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordDeclaration","value":"resource"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"group"}, + {"type":"NameVariable","value":"group"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"as"}, + {"type":"KeywordDeclaration","value":"as"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"the"}, + {"type":"NameVariable","value":"the"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"deployment"}, + {"type":"NameVariable","value":"deployment"}, {"type":"Punctuation","value":"."}, {"type":"TextWhitespace","value":"\n"}, {"type":"Operator","value":"*/"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"existingKeyVaultName"}, + {"type":"NameVariable","value":"existingKeyVaultName"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"} + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"resource"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"test"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Microsoft.AAD/domainServices@2021-03-01'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'asdfsdf'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"CommentSingle","value":"// this is a comment"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"properties"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"CommentMultiline","value":"/*comment*/"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"domainConfigurationType"}, + {"type":"CommentMultiline","value":"/*comment*/"}, + {"type":"Punctuation","value":":"}, + {"type":"CommentMultiline","value":"/*comment*/"}, + {"type":"LiteralString","value":"'as//notacomment!d/* also not a comment */fsdf'"}, + {"type":"CommentSingle","value":"// test!/*"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Operator","value":"/*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"multi"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"line"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"comment"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*/"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"domainName"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"/*"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"asdf"}, + {"type":"Operator","value":"*/"}, + {"type":"LiteralString","value":"'test'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"CommentSingle","value":"// comment"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"} ] diff --git a/lexers/testdata/bicep/bicep-directives.actual b/lexers/testdata/bicep/bicep-directives.actual new file mode 100644 index 000000000..75f84b49a --- /dev/null +++ b/lexers/testdata/bicep/bicep-directives.actual @@ -0,0 +1,24 @@ +var vmProperties = { + diagnosticsProfile: { + bootDiagnostics: { + enabled: 123 + storageUri: true + unknownProp: 'asdf' + } + } + evictionPolicy: 'Deallocate' +} +resource vm 'Microsoft.Compute/virtualMachines@2020-12-01' = { + name: 'vm' + location: 'West US' +#disable-next-line BCP036 BCP037 + properties: vmProperties +} +#disable-next-line no-unused-params +param storageAccount1 string = 'testStorageAccount' +#disable-next-line no-unused-params +param storageAccount2 string = 'testStorageAccount' +#disable-next-line no-unused-params /* Test comment 1 */ +param storageAccount3 string = 'testStorageAccount' + #disable-next-line no-unused-params // Test comment 2 +param storageAccount5 string = 'testStorageAccount' \ No newline at end of file diff --git a/lexers/testdata/bicep/bicep-directives.expected b/lexers/testdata/bicep/bicep-directives.expected new file mode 100644 index 000000000..67d0e5fd2 --- /dev/null +++ b/lexers/testdata/bicep/bicep-directives.expected @@ -0,0 +1,154 @@ +[ + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"vmProperties"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"diagnosticsProfile"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"bootDiagnostics"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"enabled"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"123"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"storageUri"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"KeywordConstant","value":"true"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"unknownProp"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'asdf'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"evictionPolicy"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Deallocate'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"resource"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"vm"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Microsoft.Compute/virtualMachines@2020-12-01'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'vm'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"location"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'West US'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"CommentPreproc","value":"#disable-next-line"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"BCP036"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"BCP037"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"properties"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"vmProperties"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"CommentPreproc","value":"#disable-next-line"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"no"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"unused"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"params"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"param"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"storageAccount1"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'testStorageAccount'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"CommentPreproc","value":"#disable-next-line"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"no"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"unused"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"params"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"param"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"storageAccount2"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'testStorageAccount'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"CommentPreproc","value":"#disable-next-line"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"no"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"unused"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"params"}, + {"type":"TextWhitespace","value":" "}, + {"type":"CommentMultiline","value":"/* Test comment 1 */"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"param"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"storageAccount3"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'testStorageAccount'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"CommentPreproc","value":"#disable-next-line"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"no"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"unused"}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"params"}, + {"type":"TextWhitespace","value":" "}, + {"type":"CommentSingle","value":"// Test comment 2"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"param"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"storageAccount5"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'testStorageAccount'"} +] diff --git a/lexers/testdata/bicep/bicep-function-any.expected b/lexers/testdata/bicep/bicep-function-any.expected index 79a5902cb..d041143d6 100644 --- a/lexers/testdata/bicep/bicep-function-any.expected +++ b/lexers/testdata/bicep/bicep-function-any.expected @@ -1,10 +1,10 @@ [ - {"type":"NameProperty","value":"publicIPAddress"}, + {"type":"NameVariable","value":"publicIPAddress"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"NameFunction","value":"any"}, {"type":"Punctuation","value":"(("}, - {"type":"Text","value":"pipId"}, + {"type":"NameVariable","value":"pipId"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"=="}, {"type":"TextWhitespace","value":" "}, @@ -13,16 +13,16 @@ {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"?"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"null"}, + {"type":"KeywordConstant","value":"null"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"id"}, + {"type":"NameVariable","value":"id"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"pipId"}, + {"type":"NameVariable","value":"pipId"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"})"} ] diff --git a/lexers/testdata/bicep/bicep-function-deployment.expected b/lexers/testdata/bicep/bicep-function-deployment.expected index 395e883a8..954f84e56 100644 --- a/lexers/testdata/bicep/bicep-function-deployment.expected +++ b/lexers/testdata/bicep/bicep-function-deployment.expected @@ -1,9 +1,9 @@ [ {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"deploymentOutput"}, + {"type":"NameVariable","value":"deploymentOutput"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"object"}, + {"type":"NameVariable","value":"object"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, diff --git a/lexers/testdata/bicep/bicep-function-logical.expected b/lexers/testdata/bicep/bicep-function-logical.expected index 48d2fd482..0d9f3b343 100644 --- a/lexers/testdata/bicep/bicep-function-logical.expected +++ b/lexers/testdata/bicep/bicep-function-logical.expected @@ -1,53 +1,53 @@ [ {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"trueString"}, + {"type":"NameVariable","value":"trueString"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"bool"}, + {"type":"NameVariable","value":"bool"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, {"type":"NameFunction","value":"bool"}, {"type":"Punctuation","value":"("}, - {"type":"LiteralStringInterpol","value":"'true'"}, + {"type":"LiteralString","value":"'true'"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"falseString"}, + {"type":"NameVariable","value":"falseString"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"bool"}, + {"type":"NameVariable","value":"bool"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, {"type":"NameFunction","value":"bool"}, {"type":"Punctuation","value":"("}, - {"type":"LiteralStringInterpol","value":"'false'"}, + {"type":"LiteralString","value":"'false'"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"trueInt"}, + {"type":"NameVariable","value":"trueInt"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"bool"}, + {"type":"NameVariable","value":"bool"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, {"type":"NameFunction","value":"bool"}, {"type":"Punctuation","value":"("}, - {"type":"Text","value":"1"}, + {"type":"NameVariable","value":"1"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"falseInt"}, + {"type":"NameVariable","value":"falseInt"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"bool"}, + {"type":"NameVariable","value":"bool"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, {"type":"NameFunction","value":"bool"}, {"type":"Punctuation","value":"("}, - {"type":"Text","value":"0"}, + {"type":"NameVariable","value":"0"}, {"type":"Punctuation","value":")"} ] diff --git a/lexers/testdata/bicep/bicep-lambdas.actual b/lexers/testdata/bicep/bicep-lambdas.actual new file mode 100644 index 000000000..84b18fa07 --- /dev/null +++ b/lexers/testdata/bicep/bicep-lambdas.actual @@ -0,0 +1,66 @@ +var doggos = [ + 'Evie' + 'Casper' + 'Indy' + 'Kira' +] + +var numbers = range(0, 4) + +var sayHello = map(doggos, i => 'Hello ${i}!') + +var isEven = filter(numbers, i => 0 == i % 2) + +var evenDoggosNestedLambdas = map(filter(numbers, i => contains(filter(numbers, j => 0 == j % 2), i)), x => doggos[x]) + +var flattenedArrayOfArrays = flatten([[0, 1], [2, 3], [4, 5]]) +var flattenedEmptyArray = flatten([]) + +var mapSayHi = map(['abc', 'def', 'ghi'], foo => 'Hi ${foo}!') +var mapEmpty = map([], foo => 'Hi ${foo}!') +var mapObject = map(range(0, length(doggos)), i => { + i: i + doggo: doggos[i] + greeting: 'Ahoy, ${doggos[i]}!' +}) +var mapArray = flatten(map(range(1, 3), i => [i * 2, (i * 2) + 1])) +var mapMultiLineArray = flatten(map(range(1, 3), i => [ + i * 3 + (i * 3) + 1 + (i * 3) + 2 +])) + +var filterEqualityCheck = filter(['abc', 'def', 'ghi'], foo => 'def' == foo) +var filterEmpty = filter([], foo => 'def' == foo) + +var sortNumeric = sort([8, 3, 10, -13, 5], (x, y) => x < y) +var sortAlpha = sort(['ghi', 'abc', 'def'], (x, y) => x < y) +var sortAlphaReverse = sort(['ghi', 'abc', 'def'], (x, y) => x > y) +var sortByObjectKey = sort([ + { key: 124, name: 'Second' } + { key: 298, name: 'Third' } + { key: 24, name: 'First' } + { key: 1232, name: 'Fourth' } +], (x, y) => int(x.key) < int(y.key)) +var sortEmpty = sort([], (x, y) => int(x) < int(y)) + +var reduceStringConcat = reduce(['abc', 'def', 'ghi'], '', (cur, next) => concat(cur, next)) +var reduceFactorial = reduce(range(1, 5), 1, (cur, next) => cur * next) +var reduceObjectUnion = reduce([ + { foo: 123 } + { bar: 456 } + { baz: 789 } +], {}, (cur, next) => union(cur, next)) +var reduceEmpty = reduce([], 0, (cur, next) => cur) + +var itemForLoop = [for item in range(0, 10): item] +var filteredLoop = filter(itemForLoop, i => i > 5) + +output doggoGreetings array = [for item in mapObject: item.greeting] + +resource storageAcc 'Microsoft.Storage/storageAccounts@2021-09-01' existing = { + name: 'asdfsadf' +} +var mappedResProps = map(items(storageAcc.properties.secondaryEndpoints), item => item.value) + +var parentheses = map([123], (i => '${i}')) \ No newline at end of file diff --git a/lexers/testdata/bicep/bicep-lambdas.expected b/lexers/testdata/bicep/bicep-lambdas.expected new file mode 100644 index 000000000..51ae5caaf --- /dev/null +++ b/lexers/testdata/bicep/bicep-lambdas.expected @@ -0,0 +1,937 @@ +[ + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"doggos"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'Evie'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'Casper'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'Indy'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'Kira'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"numbers"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"range"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"0"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"4"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"sayHello"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"doggos"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Hello "}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"i"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"!'"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"isEven"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"filter"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"numbers"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"0"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"=="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"%"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"2"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"evenDoggosNestedLambdas"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"filter"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"numbers"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"contains"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"filter"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"numbers"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"j"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"0"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"=="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"j"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"%"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"2"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"Punctuation","value":")),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"x"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"doggos"}, + {"type":"Punctuation","value":"["}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":"])"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"flattenedArrayOfArrays"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"flatten"}, + {"type":"Punctuation","value":"([["}, + {"type":"NameVariable","value":"0"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"1"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"NameVariable","value":"2"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"NameVariable","value":"4"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"5"}, + {"type":"Punctuation","value":"]])"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"flattenedEmptyArray"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"flatten"}, + {"type":"Punctuation","value":"([])"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mapSayHi"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Hi "}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"foo"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"!'"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mapEmpty"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"([],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Hi "}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"foo"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"!'"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mapObject"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"range"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"0"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"length"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"doggos"}, + {"type":"Punctuation","value":")),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"i"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"doggo"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"doggos"}, + {"type":"Punctuation","value":"["}, + {"type":"NameVariable","value":"i"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"greeting"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Ahoy, "}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"doggos"}, + {"type":"Punctuation","value":"["}, + {"type":"NameVariable","value":"i"}, + {"type":"Punctuation","value":"]"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"!'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"})"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mapArray"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"flatten"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"range"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"1"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"2"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"2"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"+"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"1"}, + {"type":"Punctuation","value":"]))"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mapMultiLineArray"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"flatten"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"range"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"1"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"+"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"1"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"+"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"2"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"]))"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"filterEqualityCheck"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"filter"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"=="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"filterEmpty"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"filter"}, + {"type":"Punctuation","value":"([],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"=="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"sortNumeric"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"sort"}, + {"type":"Punctuation","value":"(["}, + {"type":"NameVariable","value":"8"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"3"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"10"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"-"}, + {"type":"NameVariable","value":"13"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"5"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"x"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"\u003c"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"sortAlpha"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"sort"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"x"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"\u003c"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"sortAlphaReverse"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"sort"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"x"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"sortByObjectKey"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"sort"}, + {"type":"Punctuation","value":"(["}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"key"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"124"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Second'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"key"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"298"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Third'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"key"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"24"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'First'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"key"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"1232"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Fourth'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"int"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":"."}, + {"type":"NameVariable","value":"key"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"\u003c"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"int"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":"."}, + {"type":"NameVariable","value":"key"}, + {"type":"Punctuation","value":"))"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"sortEmpty"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"sort"}, + {"type":"Punctuation","value":"([],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"int"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"x"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"\u003c"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"int"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"y"}, + {"type":"Punctuation","value":"))"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"reduceStringConcat"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"reduce"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"''"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":"))"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"reduceFactorial"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"reduce"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"range"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"1"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"5"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"1"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"cur"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"reduceObjectUnion"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"reduce"}, + {"type":"Punctuation","value":"(["}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"123"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"bar"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"456"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"baz"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"789"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{},"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"union"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":"))"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"reduceEmpty"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"reduce"}, + {"type":"Punctuation","value":"([],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"0"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"next"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"cur"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"itemForLoop"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"KeywordDeclaration","value":"for"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"item"}, + {"type":"TextWhitespace","value":" "}, + {"type":"KeywordDeclaration","value":"in"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"range"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"0"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"10"}, + {"type":"Punctuation","value":"):"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"item"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"filteredLoop"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"filter"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"itemForLoop"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"5"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"output"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"doggoGreetings"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"array"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"KeywordDeclaration","value":"for"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"item"}, + {"type":"TextWhitespace","value":" "}, + {"type":"KeywordDeclaration","value":"in"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mapObject"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"item"}, + {"type":"Punctuation","value":"."}, + {"type":"NameVariable","value":"greeting"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"resource"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"storageAcc"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'Microsoft.Storage/storageAccounts@2021-09-01'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"KeywordDeclaration","value":"existing"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"name"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'asdfsadf'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mappedResProps"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"items"}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"storageAcc"}, + {"type":"Punctuation","value":"."}, + {"type":"NameVariable","value":"properties"}, + {"type":"Punctuation","value":"."}, + {"type":"NameVariable","value":"secondaryEndpoints"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"item"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"item"}, + {"type":"Punctuation","value":"."}, + {"type":"NameVariable","value":"value"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"parentheses"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"map"}, + {"type":"Punctuation","value":"(["}, + {"type":"NameVariable","value":"123"}, + {"type":"Punctuation","value":"],"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"("}, + {"type":"NameVariable","value":"i"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"=\u003e"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'"}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"i"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"'"}, + {"type":"Punctuation","value":"))"} +] diff --git a/lexers/testdata/bicep/bicep-module.expected b/lexers/testdata/bicep/bicep-module.expected index cd8824887..d4c8e9ffb 100644 --- a/lexers/testdata/bicep/bicep-module.expected +++ b/lexers/testdata/bicep/bicep-module.expected @@ -1,55 +1,66 @@ [ {"type":"Punctuation","value":"@"}, - {"type":"NameDecorator","value":"minLength"}, + {"type":"NameFunction","value":"minLength"}, {"type":"Punctuation","value":"("}, - {"type":"Text","value":"3"}, + {"type":"NameVariable","value":"3"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"@"}, - {"type":"NameDecorator","value":"maxLength"}, + {"type":"NameFunction","value":"maxLength"}, {"type":"Punctuation","value":"("}, - {"type":"Text","value":"11"}, + {"type":"NameVariable","value":"11"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storagePrefix"}, + {"type":"NameVariable","value":"storagePrefix"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageSKU"}, + {"type":"NameVariable","value":"storageSKU"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'Standard_LRS'"}, + {"type":"LiteralString","value":"'Standard_LRS'"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, {"type":"NameFunction","value":"resourceGroup"}, {"type":"Punctuation","value":"()."}, - {"type":"Text","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"KeywordDeclaration","value":"var"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"uniqueStorageName"}, + {"type":"NameVariable","value":"uniqueStorageName"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'${storagePrefix}${uniqueString(resourceGroup().id)}'"}, + {"type":"LiteralString","value":"'"}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"storagePrefix"}, + {"type":"LiteralStringInterpol","value":"}${"}, + {"type":"NameFunction","value":"uniqueString"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"resourceGroup"}, + {"type":"Punctuation","value":"()."}, + {"type":"NameVariable","value":"id"}, + {"type":"Punctuation","value":")"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"'"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"KeywordDeclaration","value":"resource"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"stg"}, + {"type":"NameVariable","value":"stg"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralString","value":"'Microsoft.Storage/storageAccounts@2019-04-01'"}, {"type":"TextWhitespace","value":" "}, @@ -57,42 +68,42 @@ {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"uniqueStorageName"}, + {"type":"NameVariable","value":"uniqueStorageName"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"sku"}, + {"type":"NameVariable","value":"sku"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageSKU"}, + {"type":"NameVariable","value":"storageSKU"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"kind"}, + {"type":"NameVariable","value":"kind"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'StorageV2'"}, + {"type":"LiteralString","value":"'StorageV2'"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"properties"}, + {"type":"NameVariable","value":"properties"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"supportsHttpsTrafficOnly"}, + {"type":"NameVariable","value":"supportsHttpsTrafficOnly"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"true"}, + {"type":"KeywordConstant","value":"true"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n"}, @@ -100,7 +111,7 @@ {"type":"TextWhitespace","value":"\n\n"}, {"type":"KeywordDeclaration","value":"module"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"webModule"}, + {"type":"NameVariable","value":"webModule"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralString","value":"'./webApp.bicep'"}, {"type":"TextWhitespace","value":" "}, @@ -108,25 +119,25 @@ {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"'name'"}, + {"type":"LiteralString","value":"'name'"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'webDeploy'"}, + {"type":"LiteralString","value":"'webDeploy'"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"'params'"}, + {"type":"LiteralString","value":"'params'"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"'skuName'"}, + {"type":"LiteralString","value":"'skuName'"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'S1'"}, + {"type":"LiteralString","value":"'S1'"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"'location'"}, + {"type":"LiteralString","value":"'location'"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n"}, @@ -134,15 +145,15 @@ {"type":"TextWhitespace","value":"\n\n"}, {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageEndpoint"}, + {"type":"NameVariable","value":"storageEndpoint"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"object"}, + {"type":"NameVariable","value":"object"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"stg"}, + {"type":"NameVariable","value":"stg"}, {"type":"Punctuation","value":"."}, - {"type":"Text","value":"properties"}, + {"type":"NameVariable","value":"properties"}, {"type":"Punctuation","value":"."}, - {"type":"Text","value":"primaryEndpoints"} + {"type":"NameVariable","value":"primaryEndpoints"} ] diff --git a/lexers/testdata/bicep/bicep-newlinesensitivity.actual b/lexers/testdata/bicep/bicep-newlinesensitivity.actual new file mode 100644 index 000000000..4a44dcaa4 --- /dev/null +++ b/lexers/testdata/bicep/bicep-newlinesensitivity.actual @@ -0,0 +1,65 @@ +@allowed(['abc', 'def', 'ghi']) +param foo string + +var singleLineFunction = concat('abc', 'def') + +var multiLineFunction = concat( + 'abc', + 'def' +) + +var multiLineFunctionUnusualFormatting = concat( + 'abc', any(['hello']), +'def') + +var nestedTest = concat( +concat( +concat( +concat( +concat( +'level', +'one'), +'two'), +'three'), +'four'), +'five') + +var singleLineArray = ['abc', 'def'] +var singleLineArrayTrailingCommas = ['abc', 'def',] + +var multiLineArray = [ + 'abc' + 'def' +] + +var mixedArray = ['abc', 'def' +'ghi', 'jkl' +'lmn'] + +var singleLineObject = { abc: 'def', ghi: 'jkl'} +var singleLineObjectTrailingCommas = { abc: 'def', ghi: 'jkl',} +var multiLineObject = { + abc: 'def' + ghi: 'jkl' +} +var mixedObject = { abc: 'abc', def: 'def' +ghi: 'ghi', jkl: 'jkl' +lmn: 'lmn' } + +var nestedMixed = { + abc: { 'def': 'ghi', abc: 'def', foo: [ + 'bar', 'blah' + ] } +} + +var brokenFormatting = [ /*foo */ 'bar' /* + +hello + +*/, 'asdfdsf', 12324, /* asdf*/ '', ''' + + +''' +123, 233535 +true + ] diff --git a/lexers/testdata/bicep/bicep-newlinesensitivity.expected b/lexers/testdata/bicep/bicep-newlinesensitivity.expected new file mode 100644 index 000000000..69c9a73a4 --- /dev/null +++ b/lexers/testdata/bicep/bicep-newlinesensitivity.expected @@ -0,0 +1,348 @@ +[ + {"type":"Punctuation","value":"@"}, + {"type":"NameFunction","value":"allowed"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":"])"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"param"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"singleLineFunction"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"multiLineFunction"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"multiLineFunctionUnusualFormatting"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"any"}, + {"type":"Punctuation","value":"(["}, + {"type":"LiteralString","value":"'hello'"}, + {"type":"Punctuation","value":"]),"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"nestedTest"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameFunction","value":"concat"}, + {"type":"Punctuation","value":"("}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'level'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'one'"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'two'"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'three'"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'four'"}, + {"type":"Punctuation","value":"),"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'five'"}, + {"type":"Punctuation","value":")"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"singleLineArray"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"singleLineArrayTrailingCommas"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":",]"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"multiLineArray"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mixedArray"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'jkl'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"LiteralString","value":"'lmn'"}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"singleLineObject"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"abc"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"ghi"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'jkl'"}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"singleLineObjectTrailingCommas"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"abc"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"ghi"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'jkl'"}, + {"type":"Punctuation","value":",}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"multiLineObject"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"abc"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"ghi"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'jkl'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"mixedObject"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"abc"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'abc'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"def"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameVariable","value":"ghi"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"jkl"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'jkl'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameVariable","value":"lmn"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'lmn'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"nestedMixed"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"abc"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'ghi'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"abc"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'def'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"foo"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"LiteralString","value":"'bar'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'blah'"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"var"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"brokenFormatting"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"["}, + {"type":"TextWhitespace","value":" "}, + {"type":"CommentMultiline","value":"/*foo */"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'bar'"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Operator","value":"/*"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"NameVariable","value":"hello"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"Operator","value":"*/"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'asdfdsf'"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"12324"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"CommentMultiline","value":"/* asdf*/"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"''"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'''\n\n\n'''"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"NameVariable","value":"123"}, + {"type":"Punctuation","value":","}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"233535"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"KeywordConstant","value":"true"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"Punctuation","value":"]"}, + {"type":"TextWhitespace","value":"\n"} +] diff --git a/lexers/testdata/bicep/bicep-output.expected b/lexers/testdata/bicep/bicep-output.expected index f0f0a9858..8e832dd40 100644 --- a/lexers/testdata/bicep/bicep-output.expected +++ b/lexers/testdata/bicep/bicep-output.expected @@ -1,15 +1,15 @@ [ {"type":"KeywordDeclaration","value":"output"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageEndpoint"}, + {"type":"NameVariable","value":"storageEndpoint"}, {"type":"TextWhitespace","value":" "}, - {"type":"KeywordType","value":"object"}, + {"type":"NameVariable","value":"object"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"stg"}, + {"type":"NameVariable","value":"stg"}, {"type":"Punctuation","value":"."}, - {"type":"Text","value":"properties"}, + {"type":"NameVariable","value":"properties"}, {"type":"Punctuation","value":"."}, - {"type":"Text","value":"primaryEndpoints"} + {"type":"NameVariable","value":"primaryEndpoints"} ] diff --git a/lexers/testdata/bicep/bicep-parameter-decoration.expected b/lexers/testdata/bicep/bicep-parameter-decoration.expected index fe15b864f..778149b79 100644 --- a/lexers/testdata/bicep/bicep-parameter-decoration.expected +++ b/lexers/testdata/bicep/bicep-parameter-decoration.expected @@ -1,26 +1,27 @@ [ {"type":"Punctuation","value":"@"}, - {"type":"NameDecorator","value":"description"}, + {"type":"NameFunction","value":"description"}, {"type":"Punctuation","value":"("}, {"type":"LiteralString","value":"'The name of the instance.'"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"@"}, - {"type":"NameNamespace","value":"sys."}, - {"type":"NameDecorator","value":"description"}, + {"type":"NameVariable","value":"sys"}, + {"type":"Punctuation","value":"."}, + {"type":"NameFunction","value":"description"}, {"type":"Punctuation","value":"("}, {"type":"LiteralString","value":"'The description of the instance to display.'"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameDecorator","value":"description"}, + {"type":"NameVariable","value":"description"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"} + {"type":"NameVariable","value":"string"} ] diff --git a/lexers/testdata/bicep/bicep-resource-conditional.expected b/lexers/testdata/bicep/bicep-resource-conditional.expected index 577487610..af212feaf 100644 --- a/lexers/testdata/bicep/bicep-resource-conditional.expected +++ b/lexers/testdata/bicep/bicep-resource-conditional.expected @@ -1,60 +1,60 @@ [ {"type":"KeywordDeclaration","value":"resource"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"sa"}, + {"type":"NameVariable","value":"sa"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralString","value":"'Microsoft.Storage/storageAccounts@2019-06-01'"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"Keyword","value":"if"}, + {"type":"KeywordDeclaration","value":"if"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"("}, - {"type":"Text","value":"newOrExisting"}, + {"type":"NameVariable","value":"newOrExisting"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"=="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'new'"}, + {"type":"LiteralString","value":"'new'"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"uniqueStorageName"}, + {"type":"NameVariable","value":"uniqueStorageName"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"sku"}, + {"type":"NameVariable","value":"sku"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageSKU"}, + {"type":"NameVariable","value":"storageSKU"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"kind"}, + {"type":"NameVariable","value":"kind"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'StorageV2'"}, + {"type":"LiteralString","value":"'StorageV2'"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"properties"}, + {"type":"NameVariable","value":"properties"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"supportsHttpsTrafficOnly"}, + {"type":"NameVariable","value":"supportsHttpsTrafficOnly"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"true"}, + {"type":"KeywordConstant","value":"true"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n"}, diff --git a/lexers/testdata/bicep/bicep-resource-multiple.expected b/lexers/testdata/bicep/bicep-resource-multiple.expected index 071782580..09c42221d 100644 --- a/lexers/testdata/bicep/bicep-resource-multiple.expected +++ b/lexers/testdata/bicep/bicep-resource-multiple.expected @@ -1,66 +1,66 @@ [ {"type":"Punctuation","value":"@"}, - {"type":"NameDecorator","value":"batchSize"}, + {"type":"NameFunction","value":"batchSize"}, {"type":"Punctuation","value":"("}, - {"type":"Text","value":"3"}, + {"type":"NameVariable","value":"3"}, {"type":"Punctuation","value":")"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"resource"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"sa"}, + {"type":"NameVariable","value":"sa"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralString","value":"'Microsoft.Storage/storageAccounts@2019-06-01'"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"["}, - {"type":"Keyword","value":"for"}, + {"type":"KeywordDeclaration","value":"for"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageName"}, + {"type":"NameVariable","value":"storageName"}, {"type":"TextWhitespace","value":" "}, - {"type":"Keyword","value":"in"}, + {"type":"KeywordDeclaration","value":"in"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameProperty","value":"storageAccounts"}, + {"type":"NameVariable","value":"storageAccounts"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageName"}, + {"type":"NameVariable","value":"storageName"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"location"}, + {"type":"NameVariable","value":"location"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"sku"}, + {"type":"NameVariable","value":"sku"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"name"}, + {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storageSKU"}, + {"type":"NameVariable","value":"storageSKU"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"kind"}, + {"type":"NameVariable","value":"kind"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'StorageV2'"}, + {"type":"LiteralString","value":"'StorageV2'"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"properties"}, + {"type":"NameVariable","value":"properties"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n "}, - {"type":"NameProperty","value":"supportsHttpsTrafficOnly"}, + {"type":"NameVariable","value":"supportsHttpsTrafficOnly"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"true"}, + {"type":"KeywordConstant","value":"true"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"}"}, {"type":"TextWhitespace","value":"\n"}, diff --git a/lexers/testdata/bicep/bicep-string-singleline-multiline.expected b/lexers/testdata/bicep/bicep-string-singleline-multiline.expected index 21510c0d5..d69535dea 100644 --- a/lexers/testdata/bicep/bicep-string-singleline-multiline.expected +++ b/lexers/testdata/bicep/bicep-string-singleline-multiline.expected @@ -1,9 +1,9 @@ [ {"type":"KeywordDeclaration","value":"param"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"exampleString"}, + {"type":"NameVariable","value":"exampleString"}, {"type":"TextWhitespace","value":" "}, - {"type":"NameFunction","value":"string"}, + {"type":"NameVariable","value":"string"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, @@ -11,19 +11,9 @@ {"type":"TextWhitespace","value":"\n\n"}, {"type":"KeywordDeclaration","value":"var"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"comments"}, + {"type":"NameVariable","value":"comments"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralString","value":"''"}, - {"type":"Error","value":"'"}, - {"type":"TextWhitespace","value":"\n"}, - {"type":"Text","value":"comments"}, - {"type":"TextWhitespace","value":" "}, - {"type":"CommentSingle","value":"// are included"}, - {"type":"TextWhitespace","value":"\n"}, - {"type":"CommentMultiline","value":"/* because everything is read as-is */"}, - {"type":"TextWhitespace","value":"\n"}, - {"type":"LiteralString","value":"''"}, - {"type":"Error","value":"'"} + {"type":"LiteralString","value":"'''\ncomments // are included\n/* because everything is read as-is */\n'''"} ] diff --git a/lexers/testdata/bicep/bicep-targetScope.expected b/lexers/testdata/bicep/bicep-targetScope.expected index 443b547cd..4d7da8954 100644 --- a/lexers/testdata/bicep/bicep-targetScope.expected +++ b/lexers/testdata/bicep/bicep-targetScope.expected @@ -1,25 +1,25 @@ [ - {"type":"Text","value":"targetScope"}, + {"type":"KeywordDeclaration","value":"targetScope"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'resourceGroup'"}, + {"type":"LiteralString","value":"'resourceGroup'"}, {"type":"TextWhitespace","value":"\n\n"}, - {"type":"Text","value":"targetScope"}, + {"type":"KeywordDeclaration","value":"targetScope"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'subscription'"}, + {"type":"LiteralString","value":"'subscription'"}, {"type":"TextWhitespace","value":"\n\n"}, - {"type":"Text","value":"targetScope"}, + {"type":"KeywordDeclaration","value":"targetScope"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'managementGroup'"}, + {"type":"LiteralString","value":"'managementGroup'"}, {"type":"TextWhitespace","value":"\n\n"}, - {"type":"Text","value":"targetScope"}, + {"type":"KeywordDeclaration","value":"targetScope"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'tenant'"} + {"type":"LiteralString","value":"'tenant'"} ] diff --git a/lexers/testdata/bicep/bicep-types.actual b/lexers/testdata/bicep/bicep-types.actual new file mode 100644 index 000000000..5d799f382 --- /dev/null +++ b/lexers/testdata/bicep/bicep-types.actual @@ -0,0 +1,7 @@ +type fizz = string + +type buzz = fizz[] + +type pop = { + krispies: 'snap'|'crackle'|'pop' +} \ No newline at end of file diff --git a/lexers/testdata/bicep/bicep-types.expected b/lexers/testdata/bicep/bicep-types.expected new file mode 100644 index 000000000..dab280d97 --- /dev/null +++ b/lexers/testdata/bicep/bicep-types.expected @@ -0,0 +1,37 @@ +[ + {"type":"KeywordDeclaration","value":"type"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"fizz"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"string"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"type"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"buzz"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"fizz"}, + {"type":"Punctuation","value":"[]"}, + {"type":"TextWhitespace","value":"\n\n"}, + {"type":"KeywordDeclaration","value":"type"}, + {"type":"TextWhitespace","value":" "}, + {"type":"NameVariable","value":"pop"}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"TextWhitespace","value":" "}, + {"type":"Punctuation","value":"{"}, + {"type":"TextWhitespace","value":"\n "}, + {"type":"NameVariable","value":"krispies"}, + {"type":"Punctuation","value":":"}, + {"type":"TextWhitespace","value":" "}, + {"type":"LiteralString","value":"'snap'"}, + {"type":"Punctuation","value":"|"}, + {"type":"LiteralString","value":"'crackle'"}, + {"type":"Punctuation","value":"|"}, + {"type":"LiteralString","value":"'pop'"}, + {"type":"TextWhitespace","value":"\n"}, + {"type":"Punctuation","value":"}"} +] diff --git a/lexers/testdata/bicep/bicep-variable-string-interpolation.expected b/lexers/testdata/bicep/bicep-variable-string-interpolation.expected index b63a48de2..f2e8b6985 100644 --- a/lexers/testdata/bicep/bicep-variable-string-interpolation.expected +++ b/lexers/testdata/bicep/bicep-variable-string-interpolation.expected @@ -1,17 +1,28 @@ [ {"type":"KeywordDeclaration","value":"var"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"storagePrefix"}, + {"type":"NameVariable","value":"storagePrefix"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'dev'"}, + {"type":"LiteralString","value":"'dev'"}, {"type":"TextWhitespace","value":"\n"}, {"type":"KeywordDeclaration","value":"var"}, {"type":"TextWhitespace","value":" "}, - {"type":"Text","value":"uniqueStorageName"}, + {"type":"NameVariable","value":"uniqueStorageName"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"="}, {"type":"TextWhitespace","value":" "}, - {"type":"LiteralStringInterpol","value":"'${storagePrefix}${uniqueString(resourceGroup().id)}'"} + {"type":"LiteralString","value":"'"}, + {"type":"LiteralStringInterpol","value":"${"}, + {"type":"NameVariable","value":"storagePrefix"}, + {"type":"LiteralStringInterpol","value":"}${"}, + {"type":"NameFunction","value":"uniqueString"}, + {"type":"Punctuation","value":"("}, + {"type":"NameFunction","value":"resourceGroup"}, + {"type":"Punctuation","value":"()."}, + {"type":"NameVariable","value":"id"}, + {"type":"Punctuation","value":")"}, + {"type":"LiteralStringInterpol","value":"}"}, + {"type":"LiteralString","value":"'"} ]