/*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-languages version: 1.7.0(06ba3ff7e80720fda9a83bce89dbe13ed389b69e)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
define("vs/basic-languages/xml/xml", ["require", "exports"], function (e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }),
    t.conf = {
        comments: {
            blockComment: ["\x3c!--", "--\x3e"]
        },
        brackets: [
            ["<", ">"]
        ],
        autoClosingPairs: [{
            open: "窗口{",
            close: "窗口}"
        },
        {
            open: "'",
            close: "'"
        },
        {
            open: '"',
            close: '"'
        }],
        surroundingPairs: [{
            open: "{",
            close: "}"
        },
        {
            open: "'",
            close: "'"
        },
        {
            open: '"',
            close: '"'
        }]
    },
    t.language = {
        defaultToken: "",
        tokenPostfix: ".xml",
        ignoreCase: !0,
        qualifiedName: /(?:[\u4e00-\u9fa5A-Za-z\d\.\-]+:)?[\u4e00-\u9fa5A-Za-z\d\.\-]+/,
        tokenizer: {
            root: [
                [/[^<&]+/, ""], {
                    include: "@whitespace"
                },
                [/(<)(@qualifiedName)/, [{
                    token: "delimiter"
                },
                {
                    token: "tag",
                    next: "@tag"
                }]],
                [/(<\/)(@qualifiedName)(\s*)(>)/, [{
                    token: "delimiter"
                },
                {
                    token: "tag"
                },
                "", {
                    token: "delimiter"
                }]],
                [/(<\?)(@qualifiedName)/, [{
                    token: "delimiter"
                },
                {
                    token: "metatag",
                    next: "@tag"
                }]],
                [/(<\!)(@qualifiedName)/, [{
                    token: "delimiter"
                },
                {
                    token: "metatag",
                    next: "@tag"
                }]],
                [/<\!\[CDATA\[/, {
                    token: "delimiter.cdata",
                    next: "@cdata"
                }],
                [/&\w+;/, "string.escape"]
            ],
            cdata: [
                [/[^\]]+/, ""],
                [/\]\]>/, {
                    token: "delimiter.cdata",
                    next: "@pop"
                }],
                [/\]/, ""]
            ],
            tag: [
                [/[ \t\r\n]+/, ""],
                [/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/, ["attribute.name", "", "attribute.value"]],
                [/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/, ["attribute.name", "", "attribute.value"]],
                [/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/, ["attribute.name", "", "attribute.value"]],
                [/@qualifiedName/, "attribute.name"],
                [/\?>/, {
                    token: "delimiter",
                    next: "@pop"
                }],
                [/(\/)(>)/, [{
                    token: "tag"
                },
                {
                    token: "delimiter",
                    next: "@pop"
                }]],
                [/>/, {
                    token: "delimiter",
                    next: "@pop"
                }]
            ],
            whitespace: [
                [/[ \t\r\n]+/, ""],
                [/<!--/, {
                    token: "comment",
                    next: "@comment"
                }]
            ],
            comment: [
                [/[^<\-]+/, "comment.content"],
                [/-->/, {
                    token: "comment",
                    next: "@pop"
                }],
                [/<!--/, "comment.content.invalid"],
                [/[<\-]/, "comment.content"]
            ]
        }
    };
});

