{
    "name": "Azure logic apps expression language",
    "scopeName": "source.azLgcAppExp",
    "patterns": [
        {
            "include": "#expressionString",
            "$impostureLang": {
                "namespaces": [
                    "patterns",
                    0
                ]
            }
        }
    ],
    "repository": {
        "expressionString": {
            "patterns": [
                {
                    "include": "#atTemplateSubstitutionElement",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionString",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#dualAtSymbol",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionString",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#atRootFunctionCallExpression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionString",
                            "patterns",
                            2
                        ]
                    }
                },
                {
                    "include": "#incompleteAtRootFunctionCallExpression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionString",
                            "patterns",
                            3
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "expressionString"
                ]
            }
        },
        "incompleteAtRootFunctionCallExpression": {
            "$impostureLang": {
                "type": "incomplete-root-function-call-expression",
                "dataType": "incomplete-root-function-call-expression",
                "namespaces": [
                    "repository",
                    "incompleteAtRootFunctionCallExpression"
                ]
            },
            "applyEndPatternLast": true,
            "name": "meta.expression.function.call.incomplete.azLgcAppExp",
            "begin": "(?=((@([_$[:alpha:]][_$[:alnum:]]*)?(\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*))*))\\s*(?:(\\?\\.\\s*)|(\\!)|(\\())?)",
            "end": "((?x)(\n\t(?=[^[:alnum:]\\.\\?\\(\\)])\n\t(?!(\n\t\t\t(\n\t\t\t\t(\n\t\t\t\t\t@([_$[:alpha:]][_$[:alnum:]]*)?\n\t\t\t\t\t(\n\t\t\t\t\t\t\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*)\n\t\t\t\t\t)*\n\t\t\t\t)|\n\t\t\t\t(\n\t\t\t\t\t\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*\n\t\t\t\t)\n\t\t\t)|\n\t\t\t(?<=[\\)])\n\t\t)\n\t\t\\s*\n\t\t(?:\n\t\t\t(\\?\\.\\s*)|\n\t\t\t(\\!)\n\t\t)?\n\t\t(\\()\n\t)\n))|\\Z",
            "patterns": [
                {
                    "include": "#atSymbol",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "incompleteAtRootFunctionCallExpression",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#function-call",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "incompleteAtRootFunctionCallExpression",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#identifiers",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "incompleteAtRootFunctionCallExpression",
                            "patterns",
                            2
                        ]
                    }
                }
            ]
        },
        "atRootFunctionCallExpression": {
            "$impostureLang": {
                "type": "root-function-call-expression",
                "dataType": "root-function-call-expression",
                "namespaces": [
                    "repository",
                    "atRootFunctionCallExpression"
                ]
            },
            "applyEndPatternLast": true,
            "name": "meta.expression.function.call.azLgcAppExp",
            "begin": "(?=((@([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*))*))\\s*(?:(\\?\\.\\s*)|(\\!))?(\\())",
            "end": "((?<=\\))(?!(((@([_$[:alpha:]][_$[:alnum:]]*)?(\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?(\\()))|\\Z",
            "patterns": [
                {
                    "include": "#atTemplateSubstitutionElement",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "atRootFunctionCallExpression",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#atSymbol",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "atRootFunctionCallExpression",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#atExpression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "atRootFunctionCallExpression",
                            "patterns",
                            2
                        ]
                    }
                }
            ]
        },
        "atTemplateSubstitutionElement": {
            "patterns": [
                {
                    "$impostureLang": {
                        "type": "atTemplateSubstitutionElement-p0",
                        "dataType": "atTemplateSubstitutionElement",
                        "namespaces": [
                            "repository",
                            "atTemplateSubstitutionElement",
                            "patterns",
                            0
                        ]
                    },
                    "name": "meta.template.expression.azLgcAppExp",
                    "begin": "(?=(@)(\\{))",
                    "beginCaptures": {
                        "0": {
                            "name": "punctuation.definition.template.expression.begin.azLgcAppExp",
                            "$impostureLang": {
                                "namespaces": [
                                    "repository",
                                    "atTemplateSubstitutionElement",
                                    "patterns",
                                    0,
                                    "beginCaptures",
                                    "0"
                                ]
                            }
                        },
                        "1": {
                            "name": "keyword.symbol.at.azLgcAppExp",
                            "$impostureLang": {
                                "namespaces": [
                                    "repository",
                                    "atTemplateSubstitutionElement",
                                    "patterns",
                                    0,
                                    "beginCaptures",
                                    "1"
                                ]
                            }
                        }
                    },
                    "end": "\\}",
                    "endCaptures": {
                        "0": {
                            "name": "punctuation.definition.template.expression.end.azLgcAppExp",
                            "$impostureLang": {
                                "namespaces": [
                                    "repository",
                                    "atTemplateSubstitutionElement",
                                    "patterns",
                                    0,
                                    "endCaptures",
                                    "0"
                                ]
                            }
                        }
                    },
                    "patterns": [
                        {
                            "include": "#atExpression",
                            "$impostureLang": {
                                "namespaces": [
                                    "repository",
                                    "atTemplateSubstitutionElement",
                                    "patterns",
                                    0,
                                    "patterns",
                                    0
                                ]
                            }
                        }
                    ]
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "atTemplateSubstitutionElement"
                ]
            }
        },
        "dualAtSymbol": {
            "$impostureLang": {
                "type": "dualAtSymbol",
                "dataType": "dualAtSymbol",
                "namespaces": [
                    "repository",
                    "dualAtSymbol"
                ]
            },
            "name": "constant.character.escape.azLgcAppExp",
            "match": "[@]{2}"
        },
        "atSymbol": {
            "$impostureLang": {
                "type": "atSymbol",
                "dataType": "atSymbol",
                "namespaces": [
                    "repository",
                    "atSymbol"
                ]
            },
            "name": "keyword.symbol.at.azLgcAppExp",
            "match": "[@]{1}"
        },
        "atExpression": {
            "patterns": [
                {
                    "include": "#expressionWithoutIdentifiers",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "atExpression",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#identifiers",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "atExpression",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#expressionPunctuations",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "atExpression",
                            "patterns",
                            2
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "atExpression"
                ]
            }
        },
        "expressionWithoutIdentifiers": {
            "patterns": [
                {
                    "include": "#string",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionWithoutIdentifiers",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#function-call",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionWithoutIdentifiers",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#literal",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionWithoutIdentifiers",
                            "patterns",
                            2
                        ]
                    }
                },
                {
                    "include": "#paren-expression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionWithoutIdentifiers",
                            "patterns",
                            3
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "expressionWithoutIdentifiers"
                ]
            }
        },
        "expressionPunctuations": {
            "patterns": [
                {
                    "include": "#punctuation-comma",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionPunctuations",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#punctuation-accessor",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "expressionPunctuations",
                            "patterns",
                            1
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "expressionPunctuations"
                ]
            }
        },
        "function-call": {
            "$impostureLang": {
                "type": "function-call-complete",
                "dataType": "function-call-complete",
                "namespaces": [
                    "repository",
                    "function-call"
                ]
            },
            "begin": "(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?(\\())",
            "end": "(?<=\\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?(\\())",
            "patterns": [
                {
                    "$impostureLang": {
                        "type": "function-call-full-name",
                        "dataType": "function-call",
                        "namespaces": [
                            "repository",
                            "function-call",
                            "patterns",
                            0
                        ]
                    },
                    "name": "meta.function-call.azLgcAppExp",
                    "begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*([_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*))",
                    "end": "(?=\\s*(?:(\\?\\.\\s*)|(\\!))?(\\())",
                    "patterns": [
                        {
                            "include": "#function-call-target",
                            "$impostureLang": {
                                "namespaces": [
                                    "repository",
                                    "function-call",
                                    "patterns",
                                    0,
                                    "patterns",
                                    0
                                ]
                            }
                        }
                    ]
                },
                {
                    "include": "#paren-expression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "function-call",
                            "patterns",
                            1
                        ]
                    }
                }
            ]
        },
        "function-call-target": {
            "patterns": [
                {
                    "include": "#support-function-call-identifiers",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "function-call-target",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "$impostureLang": {
                        "type": "function-call-target-name",
                        "dataType": "function-call-target",
                        "namespaces": [
                            "repository",
                            "function-call-target",
                            "patterns",
                            1
                        ]
                    },
                    "name": "entity.name.function.azLgcAppExp",
                    "match": "([_$[:alpha:]][_$[:alnum:]]*)"
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "function-call-target"
                ]
            }
        },
        "support-function-call-identifiers": {
            "patterns": [
                {
                    "include": "#literal",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "support-function-call-identifiers",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#object-identifiers",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "support-function-call-identifiers",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#punctuation-accessor",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "support-function-call-identifiers",
                            "patterns",
                            2
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "support-function-call-identifiers"
                ]
            }
        },
        "paren-expression": {
            "$impostureLang": {
                "type": "paren-expression",
                "dataType": "parentheses",
                "namespaces": [
                    "repository",
                    "paren-expression"
                ]
            },
            "begin": "\\(",
            "beginCaptures": {
                "0": {
                    "name": "meta.brace.round.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "paren-expression",
                            "beginCaptures",
                            "0"
                        ]
                    }
                }
            },
            "end": "\\)",
            "endCaptures": {
                "0": {
                    "name": "meta.brace.round.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "paren-expression",
                            "endCaptures",
                            "0"
                        ]
                    }
                }
            },
            "patterns": [
                {
                    "include": "#atExpression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "paren-expression",
                            "patterns",
                            0
                        ]
                    }
                }
            ]
        },
        "literal": {
            "patterns": [
                {
                    "include": "#numeric-literal",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "literal",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#boolean-literal",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "literal",
                            "patterns",
                            1
                        ]
                    }
                },
                {
                    "include": "#null-literal",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "literal",
                            "patterns",
                            2
                        ]
                    }
                },
                {
                    "include": "#array-literal",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "literal",
                            "patterns",
                            3
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "literal"
                ]
            }
        },
        "array-literal": {
            "$impostureLang": {
                "type": "array-literal",
                "dataType": "array-literal",
                "namespaces": [
                    "repository",
                    "array-literal"
                ]
            },
            "name": "meta.array.literal.azLgcAppExp",
            "begin": "\\s*(\\[)",
            "beginCaptures": {
                "1": {
                    "name": "meta.brace.square.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "array-literal",
                            "beginCaptures",
                            "1"
                        ]
                    }
                }
            },
            "end": "\\]",
            "endCaptures": {
                "0": {
                    "name": "meta.brace.square.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "array-literal",
                            "endCaptures",
                            "0"
                        ]
                    }
                }
            },
            "patterns": [
                {
                    "include": "#atExpression",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "array-literal",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#punctuation-comma",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "array-literal",
                            "patterns",
                            1
                        ]
                    }
                }
            ]
        },
        "numeric-literal": {
            "patterns": [
                {
                    "$impostureLang": {
                        "type": "numeric-literal",
                        "dataType": "number",
                        "namespaces": [
                            "repository",
                            "numeric-literal",
                            "patterns",
                            0
                        ]
                    },
                    "name": "constant.numeric.octal.azLgcAppExp",
                    "match": "\\b(?<!\\$)0(?:O)?[0-7][0-7_]*(n)?\\b(?!\\$)",
                    "captures": {
                        "1": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    0,
                                    "captures",
                                    "1"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        }
                    }
                },
                {
                    "$impostureLang": {
                        "type": "numeric-literal",
                        "dataType": "number",
                        "namespaces": [
                            "repository",
                            "numeric-literal",
                            "patterns",
                            1
                        ]
                    },
                    "match": "(?x)\n(?<!\\$)(?:\n  (?:[+-]?\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n  (?:[+-]?\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)|             # 1.E+3\n  (?:[+-]?\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|             # .1E+3\n  (?:[+-]?\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)|                 # 1E+3\n  (?:[+-]?\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)|                      # 1.1\n  (?:[+-]?\\b[0-9][0-9_]*(\\.)(n)?\\B)|                                  # 1.\n  (?:[+-]?\\B(\\.)[0-9][0-9_]*(n)?\\b)|                                  # .1\n  (?:[+-]?\\b[0-9][0-9_]*(n)?\\b(?!\\.))                                 # 1\n)(?!\\$)",
                    "captures": {
                        "0": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "0"
                                ]
                            },
                            "name": "constant.numeric.decimal.azLgcAppExp"
                        },
                        "1": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "1"
                                ]
                            },
                            "name": "meta.delimiter.decimal.period.azLgcAppExp"
                        },
                        "2": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "2"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "3": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "3"
                                ]
                            },
                            "name": "meta.delimiter.decimal.period.azLgcAppExp"
                        },
                        "4": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "4"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "5": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "5"
                                ]
                            },
                            "name": "meta.delimiter.decimal.period.azLgcAppExp"
                        },
                        "6": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "6"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "7": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "7"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "8": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "8"
                                ]
                            },
                            "name": "meta.delimiter.decimal.period.azLgcAppExp"
                        },
                        "9": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "9"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "10": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "10"
                                ]
                            },
                            "name": "meta.delimiter.decimal.period.azLgcAppExp"
                        },
                        "11": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "11"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "12": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "12"
                                ]
                            },
                            "name": "meta.delimiter.decimal.period.azLgcAppExp"
                        },
                        "13": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "13"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        },
                        "14": {
                            "$impostureLang": {
                                "type": "numeric-literal",
                                "dataType": "number",
                                "namespaces": [
                                    "repository",
                                    "numeric-literal",
                                    "patterns",
                                    1,
                                    "captures",
                                    "14"
                                ]
                            },
                            "name": "storage.type.numeric.bigint.azLgcAppExp"
                        }
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "numeric-literal"
                ]
            }
        },
        "boolean-literal": {
            "patterns": [
                {
                    "$impostureLang": {
                        "type": "boolean-literal",
                        "dataType": "boolean",
                        "namespaces": [
                            "repository",
                            "boolean-literal",
                            "patterns",
                            0
                        ]
                    },
                    "name": "constant.language.boolean.true.azLgcAppExp",
                    "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
                },
                {
                    "$impostureLang": {
                        "type": "boolean-literal",
                        "dataType": "boolean",
                        "namespaces": [
                            "repository",
                            "boolean-literal",
                            "patterns",
                            1
                        ]
                    },
                    "name": "constant.language.boolean.false.azLgcAppExp",
                    "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "boolean-literal"
                ]
            }
        },
        "null-literal": {
            "$impostureLang": {
                "type": "null-literal",
                "dataType": "null",
                "namespaces": [
                    "repository",
                    "null-literal"
                ]
            },
            "name": "constant.language.null.azLgcAppExp",
            "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
        },
        "punctuation-accessor": {
            "$impostureLang": {
                "type": "punctuation-accessor",
                "dataType": "punctuation",
                "namespaces": [
                    "repository",
                    "punctuation-accessor"
                ]
            },
            "match": "(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))",
            "captures": {
                "1": {
                    "$impostureLang": {
                        "type": "punctuation-accessor-c1",
                        "dataType": "punctuation-capture",
                        "namespaces": [
                            "repository",
                            "punctuation-accessor",
                            "captures",
                            "1"
                        ]
                    },
                    "name": "punctuation.accessor.azLgcAppExp"
                },
                "2": {
                    "$impostureLang": {
                        "type": "punctuation-accessor-c2",
                        "dataType": "punctuation-capture",
                        "namespaces": [
                            "repository",
                            "punctuation-accessor",
                            "captures",
                            "2"
                        ]
                    },
                    "name": "punctuation.accessor.optional.azLgcAppExp"
                }
            }
        },
        "identifiers": {
            "patterns": [
                {
                    "include": "#object-identifiers",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "identifiers",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "$impostureLang": {
                        "type": "identifiers-p1",
                        "dataType": "identifiers:wPunctuation",
                        "namespaces": [
                            "repository",
                            "identifiers",
                            "patterns",
                            1
                        ]
                    },
                    "match": "(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])",
                    "captures": {
                        "1": {
                            "$impostureLang": {
                                "type": "identifiers-p1-c1",
                                "dataType": "identifiers-capture",
                                "namespaces": [
                                    "repository",
                                    "identifiers",
                                    "patterns",
                                    1,
                                    "captures",
                                    "1"
                                ]
                            },
                            "name": "punctuation.accessor.azLgcAppExp"
                        },
                        "2": {
                            "$impostureLang": {
                                "type": "identifiers-p1-c2",
                                "dataType": "identifiers-capture",
                                "namespaces": [
                                    "repository",
                                    "identifiers",
                                    "patterns",
                                    1,
                                    "captures",
                                    "2"
                                ]
                            },
                            "name": "punctuation.accessor.optional.azLgcAppExp"
                        },
                        "3": {
                            "$impostureLang": {
                                "type": "identifiers-p1-c3",
                                "dataType": "identifiers-capture",
                                "namespaces": [
                                    "repository",
                                    "identifiers",
                                    "patterns",
                                    1,
                                    "captures",
                                    "3"
                                ]
                            },
                            "name": "variable.other.constant.property.azLgcAppExp"
                        }
                    }
                },
                {
                    "$impostureLang": {
                        "type": "identifiers-p2",
                        "dataType": "identifiers:wPunctuation",
                        "namespaces": [
                            "repository",
                            "identifiers",
                            "patterns",
                            2
                        ]
                    },
                    "match": "(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*([_$[:alpha:]][_$[:alnum:]]*)",
                    "captures": {
                        "1": {
                            "$impostureLang": {
                                "type": "identifiers-p2-c1",
                                "dataType": "identifiers-capture",
                                "namespaces": [
                                    "repository",
                                    "identifiers",
                                    "patterns",
                                    2,
                                    "captures",
                                    "1"
                                ]
                            },
                            "name": "punctuation.accessor.azLgcAppExp"
                        },
                        "2": {
                            "$impostureLang": {
                                "type": "identifiers-p2-c2",
                                "dataType": "identifiers-capture",
                                "namespaces": [
                                    "repository",
                                    "identifiers",
                                    "patterns",
                                    2,
                                    "captures",
                                    "2"
                                ]
                            },
                            "name": "punctuation.accessor.optional.azLgcAppExp"
                        },
                        "3": {
                            "$impostureLang": {
                                "type": "identifiers-p2-c3",
                                "dataType": "identifiers-capture",
                                "namespaces": [
                                    "repository",
                                    "identifiers",
                                    "patterns",
                                    2,
                                    "captures",
                                    "3"
                                ]
                            },
                            "name": "variable.other.property.azLgcAppExp"
                        }
                    }
                },
                {
                    "$impostureLang": {
                        "type": "identifiers-p3",
                        "dataType": "identifiers",
                        "namespaces": [
                            "repository",
                            "identifiers",
                            "patterns",
                            3
                        ]
                    },
                    "name": "variable.other.constant.azLgcAppExp",
                    "match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"
                },
                {
                    "$impostureLang": {
                        "type": "identifiers-p4",
                        "dataType": "identifiers",
                        "namespaces": [
                            "repository",
                            "identifiers",
                            "patterns",
                            4
                        ]
                    },
                    "name": "variable.other.readwrite.azLgcAppExp",
                    "match": "[_$[:alpha:]][_$[:alnum:]]*"
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "identifiers"
                ]
            }
        },
        "object-identifiers": {
            "patterns": [
                {
                    "$impostureLang": {
                        "type": "object-identifiers-p0",
                        "dataType": "object-identifiers:wPunctuation",
                        "namespaces": [
                            "repository",
                            "object-identifiers",
                            "patterns",
                            0
                        ]
                    },
                    "match": "(?x)(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(?:\n  ([[:upper:]][_$[:digit:][:upper:]]*) |\n  ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)",
                    "captures": {
                        "1": {
                            "$impostureLang": {
                                "type": "object-identifiers-p0-c1",
                                "dataType": "object-identifiers-captures",
                                "namespaces": [
                                    "repository",
                                    "object-identifiers",
                                    "patterns",
                                    0,
                                    "captures",
                                    "1"
                                ]
                            },
                            "name": "punctuation.accessor.azLgcAppExp"
                        },
                        "2": {
                            "$impostureLang": {
                                "type": "object-identifiers-p0-c2",
                                "dataType": "object-identifiers-captures",
                                "namespaces": [
                                    "repository",
                                    "object-identifiers",
                                    "patterns",
                                    0,
                                    "captures",
                                    "2"
                                ]
                            },
                            "name": "punctuation.accessor.optional.azLgcAppExp"
                        },
                        "3": {
                            "$impostureLang": {
                                "type": "object-identifiers-p0-c3",
                                "dataType": "object-identifiers-captures",
                                "namespaces": [
                                    "repository",
                                    "object-identifiers",
                                    "patterns",
                                    0,
                                    "captures",
                                    "3"
                                ]
                            },
                            "name": "variable.other.constant.object.property.azLgcAppExp"
                        },
                        "4": {
                            "$impostureLang": {
                                "type": "object-identifiers-p0-c4",
                                "dataType": "object-identifiers-captures",
                                "namespaces": [
                                    "repository",
                                    "object-identifiers",
                                    "patterns",
                                    0,
                                    "captures",
                                    "4"
                                ]
                            },
                            "name": "variable.other.object.property.azLgcAppExp"
                        }
                    }
                },
                {
                    "$impostureLang": {
                        "type": "object-identifiers-p1",
                        "dataType": "object-identifiers",
                        "namespaces": [
                            "repository",
                            "object-identifiers",
                            "patterns",
                            1
                        ]
                    },
                    "match": "(?x)(?:\n  ([[:upper:]][_$[:digit:][:upper:]]*) |\n  ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)",
                    "captures": {
                        "1": {
                            "$impostureLang": {
                                "type": "object-identifiers-p1-c1",
                                "dataType": "object-identifiers-captures",
                                "namespaces": [
                                    "repository",
                                    "object-identifiers",
                                    "patterns",
                                    1,
                                    "captures",
                                    "1"
                                ]
                            },
                            "name": "variable.other.constant.object.azLgcAppExp"
                        },
                        "2": {
                            "$impostureLang": {
                                "type": "object-identifiers-p1-c1",
                                "dataType": "object-identifiers-captures",
                                "namespaces": [
                                    "repository",
                                    "object-identifiers",
                                    "patterns",
                                    1,
                                    "captures",
                                    "2"
                                ]
                            },
                            "name": "variable.other.object.azLgcAppExp"
                        }
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "object-identifiers"
                ]
            }
        },
        "string": {
            "patterns": [
                {
                    "include": "#qstring-single",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "string",
                            "patterns",
                            0
                        ]
                    }
                },
                {
                    "include": "#qstring-double",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "string",
                            "patterns",
                            1
                        ]
                    }
                }
            ],
            "$impostureLang": {
                "namespaces": [
                    "repository",
                    "string"
                ]
            }
        },
        "punctuation-comma": {
            "$impostureLang": {
                "type": "punctuation-comma",
                "dataType": "comma",
                "namespaces": [
                    "repository",
                    "punctuation-comma"
                ]
            },
            "name": "punctuation.separator.comma.azLgcAppExp",
            "match": ","
        },
        "qstring-double": {
            "$impostureLang": {
                "type": "qstring-double",
                "dataType": "string",
                "namespaces": [
                    "repository",
                    "qstring-double"
                ]
            },
            "name": "string.quoted.double.azLgcAppExp",
            "begin": "\"",
            "beginCaptures": {
                "0": {
                    "name": "punctuation.definition.string.begin.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-double",
                            "beginCaptures",
                            "0"
                        ]
                    }
                }
            },
            "end": "(\")|((?:[^\\\\\\n])$)",
            "endCaptures": {
                "1": {
                    "name": "punctuation.definition.string.end.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-double",
                            "endCaptures",
                            "1"
                        ]
                    }
                },
                "2": {
                    "name": "invalid.illegal.newline.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-double",
                            "endCaptures",
                            "2"
                        ]
                    }
                }
            },
            "patterns": [
                {
                    "include": "#string-character-escape",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-double",
                            "patterns",
                            0
                        ]
                    }
                }
            ]
        },
        "qstring-single": {
            "$impostureLang": {
                "type": "qstring-single",
                "dataType": "string",
                "namespaces": [
                    "repository",
                    "qstring-single"
                ]
            },
            "name": "string.quoted.single.azLgcAppExp",
            "begin": "'",
            "beginCaptures": {
                "0": {
                    "name": "punctuation.definition.string.begin.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-single",
                            "beginCaptures",
                            "0"
                        ]
                    }
                }
            },
            "end": "(\\')",
            "applyEndPatternLast": true,
            "endCaptures": {
                "1": {
                    "name": "punctuation.definition.string.end.azLgcAppExp",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-single",
                            "endCaptures",
                            "1"
                        ]
                    }
                }
            },
            "patterns": [
                {
                    "include": "#string-character-escape",
                    "$impostureLang": {
                        "namespaces": [
                            "repository",
                            "qstring-single",
                            "patterns",
                            0
                        ]
                    }
                }
            ]
        },
        "string-character-escape": {
            "$impostureLang": {
                "type": "string-character-escape",
                "dataType": "string",
                "namespaces": [
                    "repository",
                    "string-character-escape"
                ]
            },
            "name": "constant.character.escape.azLgcAppExp",
            "match": "\\'{2}"
        }
    }
}