{"version":3,"file":"mode-smithy-0fc64998.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-smithy.js"],"sourcesContent":["ace.define(\"ace/mode/smithy_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){/* This file was autogenerated from https://raw.githubusercontent.com/awslabs/smithy-vscode/master/syntaxes/smithy.tmLanguage (uuid: ) */\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar SmithyHighlightRules = function () {\n this.$rules = {\n start: [{\n include: \"#comment\"\n }, {\n token: [\n \"meta.keyword.statement.smithy\",\n \"variable.other.smithy\",\n \"text\",\n \"keyword.operator.smithy\"\n ],\n regex: /^(\\$)(\\s+.+)(\\s*)(=)/\n }, {\n token: [\n \"keyword.statement.smithy\",\n \"text\",\n \"entity.name.type.namespace.smithy\"\n ],\n regex: /^(namespace)(\\s+)([A-Z-a-z0-9_\\.#$-]+)/\n }, {\n token: [\n \"keyword.statement.smithy\",\n \"text\",\n \"keyword.statement.smithy\",\n \"text\",\n \"entity.name.type.smithy\"\n ],\n regex: /^(use)(\\s+)(shape|trait)(\\s+)([A-Z-a-z0-9_\\.#$-]+)\\b/\n }, {\n token: [\n \"keyword.statement.smithy\",\n \"variable.other.smithy\",\n \"text\",\n \"keyword.operator.smithy\"\n ],\n regex: /^(metadata)(\\s+.+)(\\s*)(=)/\n }, {\n token: [\n \"keyword.statement.smithy\",\n \"text\",\n \"entity.name.type.smithy\"\n ],\n regex: /^(apply|byte|short|integer|long|float|double|bigInteger|bigDecimal|boolean|blob|string|timestamp|service|resource|trait|list|map|set|structure|union|document)(\\s+)([A-Z-a-z0-9_\\.#$-]+)\\b/\n }, {\n token: [\n \"keyword.operator.smithy\",\n \"text\",\n \"entity.name.type.smithy\",\n \"text\",\n \"text\",\n \"support.function.smithy\",\n \"text\",\n \"text\",\n \"support.function.smithy\"\n ],\n regex: /^(operation)(\\s+)([A-Z-a-z0-9_\\.#$-]+)(\\(.*\\))(?:(\\s*)(->)(\\s*[A-Z-a-z0-9_\\.#$-]+))?(?:(\\s+)(errors))?/\n }, {\n include: \"#trait\"\n }, {\n token: [\n \"support.type.property-name.smithy\",\n \"punctuation.separator.dictionary.pair.smithy\"\n ],\n regex: /([A-Z-a-z0-9_\\.#$-]+)(:)/\n }, {\n include: \"#value\"\n }, {\n token: \"keyword.other.smithy\",\n regex: /\\->/\n }],\n \"#comment\": [{\n include: \"#doc_comment\"\n }, {\n include: \"#line_comment\"\n }],\n \"#doc_comment\": [{\n token: \"comment.block.documentation.smithy\",\n regex: /\\/\\/\\/.*/\n }],\n \"#line_comment\": [{\n token: \"comment.line.double-slash.smithy\",\n regex: /\\/\\/.*/\n }],\n \"#trait\": [{\n token: [\n \"punctuation.definition.annotation.smithy\",\n \"storage.type.annotation.smithy\"\n ],\n regex: /(@)([0-9a-zA-Z\\.#-]+)/\n }, {\n token: [\n \"punctuation.definition.annotation.smithy\",\n \"punctuation.definition.object.end.smithy\",\n \"meta.structure.smithy\"\n ],\n regex: /(@)([0-9a-zA-Z\\.#-]+)(\\()/,\n push: [{\n token: \"punctuation.definition.object.end.smithy\",\n regex: /\\)/,\n next: \"pop\"\n }, {\n include: \"#value\"\n }, {\n include: \"#object_inner\"\n }, {\n defaultToken: \"meta.structure.smithy\"\n }]\n }],\n \"#value\": [{\n include: \"#constant\"\n }, {\n include: \"#number\"\n }, {\n include: \"#string\"\n }, {\n include: \"#array\"\n }, {\n include: \"#object\"\n }],\n \"#array\": [{\n token: \"punctuation.definition.array.begin.smithy\",\n regex: /\\[/,\n push: [{\n token: \"punctuation.definition.array.end.smithy\",\n regex: /\\]/,\n next: \"pop\"\n }, {\n include: \"#comment\"\n }, {\n include: \"#value\"\n }, {\n token: \"punctuation.separator.array.smithy\",\n regex: /,/\n }, {\n token: \"invalid.illegal.expected-array-separator.smithy\",\n regex: /[^\\s\\]]/\n }, {\n defaultToken: \"meta.structure.array.smithy\"\n }]\n }],\n \"#constant\": [{\n token: \"constant.language.smithy\",\n regex: /\\b(?:true|false|null)\\b/\n }],\n \"#number\": [{\n token: \"constant.numeric.smithy\",\n regex: /-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?/\n }],\n \"#object\": [{\n token: \"punctuation.definition.dictionary.begin.smithy\",\n regex: /\\{/,\n push: [{\n token: \"punctuation.definition.dictionary.end.smithy\",\n regex: /\\}/,\n next: \"pop\"\n }, {\n include: \"#trait\"\n }, {\n include: \"#object_inner\"\n }, {\n defaultToken: \"meta.structure.dictionary.smithy\"\n }]\n }],\n \"#object_inner\": [{\n include: \"#comment\"\n }, {\n include: \"#string_key\"\n }, {\n token: \"punctuation.separator.dictionary.key-value.smithy\",\n regex: /:/,\n push: [{\n token: \"punctuation.separator.dictionary.pair.smithy\",\n regex: /,|(?=\\})/,\n next: \"pop\"\n }, {\n include: \"#value\"\n }, {\n token: \"invalid.illegal.expected-dictionary-separator.smithy\",\n regex: /[^\\s,]/\n }, {\n defaultToken: \"meta.structure.dictionary.value.smithy\"\n }]\n }, {\n token: \"invalid.illegal.expected-dictionary-separator.smithy\",\n regex: /[^\\s\\}]/\n }],\n \"#string_key\": [{\n include: \"#identifier_key\"\n }, {\n include: \"#dquote_key\"\n }, {\n include: \"#squote_key\"\n }],\n \"#identifier_key\": [{\n token: \"support.type.property-name.smithy\",\n regex: /[A-Z-a-z0-9_\\.#$-]+/\n }],\n \"#dquote_key\": [{\n include: \"#dquote\"\n }],\n \"#squote_key\": [{\n include: \"#squote\"\n }],\n \"#string\": [{\n include: \"#textblock\"\n }, {\n include: \"#dquote\"\n }, {\n include: \"#squote\"\n }, {\n include: \"#identifier\"\n }],\n \"#textblock\": [{\n token: \"punctuation.definition.string.begin.smithy\",\n regex: /\"\"\"/,\n push: [{\n token: \"punctuation.definition.string.end.smithy\",\n regex: /\"\"\"/,\n next: \"pop\"\n }, {\n token: \"constant.character.escape.smithy\",\n regex: /\\\\./\n }, {\n defaultToken: \"string.quoted.double.smithy\"\n }]\n }],\n \"#dquote\": [{\n token: \"punctuation.definition.string.begin.smithy\",\n regex: /\"/,\n push: [{\n token: \"punctuation.definition.string.end.smithy\",\n regex: /\"/,\n next: \"pop\"\n }, {\n token: \"constant.character.escape.smithy\",\n regex: /\\\\./\n }, {\n defaultToken: \"string.quoted.double.smithy\"\n }]\n }],\n \"#squote\": [{\n token: \"punctuation.definition.string.begin.smithy\",\n regex: /'/,\n push: [{\n token: \"punctuation.definition.string.end.smithy\",\n regex: /'/,\n next: \"pop\"\n }, {\n token: \"constant.character.escape.smithy\",\n regex: /\\\\./\n }, {\n defaultToken: \"string.quoted.single.smithy\"\n }]\n }],\n \"#identifier\": [{\n token: \"storage.type.smithy\",\n regex: /[A-Z-a-z_][A-Z-a-z0-9_\\.#$-]*/\n }]\n };\n this.normalizeRules();\n};\nSmithyHighlightRules.metaData = {\n name: \"Smithy\",\n fileTypes: [\"smithy\"],\n scopeName: \"source.smithy\",\n foldingStartMarker: \"(\\\\{|\\\\[)\\\\s*\",\n foldingStopMarker: \"\\\\s*(\\\\}|\\\\])\"\n};\noop.inherits(SmithyHighlightRules, TextHighlightRules);\nexports.SmithyHighlightRules = SmithyHighlightRules;\n\n});\n\nace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"../range\").Range;\nvar MatchingBraceOutdent = function () { };\n(function () {\n this.checkOutdent = function (line, input) {\n if (!/^\\s+$/.test(line))\n return false;\n return /^\\s*\\}/.test(input);\n };\n this.autoOutdent = function (doc, row) {\n var line = doc.getLine(row);\n var match = line.match(/^(\\s*\\})/);\n if (!match)\n return 0;\n var column = match[1].length;\n var openBracePos = doc.findMatchingBracket({ row: row, column: column });\n if (!openBracePos || openBracePos.row == row)\n return 0;\n var indent = this.$getIndent(doc.getLine(openBracePos.row));\n doc.replace(new Range(row, 0, row, column - 1), indent);\n };\n this.$getIndent = function (line) {\n return line.match(/^\\s*/)[0];\n };\n}).call(MatchingBraceOutdent.prototype);\nexports.MatchingBraceOutdent = MatchingBraceOutdent;\n\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Range = require(\"../../range\").Range;\nvar BaseFoldMode = require(\"./fold_mode\").FoldMode;\nvar FoldMode = exports.FoldMode = function (commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start));\n this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end));\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n(function () {\n this.foldingStartMarker = /([\\{\\[\\(])[^\\}\\]\\)]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{\\(]*([\\}\\]\\)])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe = /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function (session, foldStyle, row) {\n var line = session.getLine(row);\n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n return fw;\n };\n this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n }\n else if (foldStyle != \"all\")\n range = null;\n }\n return range;\n }\n if (foldStyle === \"markbegin\")\n return;\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n this.getSectionRange = function (session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n }\n else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n }\n else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function (session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m)\n continue;\n if (m[1])\n depth--;\n else\n depth++;\n if (!depth)\n break;\n }\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/smithy\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/smithy_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/folding/cstyle\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextMode = require(\"./text\").Mode;\nvar SmithyHighlightRules = require(\"./smithy_highlight_rules\").SmithyHighlightRules;\nvar MatchingBraceOutdent = require(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar CStyleFoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = SmithyHighlightRules;\n this.$outdent = new MatchingBraceOutdent();\n this.$behaviour = this.$defaultBehaviour;\n this.foldingRules = new CStyleFoldMode();\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.lineCommentStart = \"//\";\n this.$quotes = { '\"': '\"' };\n this.checkOutdent = function (state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n this.autoOutdent = function (state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n this.$id = \"ace/mode/smithy\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/smithy\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n "],"names":["require","exports","module","oop","TextHighlightRules","SmithyHighlightRules","Range","MatchingBraceOutdent","line","input","doc","row","match","column","openBracePos","indent","BaseFoldMode","FoldMode","commentRegex","session","foldStyle","fw","forceMultiline","i","range","startIndent","startRow","startColumn","endRow","maxRow","subRange","re","depth","m","TextMode","CStyleFoldMode","Mode","state"],"mappings":"gaAAA,IAAI,OAAO,kCAAkC,CAAC,UAAU,UAAU,SAAS,cAAc,+BAA+B,EAAG,SAASA,EAASC,EAASC,EAAO,CAE7J,IAAIC,EAAMH,EAAQ,YAAY,EAC1BI,EAAqBJ,EAAQ,wBAAwB,EAAE,mBACvDK,EAAuB,UAAY,CACnC,KAAK,OAAS,CACV,MAAO,CAAC,CACA,QAAS,UACzB,EAAe,CACC,MAAO,CACH,gCACA,wBACA,OACA,yBACH,EACD,MAAO,sBACvB,EAAe,CACC,MAAO,CACH,2BACA,OACA,mCACH,EACD,MAAO,wCACvB,EAAe,CACC,MAAO,CACH,2BACA,OACA,2BACA,OACA,yBACH,EACD,MAAO,sDACvB,EAAe,CACC,MAAO,CACH,2BACA,wBACA,OACA,yBACH,EACD,MAAO,4BACvB,EAAe,CACC,MAAO,CACH,2BACA,OACA,yBACH,EACD,MAAO,4LACvB,EAAe,CACC,MAAO,CACH,0BACA,OACA,0BACA,OACA,OACA,0BACA,OACA,OACA,yBACH,EACD,MAAO,wGACvB,EAAe,CACC,QAAS,QACzB,EAAe,CACC,MAAO,CACH,oCACA,8CACH,EACD,MAAO,0BACvB,EAAe,CACC,QAAS,QACzB,EAAe,CACC,MAAO,uBACP,MAAO,KACvB,CAAa,EACL,WAAY,CAAC,CACL,QAAS,cACzB,EAAe,CACC,QAAS,eACzB,CAAa,EACL,eAAgB,CAAC,CACT,MAAO,qCACP,MAAO,UACvB,CAAa,EACL,gBAAiB,CAAC,CACV,MAAO,mCACP,MAAO,QACvB,CAAa,EACL,SAAU,CAAC,CACH,MAAO,CACH,2CACA,gCACH,EACD,MAAO,uBACvB,EAAe,CACC,MAAO,CACH,2CACA,2CACA,uBACH,EACD,MAAO,4BACP,KAAM,CAAC,CACC,MAAO,2CACP,MAAO,KACP,KAAM,KAC9B,EAAuB,CACC,QAAS,QACjC,EAAuB,CACC,QAAS,eACjC,EAAuB,CACC,aAAc,uBACtC,CAAqB,CACrB,CAAa,EACL,SAAU,CAAC,CACH,QAAS,WACzB,EAAe,CACC,QAAS,SACzB,EAAe,CACC,QAAS,SACzB,EAAe,CACC,QAAS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","x_google_ignoreList":[0]}