123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404 |
- /*!-----------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
- * Released under the MIT license
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
- *-----------------------------------------------------------------------------*/
- define("vs/basic-languages/cpp/cpp",[],()=>{
- var moduleExports = (() => {
- var __defProp = Object.defineProperty;
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
- var __export = (target, all) => {
- __markAsModule(target);
- for (var name in all)
- __defProp(target, name, { get: all[name], enumerable: true });
- };
- // src/basic-languages/cpp/cpp.ts
- var cpp_exports = {};
- __export(cpp_exports, {
- conf: () => conf,
- language: () => language
- });
- var conf = {
- comments: {
- lineComment: "//",
- blockComment: ["/*", "*/"]
- },
- brackets: [
- ["{", "}"],
- ["[", "]"],
- ["(", ")"]
- ],
- autoClosingPairs: [
- { open: "[", close: "]" },
- { open: "{", close: "}" },
- { open: "(", close: ")" },
- { open: "'", close: "'", notIn: ["string", "comment"] },
- { open: '"', close: '"', notIn: ["string"] }
- ],
- surroundingPairs: [
- { open: "{", close: "}" },
- { open: "[", close: "]" },
- { open: "(", close: ")" },
- { open: '"', close: '"' },
- { open: "'", close: "'" }
- ],
- folding: {
- markers: {
- start: new RegExp("^\\s*#pragma\\s+region\\b"),
- end: new RegExp("^\\s*#pragma\\s+endregion\\b")
- }
- }
- };
- var language = {
- defaultToken: "",
- tokenPostfix: ".cpp",
- brackets: [
- { token: "delimiter.curly", open: "{", close: "}" },
- { token: "delimiter.parenthesis", open: "(", close: ")" },
- { token: "delimiter.square", open: "[", close: "]" },
- { token: "delimiter.angle", open: "<", close: ">" }
- ],
- keywords: [
- "abstract",
- "amp",
- "array",
- "auto",
- "bool",
- "break",
- "case",
- "catch",
- "char",
- "class",
- "const",
- "constexpr",
- "const_cast",
- "continue",
- "cpu",
- "decltype",
- "default",
- "delegate",
- "delete",
- "do",
- "double",
- "dynamic_cast",
- "each",
- "else",
- "enum",
- "event",
- "explicit",
- "export",
- "extern",
- "false",
- "final",
- "finally",
- "float",
- "for",
- "friend",
- "gcnew",
- "generic",
- "goto",
- "if",
- "in",
- "initonly",
- "inline",
- "int",
- "interface",
- "interior_ptr",
- "internal",
- "literal",
- "long",
- "mutable",
- "namespace",
- "new",
- "noexcept",
- "nullptr",
- "__nullptr",
- "operator",
- "override",
- "partial",
- "pascal",
- "pin_ptr",
- "private",
- "property",
- "protected",
- "public",
- "ref",
- "register",
- "reinterpret_cast",
- "restrict",
- "return",
- "safe_cast",
- "sealed",
- "short",
- "signed",
- "sizeof",
- "static",
- "static_assert",
- "static_cast",
- "struct",
- "switch",
- "template",
- "this",
- "thread_local",
- "throw",
- "tile_static",
- "true",
- "try",
- "typedef",
- "typeid",
- "typename",
- "union",
- "unsigned",
- "using",
- "virtual",
- "void",
- "volatile",
- "wchar_t",
- "where",
- "while",
- "_asm",
- "_based",
- "_cdecl",
- "_declspec",
- "_fastcall",
- "_if_exists",
- "_if_not_exists",
- "_inline",
- "_multiple_inheritance",
- "_pascal",
- "_single_inheritance",
- "_stdcall",
- "_virtual_inheritance",
- "_w64",
- "__abstract",
- "__alignof",
- "__asm",
- "__assume",
- "__based",
- "__box",
- "__builtin_alignof",
- "__cdecl",
- "__clrcall",
- "__declspec",
- "__delegate",
- "__event",
- "__except",
- "__fastcall",
- "__finally",
- "__forceinline",
- "__gc",
- "__hook",
- "__identifier",
- "__if_exists",
- "__if_not_exists",
- "__inline",
- "__int128",
- "__int16",
- "__int32",
- "__int64",
- "__int8",
- "__interface",
- "__leave",
- "__m128",
- "__m128d",
- "__m128i",
- "__m256",
- "__m256d",
- "__m256i",
- "__m64",
- "__multiple_inheritance",
- "__newslot",
- "__nogc",
- "__noop",
- "__nounwind",
- "__novtordisp",
- "__pascal",
- "__pin",
- "__pragma",
- "__property",
- "__ptr32",
- "__ptr64",
- "__raise",
- "__restrict",
- "__resume",
- "__sealed",
- "__single_inheritance",
- "__stdcall",
- "__super",
- "__thiscall",
- "__try",
- "__try_cast",
- "__typeof",
- "__unaligned",
- "__unhook",
- "__uuidof",
- "__value",
- "__virtual_inheritance",
- "__w64",
- "__wchar_t"
- ],
- operators: [
- "=",
- ">",
- "<",
- "!",
- "~",
- "?",
- ":",
- "==",
- "<=",
- ">=",
- "!=",
- "&&",
- "||",
- "++",
- "--",
- "+",
- "-",
- "*",
- "/",
- "&",
- "|",
- "^",
- "%",
- "<<",
- ">>",
- ">>>",
- "+=",
- "-=",
- "*=",
- "/=",
- "&=",
- "|=",
- "^=",
- "%=",
- "<<=",
- ">>=",
- ">>>="
- ],
- symbols: /[=><!~?:&|+\-*\/\^%]+/,
- escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
- integersuffix: /([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,
- floatsuffix: /[fFlL]?/,
- encoding: /u|u8|U|L/,
- tokenizer: {
- root: [
- [/@encoding?R\"(?:([^ ()\\\t]*))\(/, { token: "string.raw.begin", next: "@raw.$1" }],
- [
- /[a-zA-Z_]\w*/,
- {
- cases: {
- "@keywords": { token: "keyword.$0" },
- "@default": "identifier"
- }
- }
- ],
- [/^\s*#\s*include/, { token: "keyword.directive.include", next: "@include" }],
- [/^\s*#\s*\w+/, "keyword.directive"],
- { include: "@whitespace" },
- [/\[\s*\[/, { token: "annotation", next: "@annotation" }],
- [/[{}()\[\]]/, "@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", "@linecomment"],
- [/\/\/.*$/, "comment"]
- ],
- comment: [
- [/[^\/*]+/, "comment"],
- [/\*\//, "comment", "@pop"],
- [/[\/*]/, "comment"]
- ],
- linecomment: [
- [/.*[^\\]$/, "comment", "@pop"],
- [/[^]+/, "comment"]
- ],
- doccomment: [
- [/[^\/*]+/, "comment.doc"],
- [/\*\//, "comment.doc", "@pop"],
- [/[\/*]/, "comment.doc"]
- ],
- string: [
- [/[^\\"]+/, "string"],
- [/@escapes/, "string.escape"],
- [/\\./, "string.escape.invalid"],
- [/"/, "string", "@pop"]
- ],
- raw: [
- [
- /(.*)(\))(?:([^ ()\\\t"]*))(\")/,
- {
- cases: {
- "$3==$S2": [
- "string.raw",
- "string.raw.end",
- "string.raw.end",
- { token: "string.raw.end", next: "@pop" }
- ],
- "@default": ["string.raw", "string.raw", "string.raw", "string.raw"]
- }
- }
- ],
- [/.*/, "string.raw"]
- ],
- annotation: [
- { include: "@whitespace" },
- [/using|alignas/, "keyword"],
- [/[a-zA-Z0-9_]+/, "annotation"],
- [/[,:]/, "delimiter"],
- [/[()]/, "@brackets"],
- [/\]\s*\]/, { token: "annotation", next: "@pop" }]
- ],
- include: [
- [
- /(\s*)(<)([^<>]*)(>)/,
- [
- "",
- "keyword.directive.include.begin",
- "string.include.identifier",
- { token: "keyword.directive.include.end", next: "@pop" }
- ]
- ],
- [
- /(\s*)(")([^"]*)(")/,
- [
- "",
- "keyword.directive.include.begin",
- "string.include.identifier",
- { token: "keyword.directive.include.end", next: "@pop" }
- ]
- ]
- ]
- }
- };
- return cpp_exports;
- })();
- return moduleExports;
- });
|