forked from Gitlink/build
393 lines
14 KiB
JavaScript
393 lines
14 KiB
JavaScript
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[80],{
|
|
|
|
/***/ "VZ+T":
|
|
/*!**************************************************************************!*\
|
|
!*** ./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.js ***!
|
|
\**************************************************************************/
|
|
/*! exports provided: conf, language */
|
|
/*! all exports used */
|
|
/*! ModuleConcatenation bailout: Module is referenced from these modules with unsupported syntax: ./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js (referenced with import()) */
|
|
/***/ (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.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var conf = {
|
|
/*
|
|
* `...` is allowed as an identifier.
|
|
* $ is allowed in identifiers.
|
|
* unary_<op> is allowed as an identifier.
|
|
* <name>_= is allowed as an identifier.
|
|
*/
|
|
wordPattern: /(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/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: "'" }
|
|
],
|
|
folding: {
|
|
markers: {
|
|
start: new RegExp('^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))'),
|
|
end: new RegExp('^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))')
|
|
}
|
|
}
|
|
};
|
|
var language = {
|
|
tokenPostfix: '.scala',
|
|
// We can't easily add everything from Dotty, but we can at least add some of its keywords
|
|
keywords: [
|
|
'asInstanceOf',
|
|
'catch',
|
|
'class',
|
|
'classOf',
|
|
'def',
|
|
'do',
|
|
'else',
|
|
'extends',
|
|
'finally',
|
|
'for',
|
|
'foreach',
|
|
'forSome',
|
|
'if',
|
|
'import',
|
|
'isInstanceOf',
|
|
'macro',
|
|
'match',
|
|
'new',
|
|
'object',
|
|
'package',
|
|
'return',
|
|
'throw',
|
|
'trait',
|
|
'try',
|
|
'type',
|
|
'until',
|
|
'val',
|
|
'var',
|
|
'while',
|
|
'with',
|
|
'yield',
|
|
// Dotty-specific:
|
|
'given',
|
|
'enum',
|
|
'then'
|
|
],
|
|
// Dotty-specific:
|
|
softKeywords: ['as', 'export', 'extension', 'end', 'derives', 'on'],
|
|
constants: ['true', 'false', 'null', 'this', 'super'],
|
|
modifiers: [
|
|
'abstract',
|
|
'final',
|
|
'implicit',
|
|
'lazy',
|
|
'override',
|
|
'private',
|
|
'protected',
|
|
'sealed'
|
|
],
|
|
// Dotty-specific:
|
|
softModifiers: ['inline', 'opaque', 'open', 'transparent', 'using'],
|
|
name: /(?:[a-z_$][\w$]*|`[^`]+`)/,
|
|
type: /(?:[A-Z][\w$]*)/,
|
|
// we include these common regular expressions
|
|
symbols: /[=><!~?:&|+\-*\/^\\%@#]+/,
|
|
digits: /\d+(_+\d+)*/,
|
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
|
// C# style strings
|
|
escapes: /\\(?:[btnfr\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
|
fstring_conv: /[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,
|
|
// The main tokenizer for our languages
|
|
tokenizer: {
|
|
root: [
|
|
// strings
|
|
[/\braw"""/, { token: 'string.quote', bracket: '@open', next: '@rawstringt' }],
|
|
[/\braw"/, { token: 'string.quote', bracket: '@open', next: '@rawstring' }],
|
|
[/\bs"""/, { token: 'string.quote', bracket: '@open', next: '@sstringt' }],
|
|
[/\bs"/, { token: 'string.quote', bracket: '@open', next: '@sstring' }],
|
|
[/\bf""""/, { token: 'string.quote', bracket: '@open', next: '@fstringt' }],
|
|
[/\bf"/, { token: 'string.quote', bracket: '@open', next: '@fstring' }],
|
|
[/"""/, { token: 'string.quote', bracket: '@open', next: '@stringt' }],
|
|
[/"/, { token: 'string.quote', bracket: '@open', next: '@string' }],
|
|
// numbers
|
|
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, 'number.float', '@allowMethod'],
|
|
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, 'number.float', '@allowMethod'],
|
|
[/0[xX](@hexdigits)[Ll]?/, 'number.hex', '@allowMethod'],
|
|
[/(@digits)[fFdD]/, 'number.float', '@allowMethod'],
|
|
[/(@digits)[lL]?/, 'number', '@allowMethod'],
|
|
[/\b_\*/, 'key'],
|
|
[/\b(_)\b/, 'keyword', '@allowMethod'],
|
|
// identifiers and keywords
|
|
[/\bimport\b/, 'keyword', '@import'],
|
|
[/\b(case)([ \t]+)(class)\b/, ['keyword.modifier', 'white', 'keyword']],
|
|
[/\bcase\b/, 'keyword', '@case'],
|
|
[/\bva[lr]\b/, 'keyword', '@vardef'],
|
|
[
|
|
/\b(def)([ \t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,
|
|
['keyword', 'white', 'identifier']
|
|
],
|
|
[/@name(?=[ \t]*:(?!:))/, 'variable'],
|
|
[/(\.)(@name|@symbols)/, ['operator', { token: '@rematch', next: '@allowMethod' }]],
|
|
[/([{(])(\s*)(@name(?=\s*=>))/, ['@brackets', 'white', 'variable']],
|
|
[
|
|
/@name/,
|
|
{
|
|
cases: {
|
|
'@keywords': 'keyword',
|
|
'@softKeywords': 'keyword',
|
|
'@modifiers': 'keyword.modifier',
|
|
'@softModifiers': 'keyword.modifier',
|
|
'@constants': {
|
|
token: 'constant',
|
|
next: '@allowMethod'
|
|
},
|
|
'@default': {
|
|
token: 'identifier',
|
|
next: '@allowMethod'
|
|
}
|
|
}
|
|
}
|
|
],
|
|
[/@type/, 'type', '@allowMethod'],
|
|
// whitespace
|
|
{ include: '@whitespace' },
|
|
// @ annotations.
|
|
[/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/, 'annotation'],
|
|
// delimiters and operators
|
|
[/[{(]/, '@brackets'],
|
|
[/[})]/, '@brackets', '@allowMethod'],
|
|
[/\[/, 'operator.square'],
|
|
[/](?!\s*(?:va[rl]|def|type)\b)/, 'operator.square', '@allowMethod'],
|
|
[/]/, 'operator.square'],
|
|
[/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/, 'keyword'],
|
|
[/@symbols/, 'operator'],
|
|
// delimiter: after number because of .\d floats
|
|
[/[;,\.]/, 'delimiter'],
|
|
// symbols
|
|
[/'[a-zA-Z$][\w$]*(?!')/, 'attribute.name'],
|
|
// characters
|
|
[/'[^\\']'/, 'string', '@allowMethod'],
|
|
[
|
|
/(')(@escapes)(')/,
|
|
['string', 'string.escape', { token: 'string', next: '@allowMethod' }]
|
|
],
|
|
[/'/, 'string.invalid']
|
|
],
|
|
import: [
|
|
[/;/, 'delimiter', '@pop'],
|
|
[/^|$/, '', '@pop'],
|
|
[/[ \t]+/, 'white'],
|
|
[/[\n\r]+/, 'white', '@pop'],
|
|
[/\/\*/, 'comment', '@comment'],
|
|
[/@name|@type/, 'type'],
|
|
[/[(){}]/, '@brackets'],
|
|
[/[[\]]/, 'operator.square'],
|
|
[/[\.,]/, 'delimiter']
|
|
],
|
|
allowMethod: [
|
|
[/^|$/, '', '@pop'],
|
|
[/[ \t]+/, 'white'],
|
|
[/[\n\r]+/, 'white', '@pop'],
|
|
[/\/\*/, 'comment', '@comment'],
|
|
[/(?==>[\s\w([{])/, 'keyword', '@pop'],
|
|
[
|
|
/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/,
|
|
{
|
|
cases: {
|
|
'@keywords': { token: 'keyword', next: '@pop' },
|
|
'->|<-|>:|<:|<%': { token: 'keyword', next: '@pop' },
|
|
'@default': { token: '@rematch', next: '@pop' }
|
|
}
|
|
}
|
|
],
|
|
['', '', '@pop']
|
|
],
|
|
comment: [
|
|
[/[^\/*]+/, 'comment'],
|
|
[/\/\*/, 'comment', '@push'],
|
|
[/\*\//, 'comment', '@pop'],
|
|
[/[\/*]/, 'comment']
|
|
],
|
|
case: [
|
|
[/\b_\*/, 'key'],
|
|
[/\b(_|true|false|null|this|super)\b/, 'keyword', '@allowMethod'],
|
|
[/\bif\b|=>/, 'keyword', '@pop'],
|
|
[/`[^`]+`/, 'identifier', '@allowMethod'],
|
|
[/@name/, 'variable', '@allowMethod'],
|
|
[/:::?|\||@(?![a-z_$])/, 'keyword'],
|
|
{ include: '@root' }
|
|
],
|
|
vardef: [
|
|
[/\b_\*/, 'key'],
|
|
[/\b(_|true|false|null|this|super)\b/, 'keyword'],
|
|
[/@name/, 'variable'],
|
|
[/:::?|\||@(?![a-z_$])/, 'keyword'],
|
|
[/=|:(?!:)/, 'operator', '@pop'],
|
|
[/$/, 'white', '@pop'],
|
|
{ include: '@root' }
|
|
],
|
|
string: [
|
|
[/[^\\"\n\r]+/, 'string'],
|
|
[/@escapes/, 'string.escape'],
|
|
[/\\./, 'string.escape.invalid'],
|
|
[
|
|
/"/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
]
|
|
],
|
|
stringt: [
|
|
[/[^\\"\n\r]+/, 'string'],
|
|
[/@escapes/, 'string.escape'],
|
|
[/\\./, 'string.escape.invalid'],
|
|
[/"(?=""")/, 'string'],
|
|
[
|
|
/"""/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
],
|
|
[/"/, 'string']
|
|
],
|
|
fstring: [
|
|
[/@escapes/, 'string.escape'],
|
|
[
|
|
/"/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
],
|
|
[/\$\$/, 'string'],
|
|
[/(\$)([a-z_]\w*)/, ['operator', 'identifier']],
|
|
[/\$\{/, 'operator', '@interp'],
|
|
[/%%/, 'string'],
|
|
[
|
|
/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,
|
|
['metatag', 'keyword.modifier', 'number', 'metatag']
|
|
],
|
|
[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ['metatag', 'number', 'metatag']],
|
|
[/(%)([\-#+ 0,(])(@fstring_conv)/, ['metatag', 'keyword.modifier', 'metatag']],
|
|
[/(%)(@fstring_conv)/, ['metatag', 'metatag']],
|
|
[/./, 'string']
|
|
],
|
|
fstringt: [
|
|
[/@escapes/, 'string.escape'],
|
|
[/"(?=""")/, 'string'],
|
|
[
|
|
/"""/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
],
|
|
[/\$\$/, 'string'],
|
|
[/(\$)([a-z_]\w*)/, ['operator', 'identifier']],
|
|
[/\$\{/, 'operator', '@interp'],
|
|
[/%%/, 'string'],
|
|
[
|
|
/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,
|
|
['metatag', 'keyword.modifier', 'number', 'metatag']
|
|
],
|
|
[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ['metatag', 'number', 'metatag']],
|
|
[/(%)([\-#+ 0,(])(@fstring_conv)/, ['metatag', 'keyword.modifier', 'metatag']],
|
|
[/(%)(@fstring_conv)/, ['metatag', 'metatag']],
|
|
[/./, 'string']
|
|
],
|
|
sstring: [
|
|
[/@escapes/, 'string.escape'],
|
|
[
|
|
/"/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
],
|
|
[/\$\$/, 'string'],
|
|
[/(\$)([a-z_]\w*)/, ['operator', 'identifier']],
|
|
[/\$\{/, 'operator', '@interp'],
|
|
[/./, 'string']
|
|
],
|
|
sstringt: [
|
|
[/@escapes/, 'string.escape'],
|
|
[/"(?=""")/, 'string'],
|
|
[
|
|
/"""/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
],
|
|
[/\$\$/, 'string'],
|
|
[/(\$)([a-z_]\w*)/, ['operator', 'identifier']],
|
|
[/\$\{/, 'operator', '@interp'],
|
|
[/./, 'string']
|
|
],
|
|
interp: [[/{/, 'operator', '@push'], [/}/, 'operator', '@pop'], { include: '@root' }],
|
|
rawstring: [
|
|
[/[^"]/, 'string'],
|
|
[
|
|
/"/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
]
|
|
],
|
|
rawstringt: [
|
|
[/[^"]/, 'string'],
|
|
[/"(?=""")/, 'string'],
|
|
[
|
|
/"""/,
|
|
{
|
|
token: 'string.quote',
|
|
bracket: '@close',
|
|
switchTo: '@allowMethod'
|
|
}
|
|
],
|
|
[/"/, 'string']
|
|
],
|
|
whitespace: [
|
|
[/[ \t\r\n]+/, 'white'],
|
|
[/\/\*/, 'comment', '@comment'],
|
|
[/\/\/.*$/, 'comment']
|
|
]
|
|
}
|
|
};
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |