yanzi-monaco-editorbb
Version:
这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器
245 lines (240 loc) • 11.1 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[44],{
/***/ "40ac":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "conf", function() { return conf; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "language", function() { return language; });
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.32.1(29a273516805a852aa8edc5e05059f119b13eff0)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
// src/basic-languages/perl/perl.ts
var conf = {
comments: {
lineComment: "#"
},
brackets: [["{", "}"], ["[", "]"], ["(", ")"]],
autoClosingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}, {
open: "`",
close: "`"
}],
surroundingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}, {
open: "`",
close: "`"
}]
};
var language = {
defaultToken: "",
tokenPostfix: ".perl",
brackets: [{
token: "delimiter.bracket",
open: "{",
close: "}"
}, {
token: "delimiter.parenthesis",
open: "(",
close: ")"
}, {
token: "delimiter.square",
open: "[",
close: "]"
}],
keywords: ["__DATA__", "else", "lock", "__END__", "elsif", "lt", "__FILE__", "eq", "__LINE__", "exp", "ne", "sub", "__PACKAGE__", "for", "no", "and", "foreach", "or", "unless", "cmp", "ge", "package", "until", "continue", "gt", "while", "CORE", "if", "xor", "do", "le", "__DIE__", "__WARN__"],
builtinFunctions: ["-A", "END", "length", "setpgrp", "-B", "endgrent", "link", "setpriority", "-b", "endhostent", "listen", "setprotoent", "-C", "endnetent", "local", "setpwent", "-c", "endprotoent", "localtime", "setservent", "-d", "endpwent", "log", "setsockopt", "-e", "endservent", "lstat", "shift", "-f", "eof", "map", "shmctl", "-g", "eval", "mkdir", "shmget", "-k", "exec", "msgctl", "shmread", "-l", "exists", "msgget", "shmwrite", "-M", "exit", "msgrcv", "shutdown", "-O", "fcntl", "msgsnd", "sin", "-o", "fileno", "my", "sleep", "-p", "flock", "next", "socket", "-r", "fork", "not", "socketpair", "-R", "format", "oct", "sort", "-S", "formline", "open", "splice", "-s", "getc", "opendir", "split", "-T", "getgrent", "ord", "sprintf", "-t", "getgrgid", "our", "sqrt", "-u", "getgrnam", "pack", "srand", "-w", "gethostbyaddr", "pipe", "stat", "-W", "gethostbyname", "pop", "state", "-X", "gethostent", "pos", "study", "-x", "getlogin", "print", "substr", "-z", "getnetbyaddr", "printf", "symlink", "abs", "getnetbyname", "prototype", "syscall", "accept", "getnetent", "push", "sysopen", "alarm", "getpeername", "quotemeta", "sysread", "atan2", "getpgrp", "rand", "sysseek", "AUTOLOAD", "getppid", "read", "system", "BEGIN", "getpriority", "readdir", "syswrite", "bind", "getprotobyname", "readline", "tell", "binmode", "getprotobynumber", "readlink", "telldir", "bless", "getprotoent", "readpipe", "tie", "break", "getpwent", "recv", "tied", "caller", "getpwnam", "redo", "time", "chdir", "getpwuid", "ref", "times", "CHECK", "getservbyname", "rename", "truncate", "chmod", "getservbyport", "require", "uc", "chomp", "getservent", "reset", "ucfirst", "chop", "getsockname", "return", "umask", "chown", "getsockopt", "reverse", "undef", "chr", "glob", "rewinddir", "UNITCHECK", "chroot", "gmtime", "rindex", "unlink", "close", "goto", "rmdir", "unpack", "closedir", "grep", "say", "unshift", "connect", "hex", "scalar", "untie", "cos", "index", "seek", "use", "crypt", "INIT", "seekdir", "utime", "dbmclose", "int", "select", "values", "dbmopen", "ioctl", "semctl", "vec", "defined", "join", "semget", "wait", "delete", "keys", "semop", "waitpid", "DESTROY", "kill", "send", "wantarray", "die", "last", "setgrent", "warn", "dump", "lc", "sethostent", "write", "each", "lcfirst", "setnetent"],
builtinFileHandlers: ["ARGV", "STDERR", "STDOUT", "ARGVOUT", "STDIN", "ENV"],
builtinVariables: ["$!", "$^RE_TRIE_MAXBUF", "$LAST_REGEXP_CODE_RESULT", '$"', "$^S", "$LIST_SEPARATOR", "$#", "$^T", "$MATCH", "$$", "$^TAINT", "$MULTILINE_MATCHING", "$%", "$^UNICODE", "$NR", "$&", "$^UTF8LOCALE", "$OFMT", "$'", "$^V", "$OFS", "$(", "$^W", "$ORS", "$)", "$^WARNING_BITS", "$OS_ERROR", "$*", "$^WIDE_SYSTEM_CALLS", "$OSNAME", "$+", "$^X", "$OUTPUT_AUTO_FLUSH", "$,", "$_", "$OUTPUT_FIELD_SEPARATOR", "$-", "$`", "$OUTPUT_RECORD_SEPARATOR", "$.", "$a", "$PERL_VERSION", "$/", "$ACCUMULATOR", "$PERLDB", "$0", "$ARG", "$PID", "$:", "$ARGV", "$POSTMATCH", "$;", "$b", "$PREMATCH", "$<", "$BASETIME", "$PROCESS_ID", "$=", "$CHILD_ERROR", "$PROGRAM_NAME", "$>", "$COMPILING", "$REAL_GROUP_ID", "$?", "$DEBUGGING", "$REAL_USER_ID", "$@", "$EFFECTIVE_GROUP_ID", "$RS", "$[", "$EFFECTIVE_USER_ID", "$SUBSCRIPT_SEPARATOR", "$\\", "$EGID", "$SUBSEP", "$]", "$ERRNO", "$SYSTEM_FD_MAX", "$^", "$EUID", "$UID", "$^A", "$EVAL_ERROR", "$WARNING", "$^C", "$EXCEPTIONS_BEING_CAUGHT", "$|", "$^CHILD_ERROR_NATIVE", "$EXECUTABLE_NAME", "$~", "$^D", "$EXTENDED_OS_ERROR", "%!", "$^E", "$FORMAT_FORMFEED", "%^H", "$^ENCODING", "$FORMAT_LINE_BREAK_CHARACTERS", "%ENV", "$^F", "$FORMAT_LINES_LEFT", "%INC", "$^H", "$FORMAT_LINES_PER_PAGE", "%OVERLOAD", "$^I", "$FORMAT_NAME", "%SIG", "$^L", "$FORMAT_PAGE_NUMBER", "@+", "$^M", "$FORMAT_TOP_NAME", "@-", "$^N", "$GID", "@_", "$^O", "$INPLACE_EDIT", "@ARGV", "$^OPEN", "$INPUT_LINE_NUMBER", "@INC", "$^P", "$INPUT_RECORD_SEPARATOR", "@LAST_MATCH_START", "$^R", "$LAST_MATCH_END", "$^RE_DEBUG_FLAGS", "$LAST_PAREN_MATCH"],
symbols: /[:+\-\^*$&%@=<>!?|\/~\.]/,
quoteLikeOps: ["qr", "m", "s", "q", "qq", "qx", "qw", "tr", "y"],
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
tokenizer: {
root: [{
include: "@whitespace"
}, [/[a-zA-Z\-_][\w\-_]*/, {
cases: {
"@keywords": "keyword",
"@builtinFunctions": "type.identifier",
"@builtinFileHandlers": "variable.predefined",
"@quoteLikeOps": {
token: "@rematch",
next: "quotedConstructs"
},
"@default": ""
}
}], [/[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/, {
cases: {
"@builtinVariables": "variable.predefined",
"@default": "variable"
}
}], {
include: "@strings"
}, {
include: "@dblStrings"
}, {
include: "@perldoc"
}, {
include: "@heredoc"
}, [/[{}\[\]()]/, "@brackets"], [/[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/, "regexp"], [/@symbols/, "operators"], {
include: "@numbers"
}, [/[,;]/, "delimiter"]],
whitespace: [[/\s+/, "white"], [/(^#!.*$)/, "metatag"], [/(^#.*$)/, "comment"]],
numbers: [[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"], [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"], [/\d+/, "number"]],
strings: [[/'/, "string", "@stringBody"]],
stringBody: [[/'/, "string", "@popall"], [/\\'/, "string.escape"], [/./, "string"]],
dblStrings: [[/"/, "string", "@dblStringBody"]],
dblStringBody: [[/"/, "string", "@popall"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], {
include: "@variables"
}, [/./, "string"]],
quotedConstructs: [[/(q|qw|tr|y)\s*\(/, {
token: "string.delim",
switchTo: "@qstring.(.)"
}], [/(q|qw|tr|y)\s*\[/, {
token: "string.delim",
switchTo: "@qstring.[.]"
}], [/(q|qw|tr|y)\s*\{/, {
token: "string.delim",
switchTo: "@qstring.{.}"
}], [/(q|qw|tr|y)\s*</, {
token: "string.delim",
switchTo: "@qstring.<.>"
}], [/(q|qw|tr|y)#/, {
token: "string.delim",
switchTo: "@qstring.#.#"
}], [/(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/, {
token: "string.delim",
switchTo: "@qstring.$2.$2"
}], [/(q|qw|tr|y)\s+(\w)/, {
token: "string.delim",
switchTo: "@qstring.$2.$2"
}], [/(qr|m|s)\s*\(/, {
token: "regexp.delim",
switchTo: "@qregexp.(.)"
}], [/(qr|m|s)\s*\[/, {
token: "regexp.delim",
switchTo: "@qregexp.[.]"
}], [/(qr|m|s)\s*\{/, {
token: "regexp.delim",
switchTo: "@qregexp.{.}"
}], [/(qr|m|s)\s*</, {
token: "regexp.delim",
switchTo: "@qregexp.<.>"
}], [/(qr|m|s)#/, {
token: "regexp.delim",
switchTo: "@qregexp.#.#"
}], [/(qr|m|s)\s*([^A-Za-z0-9_#\s])/, {
token: "regexp.delim",
switchTo: "@qregexp.$2.$2"
}], [/(qr|m|s)\s+(\w)/, {
token: "regexp.delim",
switchTo: "@qregexp.$2.$2"
}], [/(qq|qx)\s*\(/, {
token: "string.delim",
switchTo: "@qqstring.(.)"
}], [/(qq|qx)\s*\[/, {
token: "string.delim",
switchTo: "@qqstring.[.]"
}], [/(qq|qx)\s*\{/, {
token: "string.delim",
switchTo: "@qqstring.{.}"
}], [/(qq|qx)\s*</, {
token: "string.delim",
switchTo: "@qqstring.<.>"
}], [/(qq|qx)#/, {
token: "string.delim",
switchTo: "@qqstring.#.#"
}], [/(qq|qx)\s*([^A-Za-z0-9#\s])/, {
token: "string.delim",
switchTo: "@qqstring.$2.$2"
}], [/(qq|qx)\s+(\w)/, {
token: "string.delim",
switchTo: "@qqstring.$2.$2"
}]],
qstring: [[/\\./, "string.escape"], [/./, {
cases: {
"$#==$S3": {
token: "string.delim",
next: "@pop"
},
"$#==$S2": {
token: "string.delim",
next: "@push"
},
"@default": "string"
}
}]],
qregexp: [{
include: "@variables"
}, [/\\./, "regexp.escape"], [/./, {
cases: {
"$#==$S3": {
token: "regexp.delim",
next: "@regexpModifiers"
},
"$#==$S2": {
token: "regexp.delim",
next: "@push"
},
"@default": "regexp"
}
}]],
regexpModifiers: [[/[msixpodualngcer]+/, {
token: "regexp.modifier",
next: "@popall"
}]],
qqstring: [{
include: "@variables"
}, {
include: "@qstring"
}],
heredoc: [[/<<\s*['"`]?([\w\-]+)['"`]?/, {
token: "string.heredoc.delimiter",
next: "@heredocBody.$1"
}]],
heredocBody: [[/^([\w\-]+)$/, {
cases: {
"$1==$S2": [{
token: "string.heredoc.delimiter",
next: "@popall"
}],
"@default": "string.heredoc"
}
}], [/./, "string.heredoc"]],
perldoc: [[/^=\w/, "comment.doc", "@perldocBody"]],
perldocBody: [[/^=cut\b/, "type.identifier", "@popall"], [/./, "comment.doc"]],
variables: [[/\$\w+/, "variable"], [/@\w+/, "variable"], [/%\w+/, "variable"]]
}
};
/***/ })
}]);