You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.8 KiB
125 lines
4.8 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[17558],{
|
|
|
|
/***/ 17558:
|
|
/*!****************************************************************************!*\
|
|
!*** ./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js ***!
|
|
\****************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "conf": function() { return /* binding */ conf; },
|
|
/* harmony export */ "language": function() { return /* binding */ language; }
|
|
/* harmony export */ });
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var conf = {
|
|
comments: {
|
|
lineComment: '//',
|
|
blockComment: ['(*', '*)']
|
|
},
|
|
brackets: [['{', '}'], ['[', ']'], ['(', ')']],
|
|
autoClosingPairs: [{
|
|
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|^\\s*\\(\\*\\s*#region(.*)\\*\\)'),
|
|
end: new RegExp('^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)')
|
|
}
|
|
}
|
|
};
|
|
var language = {
|
|
defaultToken: '',
|
|
tokenPostfix: '.fs',
|
|
keywords: ['abstract', 'and', 'atomic', 'as', 'assert', 'asr', 'base', 'begin', 'break', 'checked', 'component', 'const', 'constraint', 'constructor', 'continue', 'class', 'default', 'delegate', 'do', 'done', 'downcast', 'downto', 'elif', 'else', 'end', 'exception', 'eager', 'event', 'external', 'extern', 'false', 'finally', 'for', 'fun', 'function', 'fixed', 'functor', 'global', 'if', 'in', 'include', 'inherit', 'inline', 'interface', 'internal', 'land', 'lor', 'lsl', 'lsr', 'lxor', 'lazy', 'let', 'match', 'member', 'mod', 'module', 'mutable', 'namespace', 'method', 'mixin', 'new', 'not', 'null', 'of', 'open', 'or', 'object', 'override', 'private', 'parallel', 'process', 'protected', 'pure', 'public', 'rec', 'return', 'static', 'sealed', 'struct', 'sig', 'then', 'to', 'true', 'tailcall', 'trait', 'try', 'type', 'upcast', 'use', 'val', 'void', 'virtual', 'volatile', 'when', 'while', 'with', 'yield'],
|
|
// we include these common regular expressions
|
|
symbols: /[=><!~?:&|+\-*\^%;\.,\/]+/,
|
|
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
|
integersuffix: /[uU]?[yslnLI]?/,
|
|
floatsuffix: /[fFmM]?/,
|
|
// The main tokenizer for our languages
|
|
tokenizer: {
|
|
root: [
|
|
// identifiers and keywords
|
|
[/[a-zA-Z_]\w*/, {
|
|
cases: {
|
|
'@keywords': {
|
|
token: 'keyword.$0'
|
|
},
|
|
'@default': 'identifier'
|
|
}
|
|
}],
|
|
// whitespace
|
|
{
|
|
include: '@whitespace'
|
|
},
|
|
// [< attributes >].
|
|
[/\[<.*>\]/, 'annotation'],
|
|
// Preprocessor directive
|
|
[/^#(if|else|endif)/, 'keyword'],
|
|
// delimiters and operators
|
|
[/[{}()\[\]]/, '@brackets'], [/[<>](?!@symbols)/, '@brackets'], [/@symbols/, 'delimiter'],
|
|
// numbers
|
|
[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], [/0x[0-9a-fA-F]+LF/, 'number.float'], [/0x[0-9a-fA-F]+(@integersuffix)/, 'number.hex'], [/0b[0-1]+(@integersuffix)/, 'number.bin'], [/\d+(@integersuffix)/, 'number'],
|
|
// delimiter: after number because of .\d floats
|
|
[/[;,.]/, 'delimiter'],
|
|
// strings
|
|
[/"([^"\\]|\\.)*$/, 'string.invalid'], [/"""/, 'string', '@string."""'], [/"/, 'string', '@string."'],
|
|
// literal string
|
|
[/\@"/, {
|
|
token: 'string.quote',
|
|
next: '@litstring'
|
|
}],
|
|
// characters
|
|
[/'[^\\']'B?/, 'string'], [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], [/'/, 'string.invalid']],
|
|
whitespace: [[/[ \t\r\n]+/, ''], [/\(\*(?!\))/, 'comment', '@comment'], [/\/\/.*$/, 'comment']],
|
|
comment: [[/[^*(]+/, 'comment'], [/\*\)/, 'comment', '@pop'], [/\*/, 'comment'], [/\(\*\)/, 'comment'], [/\(/, 'comment']],
|
|
string: [[/[^\\"]+/, 'string'], [/@escapes/, 'string.escape'], [/\\./, 'string.escape.invalid'], [/("""|"B?)/, {
|
|
cases: {
|
|
'$#==$S2': {
|
|
token: 'string',
|
|
next: '@pop'
|
|
},
|
|
'@default': 'string'
|
|
}
|
|
}]],
|
|
litstring: [[/[^"]+/, 'string'], [/""/, 'string.escape'], [/"/, {
|
|
token: 'string.quote',
|
|
next: '@pop'
|
|
}]]
|
|
}
|
|
};
|
|
|
|
/***/ })
|
|
|
|
}]); |