/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.0(f6dc0eb8fce67e57f6036f4769d92c1666cdf546) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ define("vs/basic-languages/apex/apex", ["require"],(require)=>{ "use strict"; var moduleExports = (() => { var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/basic-languages/apex/apex.ts var apex_exports = {}; __export(apex_exports, { conf: () => conf, language: () => language }); var conf = { // the default separators except `@$` wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, comments: { lineComment: "//", blockComment: ["/*", "*/"] }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ], autoClosingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' }, { open: "'", close: "'" } ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' }, { open: "'", close: "'" }, { open: "<", close: ">" } ], folding: { markers: { start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))") } } }; var keywords = [ "abstract", "activate", "and", "any", "array", "as", "asc", "assert", "autonomous", "begin", "bigdecimal", "blob", "boolean", "break", "bulk", "by", "case", "cast", "catch", "char", "class", "collect", "commit", "const", "continue", "convertcurrency", "decimal", "default", "delete", "desc", "do", "double", "else", "end", "enum", "exception", "exit", "export", "extends", "false", "final", "finally", "float", "for", "from", "future", "get", "global", "goto", "group", "having", "hint", "if", "implements", "import", "in", "inner", "insert", "instanceof", "int", "interface", "into", "join", "last_90_days", "last_month", "last_n_days", "last_week", "like", "limit", "list", "long", "loop", "map", "merge", "native", "new", "next_90_days", "next_month", "next_n_days", "next_week", "not", "null", "nulls", "number", "object", "of", "on", "or", "outer", "override", "package", "parallel", "pragma", "private", "protected", "public", "retrieve", "return", "returning", "rollback", "savepoint", "search", "select", "set", "short", "sort", "stat", "static", "strictfp", "super", "switch", "synchronized", "system", "testmethod", "then", "this", "this_month", "this_week", "throw", "throws", "today", "tolabel", "tomorrow", "transaction", "transient", "trigger", "true", "try", "type", "undelete", "update", "upsert", "using", "virtual", "void", "volatile", "webservice", "when", "where", "while", "yesterday" ]; var uppercaseFirstLetter = (lowercase) => lowercase.charAt(0).toUpperCase() + lowercase.substr(1); var keywordsWithCaseVariations = []; keywords.forEach((lowercase) => { keywordsWithCaseVariations.push(lowercase); keywordsWithCaseVariations.push(lowercase.toUpperCase()); keywordsWithCaseVariations.push(uppercaseFirstLetter(lowercase)); }); var language = { defaultToken: "", tokenPostfix: ".apex", keywords: keywordsWithCaseVariations, operators: [ "=", ">", "<", "!", "~", "?", ":", "==", "<=", ">=", "!=", "&&", "||", "++", "--", "+", "-", "*", "/", "&", "|", "^", "%", "<<", ">>", ">>>", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=" ], // we include these common regular expressions symbols: /[=>](?!@symbols)/, "@brackets"], [ /@symbols/, { cases: { "@operators": "delimiter", "@default": "" } } ], // @ annotations. [/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"], // numbers [/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"], [/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"], [/(@digits)[fFdD]/, "number.float"], [/(@digits)[lL]?/, "number"], // delimiter: after number because of .\d floats [/[;,.]/, "delimiter"], // strings [/"([^"\\]|\\.)*$/, "string.invalid"], // non-teminated string [/'([^'\\]|\\.)*$/, "string.invalid"], // non-teminated string [/"/, "string", '@string."'], [/'/, "string", "@string.'"], // characters [/'[^\\']'/, "string"], [/(')(@escapes)(')/, ["string", "string.escape", "string"]], [/'/, "string.invalid"] ], whitespace: [ [/[ \t\r\n]+/, ""], [/\/\*\*(?!\/)/, "comment.doc", "@apexdoc"], [/\/\*/, "comment", "@comment"], [/\/\/.*$/, "comment"] ], comment: [ [/[^\/*]+/, "comment"], // [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-( // [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/ [/\*\//, "comment", "@pop"], [/[\/*]/, "comment"] ], //Identical copy of comment above, except for the addition of .doc apexdoc: [ [/[^\/*]+/, "comment.doc"], [/\*\//, "comment.doc", "@pop"], [/[\/*]/, "comment.doc"] ], string: [ [/[^\\"']+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [ /["']/, { cases: { "$#==$S2": { token: "string", next: "@pop" }, "@default": "string" } } ] ] } }; return __toCommonJS(apex_exports); })(); return moduleExports; });