/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunkbrowser_esm_webpack"] = self["webpackChunkbrowser_esm_webpack"] || []).push([["node_modules_monaco-editor_esm_vs_basic-languages_swift_swift_js"],{

/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js":
/*!**************************************************************************!*\
  !*** ./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"conf\": () => (/* binding */ conf),\n/* harmony export */   \"language\": () => (/* binding */ language)\n/* harmony export */ });\n/*!---------------------------------------------------------------------------------------------\r\n *  Copyright (C) David Owens II, owensd.io. All rights reserved.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar conf = {\r\n    comments: {\r\n        lineComment: '//',\r\n        blockComment: ['/*', '*/']\r\n    },\r\n    brackets: [\r\n        ['{', '}'],\r\n        ['[', ']'],\r\n        ['(', ')']\r\n    ],\r\n    autoClosingPairs: [\r\n        { open: '{', close: '}' },\r\n        { open: '[', close: ']' },\r\n        { open: '(', close: ')' },\r\n        { open: '\"', close: '\"' },\r\n        { open: \"'\", close: \"'\" },\r\n        { open: '`', close: '`' }\r\n    ],\r\n    surroundingPairs: [\r\n        { open: '{', close: '}' },\r\n        { open: '[', close: ']' },\r\n        { open: '(', close: ')' },\r\n        { open: '\"', close: '\"' },\r\n        { open: \"'\", close: \"'\" },\r\n        { open: '`', close: '`' }\r\n    ]\r\n};\r\nvar language = {\r\n    defaultToken: '',\r\n    tokenPostfix: '.swift',\r\n    // TODO(owensd): Support the full range of unicode valid identifiers.\r\n    identifier: /[a-zA-Z_][\\w$]*/,\r\n    // TODO(owensd): Support the @availability macro properly.\r\n    attributes: [\r\n        '@autoclosure',\r\n        '@noescape',\r\n        '@noreturn',\r\n        '@NSApplicationMain',\r\n        '@NSCopying',\r\n        '@NSManaged',\r\n        '@objc',\r\n        '@UIApplicationMain',\r\n        '@noreturn',\r\n        '@availability',\r\n        '@IBAction',\r\n        '@IBDesignable',\r\n        '@IBInspectable',\r\n        '@IBOutlet'\r\n    ],\r\n    accessmodifiers: ['public', 'private', 'internal'],\r\n    keywords: [\r\n        '__COLUMN__',\r\n        '__FILE__',\r\n        '__FUNCTION__',\r\n        '__LINE__',\r\n        'as',\r\n        'as!',\r\n        'as?',\r\n        'associativity',\r\n        'break',\r\n        'case',\r\n        'catch',\r\n        'class',\r\n        'continue',\r\n        'convenience',\r\n        'default',\r\n        'deinit',\r\n        'didSet',\r\n        'do',\r\n        'dynamic',\r\n        'dynamicType',\r\n        'else',\r\n        'enum',\r\n        'extension',\r\n        'fallthrough',\r\n        'final',\r\n        'for',\r\n        'func',\r\n        'get',\r\n        'guard',\r\n        'if',\r\n        'import',\r\n        'in',\r\n        'infix',\r\n        'init',\r\n        'inout',\r\n        'internal',\r\n        'is',\r\n        'lazy',\r\n        'left',\r\n        'let',\r\n        'mutating',\r\n        'nil',\r\n        'none',\r\n        'nonmutating',\r\n        'operator',\r\n        'optional',\r\n        'override',\r\n        'postfix',\r\n        'precedence',\r\n        'prefix',\r\n        'private',\r\n        'protocol',\r\n        'Protocol',\r\n        'public',\r\n        'repeat',\r\n        'required',\r\n        'return',\r\n        'right',\r\n        'self',\r\n        'Self',\r\n        'set',\r\n        'static',\r\n        'struct',\r\n        'subscript',\r\n        'super',\r\n        'switch',\r\n        'throw',\r\n        'throws',\r\n        'try',\r\n        'try!',\r\n        'Type',\r\n        'typealias',\r\n        'unowned',\r\n        'var',\r\n        'weak',\r\n        'where',\r\n        'while',\r\n        'willSet',\r\n        'FALSE',\r\n        'TRUE'\r\n    ],\r\n    symbols: /[=(){}\\[\\].,:;@#\\_&\\-<>`?!+*\\\\\\/]/,\r\n    // Moved . to operatorstart so it can be a delimiter\r\n    operatorstart: /[\\/=\\-+!*%<>&|^~?\\u00A1-\\u00A7\\u00A9\\u00AB\\u00AC\\u00AE\\u00B0-\\u00B1\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7\\u2016-\\u2017\\u2020-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u23FF\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3030]/,\r\n    operatorend: /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uE0100-\\uE01EF]/,\r\n    operators: /(@operatorstart)((@operatorstart)|(@operatorend))*/,\r\n    // TODO(owensd): These are borrowed from C#; need to validate correctness for Swift.\r\n    escapes: /\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\r\n    tokenizer: {\r\n        root: [\r\n            { include: '@whitespace' },\r\n            { include: '@comment' },\r\n            { include: '@attribute' },\r\n            { include: '@literal' },\r\n            { include: '@keyword' },\r\n            { include: '@invokedmethod' },\r\n            { include: '@symbol' }\r\n        ],\r\n        whitespace: [\r\n            [/\\s+/, 'white'],\r\n            [/\"\"\"/, 'string.quote', '@endDblDocString']\r\n        ],\r\n        endDblDocString: [\r\n            [/[^\"]+/, 'string'],\r\n            [/\\\\\"/, 'string'],\r\n            [/\"\"\"/, 'string.quote', '@popall'],\r\n            [/\"/, 'string']\r\n        ],\r\n        symbol: [\r\n            [/[{}()\\[\\]]/, '@brackets'],\r\n            [/[<>](?!@symbols)/, '@brackets'],\r\n            [/[.]/, 'delimiter'],\r\n            [/@operators/, 'operator'],\r\n            [/@symbols/, 'operator']\r\n        ],\r\n        comment: [\r\n            [/\\/\\/\\/.*$/, 'comment.doc'],\r\n            [/\\/\\*\\*/, 'comment.doc', '@commentdocbody'],\r\n            [/\\/\\/.*$/, 'comment'],\r\n            [/\\/\\*/, 'comment', '@commentbody']\r\n        ],\r\n        commentdocbody: [\r\n            [/\\/\\*/, 'comment', '@commentbody'],\r\n            [/\\*\\//, 'comment.doc', '@pop'],\r\n            [/\\:[a-zA-Z]+\\:/, 'comment.doc.param'],\r\n            [/./, 'comment.doc']\r\n        ],\r\n        commentbody: [\r\n            [/\\/\\*/, 'comment', '@commentbody'],\r\n            [/\\*\\//, 'comment', '@pop'],\r\n            [/./, 'comment']\r\n        ],\r\n        attribute: [\r\n            [\r\n                /\\@@identifier/,\r\n                {\r\n                    cases: {\r\n                        '@attributes': 'keyword.control',\r\n                        '@default': ''\r\n                    }\r\n                }\r\n            ]\r\n        ],\r\n        literal: [\r\n            [/\"/, { token: 'string.quote', next: '@stringlit' }],\r\n            [/0[b]([01]_?)+/, 'number.binary'],\r\n            [/0[o]([0-7]_?)+/, 'number.octal'],\r\n            [/0[x]([0-9a-fA-F]_?)+([pP][\\-+](\\d_?)+)?/, 'number.hex'],\r\n            [/(\\d_?)*\\.(\\d_?)+([eE][\\-+]?(\\d_?)+)?/, 'number.float'],\r\n            [/(\\d_?)+/, 'number']\r\n        ],\r\n        stringlit: [\r\n            [/\\\\\\(/, { token: 'operator', next: '@interpolatedexpression' }],\r\n            [/@escapes/, 'string'],\r\n            [/\\\\./, 'string.escape.invalid'],\r\n            [/\"/, { token: 'string.quote', next: '@pop' }],\r\n            [/./, 'string']\r\n        ],\r\n        interpolatedexpression: [\r\n            [/\\(/, { token: 'operator', next: '@interpolatedexpression' }],\r\n            [/\\)/, { token: 'operator', next: '@pop' }],\r\n            { include: '@literal' },\r\n            { include: '@keyword' },\r\n            { include: '@symbol' }\r\n        ],\r\n        keyword: [\r\n            [/`/, { token: 'operator', next: '@escapedkeyword' }],\r\n            [\r\n                /@identifier/,\r\n                {\r\n                    cases: {\r\n                        '@keywords': 'keyword',\r\n                        '[A-Z][a-zA-Z0-9$]*': 'type.identifier',\r\n                        '@default': 'identifier'\r\n                    }\r\n                }\r\n            ]\r\n        ],\r\n        escapedkeyword: [\r\n            [/`/, { token: 'operator', next: '@pop' }],\r\n            [/./, 'identifier']\r\n        ],\r\n        //\t\tsymbol: [\r\n        //\t\t\t[ /@symbols/, 'operator' ],\r\n        //\t\t\t[ /@operators/, 'operator' ]\r\n        //\t\t],\r\n        invokedmethod: [\r\n            [\r\n                /([.])(@identifier)/,\r\n                {\r\n                    cases: {\r\n                        $2: ['delimeter', 'type.identifier'],\r\n                        '@default': ''\r\n                    }\r\n                }\r\n            ]\r\n        ]\r\n    }\r\n};\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js?");

/***/ })

}]);