"use strict";
(self["webpackChunkiris"] = self["webpackChunkiris"] || []).push([["node_modules_monaco-editor_esm_vs_basic-languages_sophia_sophia_js"],{

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

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "conf": () => (/* binding */ conf),
/* harmony export */   "language": () => (/* binding */ language)
/* harmony export */ });
/*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Version: 0.33.0(4b1abad427e58dbedc1215d99a0902ffc885fcd4)
 * Released under the MIT license
 * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
 *-----------------------------------------------------------------------------*/

// src/basic-languages/sophia/sophia.ts
var conf = {
  comments: {
    lineComment: "//",
    blockComment: ["/*", "*/"]
  },
  brackets: [["{", "}"], ["[", "]"], ["(", ")"], ["<", ">"]],
  autoClosingPairs: [{
    open: '"',
    close: '"',
    notIn: ["string", "comment"]
  }, {
    open: "{",
    close: "}",
    notIn: ["string", "comment"]
  }, {
    open: "[",
    close: "]",
    notIn: ["string", "comment"]
  }, {
    open: "(",
    close: ")",
    notIn: ["string", "comment"]
  }]
};
var language = {
  defaultToken: "",
  tokenPostfix: ".aes",
  brackets: [{
    token: "delimiter.curly",
    open: "{",
    close: "}"
  }, {
    token: "delimiter.parenthesis",
    open: "(",
    close: ")"
  }, {
    token: "delimiter.square",
    open: "[",
    close: "]"
  }, {
    token: "delimiter.angle",
    open: "<",
    close: ">"
  }],
  keywords: ["contract", "library", "entrypoint", "function", "stateful", "state", "hash", "signature", "tuple", "list", "address", "string", "bool", "int", "record", "datatype", "type", "option", "oracle", "oracle_query", "Call", "Bits", "Bytes", "Oracle", "String", "Crypto", "Address", "Auth", "Chain", "None", "Some", "bits", "bytes", "event", "let", "map", "private", "public", "true", "false", "var", "if", "else", "throw"],
  operators: ["=", ">", "<", "!", "~", "?", "::", ":", "==", "<=", ">=", "!=", "&&", "||", "++", "--", "+", "-", "*", "/", "&", "|", "^", "%", "<<", ">>", ">>>", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>="],
  symbols: /[=><!~?:&|+\-*\/\^%]+/,
  escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
  integersuffix: /(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,
  floatsuffix: /[fFlL]?/,
  tokenizer: {
    root: [[/[a-zA-Z_]\w*/, {
      cases: {
        "@keywords": {
          token: "keyword.$0"
        },
        "@default": "identifier"
      }
    }], {
      include: "@whitespace"
    }, [/\[\[.*\]\]/, "annotation"], [/^\s*#\w+/, "keyword"], [/int\d*/, "keyword"], [/[{}()\[\]]/, "@brackets"], [/[<>](?!@symbols)/, "@brackets"], [/@symbols/, {
      cases: {
        "@operators": "delimiter",
        "@default": ""
      }
    }], [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, "number.float"], [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, "number.float"], [/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, "number.hex"], [/0[0-7']*[0-7](@integersuffix)/, "number.octal"], [/0[bB][0-1']*[0-1](@integersuffix)/, "number.binary"], [/\d[\d']*\d(@integersuffix)/, "number"], [/\d(@integersuffix)/, "number"], [/[;,.]/, "delimiter"], [/"([^"\\]|\\.)*$/, "string.invalid"], [/"/, "string", "@string"], [/'[^\\']'/, "string"], [/(')(@escapes)(')/, ["string", "string.escape", "string"]], [/'/, "string.invalid"]],
    whitespace: [[/[ \t\r\n]+/, ""], [/\/\*\*(?!\/)/, "comment.doc", "@doccomment"], [/\/\*/, "comment", "@comment"], [/\/\/.*$/, "comment"]],
    comment: [[/[^\/*]+/, "comment"], [/\*\//, "comment", "@pop"], [/[\/*]/, "comment"]],
    doccomment: [[/[^\/*]+/, "comment.doc"], [/\*\//, "comment.doc", "@pop"], [/[\/*]/, "comment.doc"]],
    string: [[/[^\\"]+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/"/, "string", "@pop"]]
  }
};


/***/ })

}]);
//# sourceMappingURL=node_modules_monaco-editor_esm_vs_basic-languages_sophia_sophia_js.dda48624edf64194.js.map