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

/***/ 3658:
/*!****************************************************************************!*\
  !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.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/scheme/scheme.ts
var conf = {
  comments: {
    lineComment: ";",
    blockComment: ["#|", "|#"]
  },
  brackets: [["(", ")"], ["{", "}"], ["[", "]"]],
  autoClosingPairs: [{
    open: "{",
    close: "}"
  }, {
    open: "[",
    close: "]"
  }, {
    open: "(",
    close: ")"
  }, {
    open: '"',
    close: '"'
  }],
  surroundingPairs: [{
    open: "{",
    close: "}"
  }, {
    open: "[",
    close: "]"
  }, {
    open: "(",
    close: ")"
  }, {
    open: '"',
    close: '"'
  }]
};
var language = {
  defaultToken: "",
  ignoreCase: true,
  tokenPostfix: ".scheme",
  brackets: [{
    open: "(",
    close: ")",
    token: "delimiter.parenthesis"
  }, {
    open: "{",
    close: "}",
    token: "delimiter.curly"
  }, {
    open: "[",
    close: "]",
    token: "delimiter.square"
  }],
  keywords: ["case", "do", "let", "loop", "if", "else", "when", "cons", "car", "cdr", "cond", "lambda", "lambda*", "syntax-rules", "format", "set!", "quote", "eval", "append", "list", "list?", "member?", "load"],
  constants: ["#t", "#f"],
  operators: ["eq?", "eqv?", "equal?", "and", "or", "not", "null?"],
  tokenizer: {
    root: [[/#[xXoObB][0-9a-fA-F]+/, "number.hex"], [/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/, "number.float"], [/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/, ["keyword", "white", "variable"]], {
      include: "@whitespace"
    }, {
      include: "@strings"
    }, [/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/, {
      cases: {
        "@keywords": "keyword",
        "@constants": "constant",
        "@operators": "operators",
        "@default": "identifier"
      }
    }]],
    comment: [[/[^\|#]+/, "comment"], [/#\|/, "comment", "@push"], [/\|#/, "comment", "@pop"], [/[\|#]/, "comment"]],
    whitespace: [[/[ \t\r\n]+/, "white"], [/#\|/, "comment", "@comment"], [/;.*$/, "comment"]],
    strings: [[/"$/, "string", "@popall"], [/"(?=.)/, "string", "@multiLineString"]],
    multiLineString: [[/[^\\"]+$/, "string", "@popall"], [/[^\\"]+/, "string"], [/\\./, "string.escape"], [/"/, "string", "@popall"], [/\\$/, "string"]]
  }
};


/***/ })

}]);
//# sourceMappingURL=node_modules_monaco-editor_esm_vs_basic-languages_scheme_scheme_js.bc8956f010acd66a.js.map