@deephaven/console 0.16.1-vite.20 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ConsoleInput.d.ts +1 -1
- package/dist/ConsoleInput.d.ts.map +1 -1
- package/dist/ConsoleInput.js +7 -3
- package/dist/ConsoleInput.js.map +1 -1
- package/dist/common/Code.js +1 -1
- package/dist/common/Code.js.map +1 -1
- package/dist/log/LogView.d.ts +1 -1
- package/dist/log/LogView.d.ts.map +1 -1
- package/dist/log/LogView.js +1 -1
- package/dist/log/LogView.js.map +1 -1
- package/dist/monaco/MonacoCompletionProvider.d.ts +1 -1
- package/dist/monaco/MonacoCompletionProvider.d.ts.map +1 -1
- package/dist/monaco/MonacoCompletionProvider.js +1 -1
- package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
- package/dist/monaco/MonacoUtils.d.ts +1 -57
- package/dist/monaco/MonacoUtils.d.ts.map +1 -1
- package/dist/monaco/MonacoUtils.js +4 -61
- package/dist/monaco/MonacoUtils.js.map +1 -1
- package/dist/monaco/lang/Language.d.ts +1 -1
- package/dist/monaco/lang/Language.d.ts.map +1 -1
- package/dist/monaco/lang/Language.js.map +1 -1
- package/dist/monaco/lang/db.js.map +1 -1
- package/dist/monaco/lang/groovy.js.map +1 -1
- package/dist/monaco/lang/log.js.map +1 -1
- package/dist/monaco/lang/python.js.map +1 -1
- package/dist/monaco/lang/scala.js.map +1 -1
- package/dist/notebook/Editor.d.ts +1 -1
- package/dist/notebook/Editor.d.ts.map +1 -1
- package/dist/notebook/Editor.js +2 -2
- package/dist/notebook/Editor.js.map +1 -1
- package/package.json +12 -12
|
@@ -3,68 +3,11 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* Exports a function for initializing monaco with the deephaven theme/config
|
|
5
5
|
*/
|
|
6
|
-
// Instead of importing just 'monaco-editor' and importing all languages and features, just import the features and don't import all the languages we don't care about
|
|
7
|
-
// Default list of features here: https://github.com/microsoft/monaco-editor-webpack-plugin
|
|
8
|
-
// Mapping to paths here: https://github.com/microsoft/monaco-editor-webpack-plugin/blob/main/src/features.ts
|
|
9
|
-
// Importing this way rather than using the plugin because I don't want to hook up react-app-rewired for the build
|
|
10
6
|
import { assertNotNull } from '@deephaven/utils';
|
|
11
|
-
import * as monaco from 'monaco-editor
|
|
12
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';
|
|
13
|
-
import 'monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.js';
|
|
14
|
-
import 'monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js';
|
|
15
|
-
import 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js';
|
|
16
|
-
import 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js';
|
|
17
|
-
import 'monaco-editor/esm/vs/editor/contrib/codeAction/codeActionContributions.js';
|
|
18
|
-
import 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js';
|
|
19
|
-
import 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorContributions.js';
|
|
20
|
-
import 'monaco-editor/esm/vs/editor/contrib/comment/comment.js';
|
|
21
|
-
import 'monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js';
|
|
22
|
-
import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';
|
|
23
|
-
import 'monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js';
|
|
24
|
-
import 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js';
|
|
25
|
-
import 'monaco-editor/esm/vs/editor/contrib/documentSymbols/documentSymbols.js';
|
|
26
|
-
import 'monaco-editor/esm/vs/editor/contrib/find/findController.js';
|
|
27
|
-
import 'monaco-editor/esm/vs/editor/contrib/folding/folding.js';
|
|
28
|
-
import 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom.js';
|
|
29
|
-
import 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js';
|
|
30
|
-
import 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js';
|
|
31
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';
|
|
32
|
-
import 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/goToCommands.js';
|
|
33
|
-
import 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.js';
|
|
34
|
-
import 'monaco-editor/esm/vs/editor/contrib/hover/hover.js';
|
|
35
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';
|
|
36
|
-
import 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js';
|
|
37
|
-
import 'monaco-editor/esm/vs/editor/contrib/indentation/indentation.js';
|
|
38
|
-
import 'monaco-editor/esm/vs/editor/contrib/inlineCompletions/ghostTextController.js';
|
|
39
|
-
import 'monaco-editor/esm/vs/editor/contrib/inlayHints/inlayHintsController.js';
|
|
40
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js';
|
|
41
|
-
import 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js';
|
|
42
|
-
import 'monaco-editor/esm/vs/editor/contrib/linkedEditing/linkedEditing.js';
|
|
43
|
-
import 'monaco-editor/esm/vs/editor/contrib/links/links.js';
|
|
44
|
-
import 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js';
|
|
45
|
-
import 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js';
|
|
46
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';
|
|
47
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';
|
|
48
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';
|
|
49
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';
|
|
50
|
-
import 'monaco-editor/esm/vs/editor/contrib/rename/rename.js';
|
|
51
|
-
import 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js';
|
|
52
|
-
import 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js';
|
|
53
|
-
import 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js';
|
|
54
|
-
import 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';
|
|
55
|
-
import 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js';
|
|
56
|
-
import 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js';
|
|
57
|
-
import 'monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/unusualLineTerminators.js';
|
|
58
|
-
import 'monaco-editor/esm/vs/editor/contrib/viewportSemanticTokens/viewportSemanticTokens.js';
|
|
59
|
-
import 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js';
|
|
60
|
-
import 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js';
|
|
61
|
-
import 'monaco-editor/esm/vs/editor/contrib/wordPartOperations/wordPartOperations.js';
|
|
62
|
-
import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js'; // @ts-ignore
|
|
7
|
+
import * as monaco from 'monaco-editor'; // @ts-ignore
|
|
63
8
|
|
|
64
9
|
import { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js'; // @ts-ignore
|
|
65
10
|
|
|
66
|
-
import { KeyMod } from 'monaco-editor/esm/vs/editor/common/standalone/standaloneBase.js'; // @ts-ignore
|
|
67
|
-
|
|
68
11
|
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
|
|
69
12
|
import Log from '@deephaven/log';
|
|
70
13
|
import MonacoTheme from "./MonacoTheme.module.css";
|
|
@@ -258,7 +201,7 @@ class MonacoUtils {
|
|
|
258
201
|
var didOpenDocumentParams = {
|
|
259
202
|
textDocument: {
|
|
260
203
|
uri: "".concat(model.uri),
|
|
261
|
-
languageId: model.
|
|
204
|
+
languageId: model.getLanguageId(),
|
|
262
205
|
version: model.getVersionId(),
|
|
263
206
|
text: model.getValue()
|
|
264
207
|
}
|
|
@@ -439,12 +382,12 @@ class MonacoUtils {
|
|
|
439
382
|
|
|
440
383
|
if (isMac) {
|
|
441
384
|
return (// eslint-disable-next-line no-bitwise
|
|
442
|
-
(keyState.metaKey
|
|
385
|
+
(keyState.metaKey ? monaco.KeyMod.CtrlCmd : 0) | (keyState.shiftKey ? monaco.KeyMod.Shift : 0) | (keyState.altKey ? monaco.KeyMod.Alt : 0) | (keyState.ctrlKey ? monaco.KeyMod.WinCtrl : 0) | KeyCodeUtils.fromString(keyValue)
|
|
443
386
|
);
|
|
444
387
|
}
|
|
445
388
|
|
|
446
389
|
return (// eslint-disable-next-line no-bitwise
|
|
447
|
-
(keyState.ctrlKey
|
|
390
|
+
(keyState.ctrlKey ? monaco.KeyMod.CtrlCmd : 0) | (keyState.shiftKey ? monaco.KeyMod.Shift : 0) | (keyState.altKey ? monaco.KeyMod.Alt : 0) | (keyState.metaKey ? monaco.KeyMod.WinCtrl : 0) | KeyCodeUtils.fromString(keyValue)
|
|
448
391
|
);
|
|
449
392
|
}
|
|
450
393
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoUtils.js","names":["assertNotNull","monaco","KeyCodeUtils","KeyMod","editorWorker","Log","MonacoTheme","PyLang","GroovyLang","ScalaLang","DbLang","LogLang","log","module","window","MonacoEnvironment","getWorker","workerId","label","MonacoUtils","init","debug","registerLanguages","removeHashtag","dhDarkRules","token","foreground","string","keyword","delimiter","comment","number","storage","identifier","operator","predefined","substring","dhDarkColors","errorForeground","background","focusBorder","editor","defineTheme","base","inherit","rules","colors","debug2","setTheme","color","languages","languageIds","map","id","getLanguages","filter","includes","forEach","languageParam","language","registerLanguage","register","onLanguage","setLanguageConfiguration","conf","setMonarchTokensProvider","setEOL","eolSequence","EndOfLineSequence","LF","getModel","openDocument","session","model","didOpenDocumentParams","textDocument","uri","languageId","getModeId","version","getVersionId","text","getValue","dispose","onDidChangeModelContent","changedEvent","changes","versionId","contentChanges","i","length","change","range","rangeLength","contentChange","start","line","startLineNumber","character","startColumn","end","endLineNumber","endColumn","push","didChangeDocumentParams","changeDocument","closeDocument","didCloseDocumentParams","registerPasteHandler","onDidPaste","pasteEvent","smartQuotes","invalidChars","editorModel","pastedText","getValueInRange","test","applyEdits","replace","isMacPlatform","platform","navigator","startsWith","removeConflictingKeybindings","keybindings","windows","mac","keybinding","removeKeybinding","err","error","_standaloneKeybindingService","_getResolver","_map","get","elem","command","addDynamicKeybinding","undefined","warn","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","CtrlCmd","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString"],"sources":["../../src/monaco/MonacoUtils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/**\n * Exports a function for initializing monaco with the deephaven theme/config\n */\n// Instead of importing just 'monaco-editor' and importing all languages and features, just import the features and don't import all the languages we don't care about\n// Default list of features here: https://github.com/microsoft/monaco-editor-webpack-plugin\n// Mapping to paths here: https://github.com/microsoft/monaco-editor-webpack-plugin/blob/main/src/features.ts\n// Importing this way rather than using the plugin because I don't want to hook up react-app-rewired for the build\n\nimport { Shortcut } from '@deephaven/components';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { assertNotNull } from '@deephaven/utils';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';\nimport 'monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.js';\nimport 'monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js';\nimport 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js';\nimport 'monaco-editor/esm/vs/editor/contrib/codeAction/codeActionContributions.js';\nimport 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorContributions.js';\nimport 'monaco-editor/esm/vs/editor/contrib/comment/comment.js';\nimport 'monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js';\nimport 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';\nimport 'monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js';\nimport 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js';\nimport 'monaco-editor/esm/vs/editor/contrib/documentSymbols/documentSymbols.js';\nimport 'monaco-editor/esm/vs/editor/contrib/find/findController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/folding/folding.js';\nimport 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom.js';\nimport 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/goToCommands.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.js';\nimport 'monaco-editor/esm/vs/editor/contrib/hover/hover.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js';\nimport 'monaco-editor/esm/vs/editor/contrib/indentation/indentation.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inlineCompletions/ghostTextController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inlayHints/inlayHintsController.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/linkedEditing/linkedEditing.js';\nimport 'monaco-editor/esm/vs/editor/contrib/links/links.js';\nimport 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js';\nimport 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport 'monaco-editor/esm/vs/editor/contrib/rename/rename.js';\nimport 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js';\nimport 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js';\nimport 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js';\nimport 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js';\nimport 'monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/unusualLineTerminators.js';\nimport 'monaco-editor/esm/vs/editor/contrib/viewportSemanticTokens/viewportSemanticTokens.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordPartOperations/wordPartOperations.js';\nimport 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';\n// @ts-ignore\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\n// @ts-ignore\nimport { KeyMod } from 'monaco-editor/esm/vs/editor/common/standalone/standaloneBase.js';\n// @ts-ignore\nimport editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';\nimport Log from '@deephaven/log';\nimport MonacoTheme from './MonacoTheme.module.scss';\nimport PyLang from './lang/python';\nimport GroovyLang from './lang/groovy';\nimport ScalaLang from './lang/scala';\nimport DbLang from './lang/db';\nimport LogLang from './lang/log';\nimport { Language } from './lang/Language';\n\nconst log = Log.module('MonacoUtils');\n\ndeclare global {\n interface Window {\n MonacoEnvironment: monaco.Environment;\n }\n}\n\nwindow.MonacoEnvironment = {\n getWorker(workerId, label) {\n return editorWorker();\n },\n};\n\nclass MonacoUtils {\n static init(): void {\n log.debug('Initializing Monaco...');\n\n const { registerLanguages, removeHashtag } = MonacoUtils;\n\n const dhDarkRules = [\n { token: '', foreground: removeHashtag(MonacoTheme.foreground) },\n { token: 'string', foreground: removeHashtag(MonacoTheme.string) },\n {\n token: 'string.delim',\n foreground: removeHashtag(MonacoTheme['string-delim']),\n },\n { token: 'keyword', foreground: removeHashtag(MonacoTheme.keyword) },\n {\n token: 'identifier.js',\n foreground: removeHashtag(MonacoTheme['identifier-js']),\n },\n {\n token: 'delimiter',\n foreground: removeHashtag(MonacoTheme.delimiter),\n },\n { token: 'comment', foreground: removeHashtag(MonacoTheme.comment) },\n { token: 'number', foreground: removeHashtag(MonacoTheme.number) },\n { token: 'storage', foreground: removeHashtag(MonacoTheme.storage) },\n {\n token: 'identifier',\n foreground: removeHashtag(MonacoTheme.identifier),\n },\n {\n token: 'namespace.identifier',\n foreground: removeHashtag(MonacoTheme['namespace-identifier']),\n },\n { token: 'operator', foreground: removeHashtag(MonacoTheme.operator) },\n {\n token: 'predefined',\n foreground: removeHashtag(MonacoTheme.predefined),\n },\n {\n token: 'error.log',\n foreground: MonacoTheme['log-error'].substring(1),\n },\n {\n token: 'warn.log',\n foreground: removeHashtag(MonacoTheme['log-warn']),\n },\n {\n token: 'info.log',\n foreground: removeHashtag(MonacoTheme['log-info']),\n },\n {\n token: 'stdout.log',\n foreground: removeHashtag(MonacoTheme['log-stdout']),\n },\n {\n token: 'trace.log',\n foreground: removeHashtag(MonacoTheme['log-trace']),\n },\n {\n token: 'debug.log',\n foreground: removeHashtag(MonacoTheme['log-debug']),\n },\n {\n token: 'date.log',\n foreground: removeHashtag(MonacoTheme['log-date']),\n },\n ];\n\n const dhDarkColors = {\n errorForeground: MonacoTheme['error-foreground'],\n 'inputOption.activeBorder': MonacoTheme['input-option-active-border'],\n 'editor.background': MonacoTheme.background,\n 'editor.foreground': MonacoTheme.foreground,\n 'editor.lineHighlightBackground': MonacoTheme['editor-line-highlight-bg'],\n 'editorLineNumber.foreground':\n MonacoTheme['editor-line-number-foreground'],\n 'editor.selectionBackground': MonacoTheme['editor-selection-background'],\n 'editor.findMatchBackground': MonacoTheme['editor-find-match-background'],\n 'editor.findMatchHighlightBackground':\n MonacoTheme['editor-find-match-highlight-background'],\n 'editorSuggestWidget.background':\n MonacoTheme['editor-suggest-widget-background'],\n 'editorSuggestWidget.border': MonacoTheme['editor-suggest-widget-border'],\n 'editorSuggestWidget.foreground':\n MonacoTheme['editor-suggest-widget-foreground'],\n 'editorSuggestWidget.selectedBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'editorSuggestWidget.highlightForeground':\n MonacoTheme['editor-suggest-widget-highlightForeground'],\n 'list.hoverBackground': MonacoTheme['list-hover-background'],\n 'dropdown.background': MonacoTheme['context-menu-background'],\n 'dropdown.foreground': MonacoTheme['context-menu-foreground'],\n 'menu.selectionBackground': MonacoTheme['menu-selection-background'],\n 'list.focusBackground': MonacoTheme['menu-selection-background'],\n 'editorWidget.background': MonacoTheme['editor-widget-background'],\n 'inputOption.activeBackground':\n MonacoTheme['input-option-active-background'],\n 'inputOption.activeForeground':\n MonacoTheme['input-option-active-foreground'],\n focusBorder: MonacoTheme['focus-border'],\n 'input.background': MonacoTheme['input-background'],\n 'input.foreground': MonacoTheme['input-foreground'],\n 'input.border': MonacoTheme['input-border'],\n };\n\n monaco.editor.defineTheme('dh-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: dhDarkRules,\n colors: dhDarkColors,\n });\n log.debug2('monaco theme: ', MonacoTheme);\n monaco.editor.setTheme('dh-dark');\n\n registerLanguages([DbLang, PyLang, GroovyLang, LogLang, ScalaLang]);\n\n log.debug('Monaco initialized.');\n }\n\n /**\n * Remove the hashtag prefix from a CSS color string.\n * Monaco expects colors to be the value only, no hashtag.\n * @param color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color: string): string {\n return color.substring(1);\n }\n\n static registerLanguages(languages: Language[]): void {\n // First override the default loader for any language we have a custom definition for\n // https://github.com/Microsoft/monaco-editor/issues/252#issuecomment-482786867\n const languageIds = languages.map(({ id }) => id);\n monaco.languages\n .getLanguages()\n .filter(({ id }) => languageIds.includes(id))\n .forEach(languageParam => {\n const language = languageParam;\n log.debug2('Overriding default language loader:', language.id);\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language: Language): void {\n log.debug2('Registering language: ', language.id);\n monaco.languages.register(language);\n\n monaco.languages.onLanguage(language.id, () => {\n monaco.languages.setLanguageConfiguration(language.id, language.conf);\n monaco.languages.setMonarchTokensProvider(language.id, language.language);\n });\n }\n\n /**\n * Set EOL preference for the editor\n * @param editor The editor to set the EOL for\n * @param eolSequence EOL sequence\n */\n static setEOL(\n editor: monaco.editor.IStandaloneCodeEditor,\n eolSequence = monaco.editor.EndOfLineSequence.LF\n ): void {\n editor.getModel()?.setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param session The IdeSession to link\n * @param editor The editor to link the session to\n * @returns A cleanup function for disposing of the created listeners\n */\n static openDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): monaco.IDisposable {\n const model = editor.getModel();\n assertNotNull(model);\n const didOpenDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n languageId: model.getModeId(),\n version: model.getVersionId(),\n text: model.getValue(),\n },\n };\n log.debug2('didOpenDocumentParams: ', didOpenDocumentParams);\n\n session.openDocument(didOpenDocumentParams);\n\n const dispose = editor.onDidChangeModelContent(changedEvent => {\n const { changes, versionId } = changedEvent;\n\n const contentChanges = [];\n for (let i = 0; i < changes.length; i += 1) {\n const change = changes[i];\n const { range, rangeLength, text } = change;\n const contentChange = {\n range: {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1,\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1,\n },\n },\n rangeLength,\n text,\n };\n\n contentChanges.push(contentChange);\n }\n\n if (contentChanges.length > 0) {\n const didChangeDocumentParams = {\n textDocument: {\n version: versionId,\n uri: `${model.uri}`,\n },\n contentChanges,\n };\n log.debug2('didChangeDocumentParams', didChangeDocumentParams);\n session.changeDocument(didChangeDocumentParams);\n }\n });\n\n return dispose;\n }\n\n static closeDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): void {\n const model = editor.getModel();\n assertNotNull(model);\n const didCloseDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n },\n };\n session.closeDocument(didCloseDocumentParams);\n }\n\n /**\n * Register a paste handle to clean up any garbage code pasted.\n * Most of this comes from copying from Slack, which has a bad habit of injecting their own characters in your code snippets.\n * I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.\n * @param editor The editor the register the paste handler for\n */\n static registerPasteHandler(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g;\n const editorModel = editor.getModel();\n assertNotNull(editorModel);\n const pastedText = editorModel.getValueInRange(pasteEvent.range);\n if (smartQuotes.test(pastedText) || invalidChars.test(pastedText)) {\n editorModel.applyEdits([\n {\n range: pasteEvent.range,\n text: pastedText\n .replace(smartQuotes, '\"')\n .replace(invalidChars, ''),\n },\n ]);\n }\n });\n }\n\n static isMacPlatform(): boolean {\n const { platform } = window.navigator;\n return platform.startsWith('Mac');\n }\n\n /**\n * Remove any keybindings which are used for our own shortcuts.\n * This allows the key events to bubble up so a component higher up can capture them\n * @param editor The editor to remove the keybindings from\n */\n static removeConflictingKeybindings(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n // Multi-mod key events have a specific order\n // E.g. ctrl+alt+UpArrow is not found, but alt+ctrl+UpArrow is found\n // meta is WindowsKey on Windows and cmd on Mac\n // ctrl is ctrl Windows and ctrl on Mac\n // alt is alt on Windows and option on Mac\n const keybindings = [\n {\n windows: 'ctrl+D',\n mac: 'meta+D',\n },\n {\n windows: 'ctrl+H',\n },\n ];\n\n try {\n keybindings.forEach(keybinding => {\n if (\n (MonacoUtils.isMacPlatform() && keybinding.mac === '') ||\n (!MonacoUtils.isMacPlatform() && keybinding.windows === '')\n ) {\n return;\n }\n MonacoUtils.removeKeybinding(\n editor,\n MonacoUtils.isMacPlatform() ? keybinding.mac : keybinding.windows\n );\n });\n } catch (err) {\n // This is probably only caused by Monaco changing private methods used here\n log.error(err);\n }\n }\n\n /**\n * Remove a keybinding and allow the events to bubble up\n * If you want the keybinding removed for all editors, add it to removeConflictingKeybindings\n * Monaco still captures the event if you choose to override the keybinding with a no-op function\n *\n * Based on the following comment to remove a keybinding and let the event bubble up\n * https://github.com/microsoft/monaco-editor/issues/287#issuecomment-331447475\n * The issue for an API for this has apparently been open since 2016. Link below\n * https://github.com/microsoft/monaco-editor/issues/102\n * @param editor The editor to remove the keybinding from\n * @param keybinding The key string to remove. E.g. 'ctrl+C' for copy on Windows\n */\n static removeKeybinding(\n editor: monaco.editor.IStandaloneCodeEditor,\n keybinding: string | undefined\n ): void {\n if (!keybinding) {\n return;\n }\n\n /* eslint-disable no-underscore-dangle */\n // It's possible a single keybinding has multiple commands depending on context\n // @ts-ignore\n const keybindings = editor._standaloneKeybindingService\n ._getResolver()\n ._map.get(keybinding);\n\n if (keybindings) {\n keybindings.forEach((elem: { command: unknown }) => {\n log.debug2(\n `Removing Monaco keybinding ${keybinding} for ${elem.command}`\n );\n // @ts-ignore\n editor._standaloneKeybindingService.addDynamicKeybinding(\n `-${elem.command}`,\n null,\n () => undefined\n );\n });\n } else {\n log.warn(`Did not find any keybindings to remove for ${keybinding}`);\n }\n /* eslint-enable no-underscore-dangle */\n }\n\n static getMonacoKeyCodeFromShortcut(shortcut: Shortcut): number {\n const { keyState } = shortcut;\n const { keyValue } = keyState;\n if (keyValue === null) {\n return 0;\n }\n\n const isMac = MonacoUtils.isMacPlatform();\n\n if (isMac) {\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.metaKey && KeyMod.CtrlCmd) |\n (keyState.shiftKey && KeyMod.Shift) |\n (keyState.altKey && KeyMod.Alt) |\n (keyState.ctrlKey && KeyMod.WinCtrl) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.ctrlKey && KeyMod.CtrlCmd) |\n (keyState.shiftKey && KeyMod.Shift) |\n (keyState.altKey && KeyMod.Alt) |\n (keyState.metaKey && KeyMod.WinCtrl) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n}\n\nexport default MonacoUtils;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonacoUtils.js","names":["assertNotNull","monaco","KeyCodeUtils","editorWorker","Log","MonacoTheme","PyLang","GroovyLang","ScalaLang","DbLang","LogLang","log","module","window","MonacoEnvironment","getWorker","workerId","label","MonacoUtils","init","debug","registerLanguages","removeHashtag","dhDarkRules","token","foreground","string","keyword","delimiter","comment","number","storage","identifier","operator","predefined","substring","dhDarkColors","errorForeground","background","focusBorder","editor","defineTheme","base","inherit","rules","colors","debug2","setTheme","color","languages","languageIds","map","id","getLanguages","filter","includes","forEach","languageParam","language","registerLanguage","register","onLanguage","setLanguageConfiguration","conf","setMonarchTokensProvider","setEOL","eolSequence","EndOfLineSequence","LF","getModel","openDocument","session","model","didOpenDocumentParams","textDocument","uri","languageId","getLanguageId","version","getVersionId","text","getValue","dispose","onDidChangeModelContent","changedEvent","changes","versionId","contentChanges","i","length","change","range","rangeLength","contentChange","start","line","startLineNumber","character","startColumn","end","endLineNumber","endColumn","push","didChangeDocumentParams","changeDocument","closeDocument","didCloseDocumentParams","registerPasteHandler","onDidPaste","pasteEvent","smartQuotes","invalidChars","editorModel","pastedText","getValueInRange","test","applyEdits","replace","isMacPlatform","platform","navigator","startsWith","removeConflictingKeybindings","keybindings","windows","mac","keybinding","removeKeybinding","err","error","_standaloneKeybindingService","_getResolver","_map","get","elem","command","addDynamicKeybinding","undefined","warn","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","KeyMod","CtrlCmd","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString"],"sources":["../../src/monaco/MonacoUtils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/**\n * Exports a function for initializing monaco with the deephaven theme/config\n */\nimport { Shortcut } from '@deephaven/components';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { assertNotNull } from '@deephaven/utils';\nimport * as monaco from 'monaco-editor';\n// @ts-ignore\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\n// @ts-ignore\nimport editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';\nimport Log from '@deephaven/log';\nimport MonacoTheme from './MonacoTheme.module.scss';\nimport PyLang from './lang/python';\nimport GroovyLang from './lang/groovy';\nimport ScalaLang from './lang/scala';\nimport DbLang from './lang/db';\nimport LogLang from './lang/log';\nimport { Language } from './lang/Language';\n\nconst log = Log.module('MonacoUtils');\n\nwindow.MonacoEnvironment = {\n getWorker(workerId, label) {\n return editorWorker();\n },\n};\n\nclass MonacoUtils {\n static init(): void {\n log.debug('Initializing Monaco...');\n\n const { registerLanguages, removeHashtag } = MonacoUtils;\n\n const dhDarkRules = [\n { token: '', foreground: removeHashtag(MonacoTheme.foreground) },\n { token: 'string', foreground: removeHashtag(MonacoTheme.string) },\n {\n token: 'string.delim',\n foreground: removeHashtag(MonacoTheme['string-delim']),\n },\n { token: 'keyword', foreground: removeHashtag(MonacoTheme.keyword) },\n {\n token: 'identifier.js',\n foreground: removeHashtag(MonacoTheme['identifier-js']),\n },\n {\n token: 'delimiter',\n foreground: removeHashtag(MonacoTheme.delimiter),\n },\n { token: 'comment', foreground: removeHashtag(MonacoTheme.comment) },\n { token: 'number', foreground: removeHashtag(MonacoTheme.number) },\n { token: 'storage', foreground: removeHashtag(MonacoTheme.storage) },\n {\n token: 'identifier',\n foreground: removeHashtag(MonacoTheme.identifier),\n },\n {\n token: 'namespace.identifier',\n foreground: removeHashtag(MonacoTheme['namespace-identifier']),\n },\n { token: 'operator', foreground: removeHashtag(MonacoTheme.operator) },\n {\n token: 'predefined',\n foreground: removeHashtag(MonacoTheme.predefined),\n },\n {\n token: 'error.log',\n foreground: MonacoTheme['log-error'].substring(1),\n },\n {\n token: 'warn.log',\n foreground: removeHashtag(MonacoTheme['log-warn']),\n },\n {\n token: 'info.log',\n foreground: removeHashtag(MonacoTheme['log-info']),\n },\n {\n token: 'stdout.log',\n foreground: removeHashtag(MonacoTheme['log-stdout']),\n },\n {\n token: 'trace.log',\n foreground: removeHashtag(MonacoTheme['log-trace']),\n },\n {\n token: 'debug.log',\n foreground: removeHashtag(MonacoTheme['log-debug']),\n },\n {\n token: 'date.log',\n foreground: removeHashtag(MonacoTheme['log-date']),\n },\n ];\n\n const dhDarkColors = {\n errorForeground: MonacoTheme['error-foreground'],\n 'inputOption.activeBorder': MonacoTheme['input-option-active-border'],\n 'editor.background': MonacoTheme.background,\n 'editor.foreground': MonacoTheme.foreground,\n 'editor.lineHighlightBackground': MonacoTheme['editor-line-highlight-bg'],\n 'editorLineNumber.foreground':\n MonacoTheme['editor-line-number-foreground'],\n 'editor.selectionBackground': MonacoTheme['editor-selection-background'],\n 'editor.findMatchBackground': MonacoTheme['editor-find-match-background'],\n 'editor.findMatchHighlightBackground':\n MonacoTheme['editor-find-match-highlight-background'],\n 'editorSuggestWidget.background':\n MonacoTheme['editor-suggest-widget-background'],\n 'editorSuggestWidget.border': MonacoTheme['editor-suggest-widget-border'],\n 'editorSuggestWidget.foreground':\n MonacoTheme['editor-suggest-widget-foreground'],\n 'editorSuggestWidget.selectedBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'editorSuggestWidget.highlightForeground':\n MonacoTheme['editor-suggest-widget-highlightForeground'],\n 'list.hoverBackground': MonacoTheme['list-hover-background'],\n 'dropdown.background': MonacoTheme['context-menu-background'],\n 'dropdown.foreground': MonacoTheme['context-menu-foreground'],\n 'menu.selectionBackground': MonacoTheme['menu-selection-background'],\n 'list.focusBackground': MonacoTheme['menu-selection-background'],\n 'editorWidget.background': MonacoTheme['editor-widget-background'],\n 'inputOption.activeBackground':\n MonacoTheme['input-option-active-background'],\n 'inputOption.activeForeground':\n MonacoTheme['input-option-active-foreground'],\n focusBorder: MonacoTheme['focus-border'],\n 'input.background': MonacoTheme['input-background'],\n 'input.foreground': MonacoTheme['input-foreground'],\n 'input.border': MonacoTheme['input-border'],\n };\n\n monaco.editor.defineTheme('dh-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: dhDarkRules,\n colors: dhDarkColors,\n });\n log.debug2('monaco theme: ', MonacoTheme);\n monaco.editor.setTheme('dh-dark');\n\n registerLanguages([DbLang, PyLang, GroovyLang, LogLang, ScalaLang]);\n\n log.debug('Monaco initialized.');\n }\n\n /**\n * Remove the hashtag prefix from a CSS color string.\n * Monaco expects colors to be the value only, no hashtag.\n * @param color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color: string): string {\n return color.substring(1);\n }\n\n static registerLanguages(languages: Language[]): void {\n // First override the default loader for any language we have a custom definition for\n // https://github.com/Microsoft/monaco-editor/issues/252#issuecomment-482786867\n const languageIds = languages.map(({ id }) => id);\n monaco.languages\n .getLanguages()\n .filter(({ id }) => languageIds.includes(id))\n .forEach(languageParam => {\n const language = languageParam;\n log.debug2('Overriding default language loader:', language.id);\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language: Language): void {\n log.debug2('Registering language: ', language.id);\n monaco.languages.register(language);\n\n monaco.languages.onLanguage(language.id, () => {\n monaco.languages.setLanguageConfiguration(language.id, language.conf);\n monaco.languages.setMonarchTokensProvider(language.id, language.language);\n });\n }\n\n /**\n * Set EOL preference for the editor\n * @param editor The editor to set the EOL for\n * @param eolSequence EOL sequence\n */\n static setEOL(\n editor: monaco.editor.IStandaloneCodeEditor,\n eolSequence = monaco.editor.EndOfLineSequence.LF\n ): void {\n editor.getModel()?.setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param session The IdeSession to link\n * @param editor The editor to link the session to\n * @returns A cleanup function for disposing of the created listeners\n */\n static openDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): monaco.IDisposable {\n const model = editor.getModel();\n assertNotNull(model);\n const didOpenDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n languageId: model.getLanguageId(),\n version: model.getVersionId(),\n text: model.getValue(),\n },\n };\n log.debug2('didOpenDocumentParams: ', didOpenDocumentParams);\n\n session.openDocument(didOpenDocumentParams);\n\n const dispose = editor.onDidChangeModelContent(changedEvent => {\n const { changes, versionId } = changedEvent;\n\n const contentChanges = [];\n for (let i = 0; i < changes.length; i += 1) {\n const change = changes[i];\n const { range, rangeLength, text } = change;\n const contentChange = {\n range: {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1,\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1,\n },\n },\n rangeLength,\n text,\n };\n\n contentChanges.push(contentChange);\n }\n\n if (contentChanges.length > 0) {\n const didChangeDocumentParams = {\n textDocument: {\n version: versionId,\n uri: `${model.uri}`,\n },\n contentChanges,\n };\n log.debug2('didChangeDocumentParams', didChangeDocumentParams);\n session.changeDocument(didChangeDocumentParams);\n }\n });\n\n return dispose;\n }\n\n static closeDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): void {\n const model = editor.getModel();\n assertNotNull(model);\n const didCloseDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n },\n };\n session.closeDocument(didCloseDocumentParams);\n }\n\n /**\n * Register a paste handle to clean up any garbage code pasted.\n * Most of this comes from copying from Slack, which has a bad habit of injecting their own characters in your code snippets.\n * I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.\n * @param editor The editor the register the paste handler for\n */\n static registerPasteHandler(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g;\n const editorModel = editor.getModel();\n assertNotNull(editorModel);\n const pastedText = editorModel.getValueInRange(pasteEvent.range);\n if (smartQuotes.test(pastedText) || invalidChars.test(pastedText)) {\n editorModel.applyEdits([\n {\n range: pasteEvent.range,\n text: pastedText\n .replace(smartQuotes, '\"')\n .replace(invalidChars, ''),\n },\n ]);\n }\n });\n }\n\n static isMacPlatform(): boolean {\n const { platform } = window.navigator;\n return platform.startsWith('Mac');\n }\n\n /**\n * Remove any keybindings which are used for our own shortcuts.\n * This allows the key events to bubble up so a component higher up can capture them\n * @param editor The editor to remove the keybindings from\n */\n static removeConflictingKeybindings(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n // Multi-mod key events have a specific order\n // E.g. ctrl+alt+UpArrow is not found, but alt+ctrl+UpArrow is found\n // meta is WindowsKey on Windows and cmd on Mac\n // ctrl is ctrl Windows and ctrl on Mac\n // alt is alt on Windows and option on Mac\n const keybindings = [\n {\n windows: 'ctrl+D',\n mac: 'meta+D',\n },\n {\n windows: 'ctrl+H',\n },\n ];\n\n try {\n keybindings.forEach(keybinding => {\n if (\n (MonacoUtils.isMacPlatform() && keybinding.mac === '') ||\n (!MonacoUtils.isMacPlatform() && keybinding.windows === '')\n ) {\n return;\n }\n MonacoUtils.removeKeybinding(\n editor,\n MonacoUtils.isMacPlatform() ? keybinding.mac : keybinding.windows\n );\n });\n } catch (err) {\n // This is probably only caused by Monaco changing private methods used here\n log.error(err);\n }\n }\n\n /**\n * Remove a keybinding and allow the events to bubble up\n * If you want the keybinding removed for all editors, add it to removeConflictingKeybindings\n * Monaco still captures the event if you choose to override the keybinding with a no-op function\n *\n * Based on the following comment to remove a keybinding and let the event bubble up\n * https://github.com/microsoft/monaco-editor/issues/287#issuecomment-331447475\n * The issue for an API for this has apparently been open since 2016. Link below\n * https://github.com/microsoft/monaco-editor/issues/102\n * @param editor The editor to remove the keybinding from\n * @param keybinding The key string to remove. E.g. 'ctrl+C' for copy on Windows\n */\n static removeKeybinding(\n editor: monaco.editor.IStandaloneCodeEditor,\n keybinding: string | undefined\n ): void {\n if (!keybinding) {\n return;\n }\n\n /* eslint-disable no-underscore-dangle */\n // It's possible a single keybinding has multiple commands depending on context\n // @ts-ignore\n const keybindings = editor._standaloneKeybindingService\n ._getResolver()\n ._map.get(keybinding);\n\n if (keybindings) {\n keybindings.forEach((elem: { command: unknown }) => {\n log.debug2(\n `Removing Monaco keybinding ${keybinding} for ${elem.command}`\n );\n // @ts-ignore\n editor._standaloneKeybindingService.addDynamicKeybinding(\n `-${elem.command}`,\n null,\n () => undefined\n );\n });\n } else {\n log.warn(`Did not find any keybindings to remove for ${keybinding}`);\n }\n /* eslint-enable no-underscore-dangle */\n }\n\n static getMonacoKeyCodeFromShortcut(shortcut: Shortcut): number {\n const { keyState } = shortcut;\n const { keyValue } = keyState;\n if (keyValue === null) {\n return 0;\n }\n\n const isMac = MonacoUtils.isMacPlatform();\n\n if (isMac) {\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.metaKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.ctrlKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.ctrlKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.metaKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n}\n\nexport default MonacoUtils;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/Language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Language.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/Language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,oBAAY,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC7C,QAAQ,EACJ,MAAM,CAAC,SAAS,CAAC,gBAAgB,GACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.js","names":[],"sources":["../../../src/monaco/lang/Language.ts"],"sourcesContent":["import * as monaco from 'monaco-editor
|
|
1
|
+
{"version":3,"file":"Language.js","names":[],"sources":["../../../src/monaco/lang/Language.ts"],"sourcesContent":["import * as monaco from 'monaco-editor';\n\nexport type Language = {\n id: string;\n conf: monaco.languages.LanguageConfiguration;\n language:\n | monaco.languages.IMonarchLanguage\n | monaco.Thenable<monaco.languages.IMonarchLanguage>;\n};\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","tokenPostfix","keywords","builtins","operators","token","symbols","escapes","exponent","regexpctl","regexpesc","tokenizer","root","cases","$3","include","bracket","next","whitespace","comment","string","regexp","regexrange","lang"],"sources":["../../../src/monaco/lang/db.ts"],"sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\n/* eslint no-useless-escape: \"off\" */\nconst id = 'deephavenDb';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: '.js',\n\n keywords: [\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n ],\n\n builtins: ['define', 'require', 'window', 'document', 'undefined'],\n\n operators: [\n '=',\n '>',\n '<',\n '!',\n '~',\n '?',\n ':',\n '==',\n '<=',\n '>=',\n '!=',\n '&&',\n '||',\n '++',\n '--',\n '+',\n '-',\n '*',\n '/',\n '&',\n '|',\n '^',\n '%',\n '<<',\n '>>',\n '>>>',\n '+=',\n '-=',\n '*=',\n '/=',\n '&=',\n '|=',\n '^=',\n '%=',\n '<<=',\n '>>=',\n '>>>=',\n ],\n\n // define our own brackets as '<' and '>' do not match in javascript\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.bracket' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // common regular expressions\n symbols: /[~!@#%\\^&*-+=|\\\\:`<>.?\\/]+/,\n escapes: /\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,\n exponent: /[eE][\\-+]?[0-9]+/,\n\n regexpctl: /[(){}\\[\\]\\$\\^|\\-*+?\\.]/,\n regexpesc: /\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,\n\n tokenizer: {\n root: [\n // identifiers and keywords\n [\n /([a-zA-Z_\\$][\\w\\$]*)(\\s*)(:?)/,\n {\n cases: {\n '$1@keywords': ['keyword', 'white', 'delimiter'],\n $3: ['key.identifier', 'white', 'delimiter'], // followed by :\n '$1@builtins': ['predefined.identifier', 'white', 'delimiter'],\n '@default': ['identifier', 'white', 'delimiter'],\n },\n },\n ],\n\n // whitespace\n { include: '@whitespace' },\n\n // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)\n [\n /\\/(?=([^\\\\\\/]|\\\\.)+\\/)/,\n { token: 'regexp.slash', bracket: '@open', next: '@regexp' },\n ],\n\n // delimiters and operators\n [/[{}()\\[\\]]/, '@brackets'],\n [/[;,.]/, 'delimiter'],\n [\n /@symbols/,\n {\n cases: {\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d+\\.\\d*(@exponent)?/, 'number.float'],\n [/\\.\\d+(@exponent)?/, 'number.float'],\n [/\\d+@exponent/, 'number.float'],\n [/0[xX][\\da-fA-F]+/, 'number.hex'],\n [/0[0-7]+/, 'number.octal'],\n [/\\d+/, 'number'],\n\n // strings: recover on non-terminated strings\n [/\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/\"/, 'string', '@string.\"'],\n [/'/, 'string', \"@string.'\"],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, 'white'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^\\/*]+/, 'comment'],\n // [/\\/\\*/, 'comment', '@push' ], // nested comment not allowed :-(\n [/\\/\\*/, 'comment.invalid'],\n ['\\\\*/', 'comment', '@pop'],\n [/[\\/*]/, 'comment'],\n ],\n\n string: [\n [/[^\\\\\"']+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': { token: 'string', next: '@pop' },\n '@default': 'string',\n },\n },\n ],\n ],\n\n // We match regular expression quite precisely\n regexp: [\n [\n /(\\{)(\\d+(?:,\\d*)?)(\\})/,\n [\n '@brackets.regexp.escape.control',\n 'regexp.escape.control',\n '@brackets.regexp.escape.control',\n ],\n ],\n [\n /(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,\n [\n { token: '@brackets.regexp.escape.control' },\n {\n token: 'regexp.escape.control',\n next: '@regexrange',\n },\n ],\n ],\n [\n /(\\()(\\?:|\\?=|\\?!)/,\n ['@brackets.regexp.escape.control', 'regexp.escape.control'],\n ],\n [/[()]/, '@brackets.regexp.escape.control'],\n [/@regexpctl/, 'regexp.escape.control'],\n [/[^\\\\\\/]/, 'regexp'],\n [/@regexpesc/, 'regexp.escape'],\n [/\\\\\\./, 'regexp.invalid'],\n ['/', { token: 'regexp.slash', bracket: '@close' }, '@pop'],\n ],\n\n regexrange: [\n [/-/, 'regexp.escape.control'],\n [/\\^/, 'regexp.invalid'],\n [/@regexpesc/, 'regexp.escape'],\n [/[^\\]]/, 'regexp'],\n [/\\]/, '@brackets.regexp.escape.control', '@pop'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","tokenPostfix","keywords","builtins","operators","token","symbols","escapes","exponent","regexpctl","regexpesc","tokenizer","root","cases","$3","include","bracket","next","whitespace","comment","string","regexp","regexrange","lang"],"sources":["../../../src/monaco/lang/db.ts"],"sourcesContent":["import * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\n/* eslint no-useless-escape: \"off\" */\nconst id = 'deephavenDb';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: '.js',\n\n keywords: [\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n ],\n\n builtins: ['define', 'require', 'window', 'document', 'undefined'],\n\n operators: [\n '=',\n '>',\n '<',\n '!',\n '~',\n '?',\n ':',\n '==',\n '<=',\n '>=',\n '!=',\n '&&',\n '||',\n '++',\n '--',\n '+',\n '-',\n '*',\n '/',\n '&',\n '|',\n '^',\n '%',\n '<<',\n '>>',\n '>>>',\n '+=',\n '-=',\n '*=',\n '/=',\n '&=',\n '|=',\n '^=',\n '%=',\n '<<=',\n '>>=',\n '>>>=',\n ],\n\n // define our own brackets as '<' and '>' do not match in javascript\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.bracket' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // common regular expressions\n symbols: /[~!@#%\\^&*-+=|\\\\:`<>.?\\/]+/,\n escapes: /\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,\n exponent: /[eE][\\-+]?[0-9]+/,\n\n regexpctl: /[(){}\\[\\]\\$\\^|\\-*+?\\.]/,\n regexpesc: /\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,\n\n tokenizer: {\n root: [\n // identifiers and keywords\n [\n /([a-zA-Z_\\$][\\w\\$]*)(\\s*)(:?)/,\n {\n cases: {\n '$1@keywords': ['keyword', 'white', 'delimiter'],\n $3: ['key.identifier', 'white', 'delimiter'], // followed by :\n '$1@builtins': ['predefined.identifier', 'white', 'delimiter'],\n '@default': ['identifier', 'white', 'delimiter'],\n },\n },\n ],\n\n // whitespace\n { include: '@whitespace' },\n\n // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)\n [\n /\\/(?=([^\\\\\\/]|\\\\.)+\\/)/,\n { token: 'regexp.slash', bracket: '@open', next: '@regexp' },\n ],\n\n // delimiters and operators\n [/[{}()\\[\\]]/, '@brackets'],\n [/[;,.]/, 'delimiter'],\n [\n /@symbols/,\n {\n cases: {\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d+\\.\\d*(@exponent)?/, 'number.float'],\n [/\\.\\d+(@exponent)?/, 'number.float'],\n [/\\d+@exponent/, 'number.float'],\n [/0[xX][\\da-fA-F]+/, 'number.hex'],\n [/0[0-7]+/, 'number.octal'],\n [/\\d+/, 'number'],\n\n // strings: recover on non-terminated strings\n [/\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/\"/, 'string', '@string.\"'],\n [/'/, 'string', \"@string.'\"],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, 'white'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^\\/*]+/, 'comment'],\n // [/\\/\\*/, 'comment', '@push' ], // nested comment not allowed :-(\n [/\\/\\*/, 'comment.invalid'],\n ['\\\\*/', 'comment', '@pop'],\n [/[\\/*]/, 'comment'],\n ],\n\n string: [\n [/[^\\\\\"']+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': { token: 'string', next: '@pop' },\n '@default': 'string',\n },\n },\n ],\n ],\n\n // We match regular expression quite precisely\n regexp: [\n [\n /(\\{)(\\d+(?:,\\d*)?)(\\})/,\n [\n '@brackets.regexp.escape.control',\n 'regexp.escape.control',\n '@brackets.regexp.escape.control',\n ],\n ],\n [\n /(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,\n [\n { token: '@brackets.regexp.escape.control' },\n {\n token: 'regexp.escape.control',\n next: '@regexrange',\n },\n ],\n ],\n [\n /(\\()(\\?:|\\?=|\\?!)/,\n ['@brackets.regexp.escape.control', 'regexp.escape.control'],\n ],\n [/[()]/, '@brackets.regexp.escape.control'],\n [/@regexpctl/, 'regexp.escape.control'],\n [/[^\\\\\\/]/, 'regexp'],\n [/@regexpesc/, 'regexp.escape'],\n [/\\\\\\./, 'regexp.invalid'],\n ['/', { token: 'regexp.slash', bracket: '@close' }, '@pop'],\n ],\n\n regexrange: [\n [/-/, 'regexp.escape.control'],\n [/\\^/, 'regexp.invalid'],\n [/@regexpesc/, 'regexp.escape'],\n [/[^\\]]/, 'regexp'],\n [/\\]/, '@brackets.regexp.escape.control', '@pop'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groovy.js","names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","comment","doccomment","lang"],"sources":["../../../src/monaco/lang/groovy.ts"],"sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\nconst id = 'groovy';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '//',\n blockComment: ['/*', '*/'],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'println',\n 'class',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'def',\n 'for',\n 'lambda',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'identifier',\n },\n },\n ],\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, ''],\n [/\\/\\*\\*(?!\\/)/, 'comment.doc', '@doccomment'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\*\\//, 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n doccomment: [\n [/[^/*]+/, 'comment.doc'],\n [/\\*\\//, 'comment.doc', '@pop'],\n [/[/*]/, 'comment.doc'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"AAGA,IAAMA,EAAE,GAAG,QAAX;AAEA,IAAMC,IAA4C,GAAG;EACnDC,QAAQ,EAAE;IACRC,WAAW,EAAE,IADL;IAERC,YAAY,EAAE,CAAC,IAAD,EAAO,IAAP;EAFN,CADyC;EAKnDC,QAAQ,EAAE,CACR,CAAC,GAAD,EAAM,GAAN,CADQ,EAER,CAAC,GAAD,EAAM,GAAN,CAFQ,EAGR,CAAC,GAAD,EAAM,GAAN,CAHQ,CALyC;EAUnDC,gBAAgB,EAAE,CAChB;IAAEC,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CADgB,EAEhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAFgB,EAGhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAHgB,EAIhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBC,KAAK,EAAE,CAAC,QAAD;EAAhC,CAJgB,EAKhB;IAAEF,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBC,KAAK,EAAE,CAAC,QAAD,EAAW,SAAX;EAAhC,CALgB,CAViC;EAiBnDC,gBAAgB,EAAE,CAChB;IAAEH,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CADgB,EAEhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAFgB,EAGhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAHgB,EAIhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAJgB,EAKhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CALgB,CAjBiC;EAwBnDG,YAAY,EAAE,CACZ;IACEC,UAAU,EAAE,IAAIC,MAAJ,CACV,kFADU,CADd;IAIEC,MAAM,EAAE;MAAEC,YAAY,EAAE;IAAhB,CAJV,CAI+B;;EAJ/B,CADY,CAxBqC;EAgCnDC,OAAO,EAAE;IACPC,OAAO,EAAE,IADF;IAEPC,OAAO,EAAE;MACPC,KAAK,EAAE,IAAIN,MAAJ,CAAW,iBAAX,CADA;MAEPO,GAAG,EAAE,IAAIP,MAAJ,CAAW,oBAAX;IAFE;EAFF;AAhC0C,CAArD;AAyCA,IAAMQ,QAA2C,GAAG;EAClD;EACA;EAEAC,QAAQ,EAAE,CACR,KADQ,EAER,KAFQ,EAGR,MAHQ,EAIR,KAJQ,EAKR,OALQ,EAMR,IANQ,EAOR,MAPQ,EAQR,QARQ,EASR,IATQ,EAUR,MAVQ,EAWR,QAXQ,EAYR,MAZQ,EAaR,IAbQ,EAcR,MAdQ,EAeR,OAfQ,EAgBR,OAhBQ,EAiBR,QAjBQ,EAkBR,QAlBQ,EAmBR,OAnBQ,EAoBR,SApBQ,EAqBR,OArBQ,EAsBR,MAtBQ,EAuBR,IAvBQ,EAwBR,OAxBQ,EAyBR,UAzBQ,EA0BR,SA1BQ,EA2BR,IA3BQ,EA4BR,QA5BQ,EA6BR,KA7BQ,EA8BR,KA9BQ,EA+BR,QA/BQ,EAgCR,KAhCQ,EAiCR,GAjCQ,EAkCR,GAlCQ,EAmCR,YAnCQ,EAoCR,WApCQ,CAJwC;EA2ClDC,SAAS,EAAE,CACT,GADS,EAET,GAFS,EAGT,GAHS,EAIT,IAJS,EAKT,GALS,EAMT,IANS,EAOT,GAPS,EAQT,IARS,EAST,IATS,EAUT,GAVS,EAWT,GAXS,EAYT,GAZS,EAaT,GAbS,EAcT,GAdS,EAeT,GAfS,EAgBT,IAhBS,EAiBT,IAjBS,EAkBT,IAlBS,EAmBT,IAnBS,EAoBT,IApBS,EAqBT,IArBS,EAsBT,IAtBS,EAuBT,IAvBS,EAwBT,GAxBS,EAyBT,KAzBS,EA0BT,IA1BS,EA2BT,IA3BS,EA4BT,IA5BS,EA6BT,IA7BS,EA8BT,KA9BS,EA+BT,KA/BS,EAgCT,KAhCS,CA3CuC;EA8ElDlB,QAAQ,EAAE,CACR;IAAEE,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBgB,KAAK,EAAE;EAAhC,CADQ,EAER;IAAEjB,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBgB,KAAK,EAAE;EAAhC,CAFQ,EAGR;IAAEjB,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBgB,KAAK,EAAE;EAAhC,CAHQ,CA9EwC;EAoFlD;EACAC,OAAO,EAAE,mBArFyC;EAsFlDC,UAAU,EAAE,WAtFsC;EAwFlD;EACAC,OAAO,EAAE,2FAzFyC;EA0FlDC,MAAM,EAAE,kCA1F0C;EA2FlDC,MAAM,EAAE,YA3F0C;EA6FlD;EACAC,SAAS,EAAE;IACTC,IAAI,EAAE,CACJ;IACA,CACE,mBADF,EAEE;MAAEP,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CAFI,EAMJ,CAAC,yBAAD,EAA4B,gBAA5B,CANI,EAM2C;IAC/C,CAAC,yBAAD,EAA4B,gBAA5B,CAPI,EAO2C;IAC/C,CACE,eADF,EAEE;MACET,KAAK,EAAE,cADT;MAEEQ,OAAO,EAAE,OAFX;MAGEC,IAAI,EAAE,aAHR;MAIEC,YAAY,EAAE;IAJhB,CAFF,CARI,EAiBJ,CACE,gBADF,EAEE;MAAEV,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CAjBI,EAsBJ,CACE,kBADF,EAEE;MAAET,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CAtBI,EA0BJ,CAAC,wBAAD,EAA2B,gBAA3B,CA1BI,EA0B0C;IAC9C,CAAC,wBAAD,EAA2B,gBAA3B,CA3BI,EA2B0C;IAC9C,CACE,eADF,EAEE;MAAET,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CA5BI,EAiCJ;IACA,CAAC,UAAD,EAAa,YAAb,CAlCI,EAmCJ,CACE,eADF,EAEE;MACEE,KAAK,EAAE;QACL,aAAa,SADR;QAEL,YAAY;MAFP;IADT,CAFF,CAnCI,EA4CJ,CACE,YADF,EAEE;MACEA,KAAK,EAAE;QACL,eAAe,wBADV;QAEL,YAAY;MAFP;IADT,CAFF,CA5CI,EAoDD;IAEH;IACA;MAAEC,OAAO,EAAE;IAAX,CAvDI,EAyDJ;IACA,CAAC,WAAD,EAAc,WAAd,CA1DI,EA2DJ,CACE,UADF,EAEE;MACED,KAAK,EAAE;QACL,aAAa,SADR;QAEL,cAAc,UAFT;QAGL,YAAY;MAHP;IADT,CAFF,CA3DI,EAsEJ;IACA,CAAC,yBAAD,EAA4B,cAA5B,CAvEI,EAwEJ,CAAC,wBAAD,EAA2B,YAA3B,CAxEI,EAyEJ,CAAC,kBAAD,EAAqB,eAArB,CAzEI,EA0EJ,CAAC,4BAAD,EAA+B,cAA/B,CA1EI,EA2EJ,CAAC,mBAAD,EAAsB,QAAtB,CA3EI,EA6EJ;IACA,CAAC,GAAD,EAAM;MAAEX,KAAK,EAAE,SAAT;MAAoBQ,OAAO,EAAE;IAA7B,CAAN,CA9EI,EA8E2C;IAC/C,CACE,aADF,EAEE;MACEG,KAAK,EAAE;QACL,aAAa,SADR;QAEL,YAAY;MAFP;IADT,CAFF,CA/EI,CADG;IA2FT;IACAE,OAAO,EAAE,CACP;MAAED,OAAO,EAAE;IAAX,CADO,EAEP,CACE,SADF,EAEE;MACED,KAAK,EAAE;QACL,WAAW;UACTX,KAAK,EAAE,cADE;UAETQ,OAAO,EAAE,QAFA;UAGTC,IAAI,EAAE;QAHG,CADN;QAML,YAAY;UAAET,KAAK,EAAE;QAAT;MANP;IADT,CAFF,CAFO,EAeP,CAAC,MAAD,EAAS,QAAT,CAfO,EAgBP,CAAC,GAAD,EAAM,gBAAN,CAhBO,CA5FA;IA+GTc,OAAO,EAAE,CACP;MAAEF,OAAO,EAAE;IAAX,CADO,EAEP,CACE,KADF,EAEE;MACEZ,KAAK,EAAE,cADT;MAEEQ,OAAO,EAAE,QAFX;MAGEC,IAAI,EAAE,MAHR;MAIEC,YAAY,EAAE;IAJhB,CAFF,CAFO,EAWP,CAAC,GAAD,EAAM,gBAAN,CAXO,CA/GA;IA6HTK,MAAM,EAAE,CACN;MAAEH,OAAO,EAAE;IAAX,CADM,EAEN,CAAC,KAAD,EAAQ;MAAEZ,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,QAAlC;MAA4CC,IAAI,EAAE;IAAlD,CAAR,CAFM,EAGN,CAAC,GAAD,EAAM,gBAAN,CAHM,CA7HC;IAmITO,UAAU,EAAE,CACV,CAAC,UAAD,EAAa,QAAb,CADU,EAEV,CAAC,KAAD,EAAQ,eAAR,CAFU,EAGV,CAAC,UAAD,EAAa,eAAb,CAHU,EAIV,CAAC,KAAD,EAAQ,uBAAR,CAJU,CAnIH;IA0IT;IACAC,UAAU,EAAE,CACV;MAAEL,OAAO,EAAE;IAAX,CADU,EAEV,CACE,SADF,EAEE;MACED,KAAK,EAAE;QACL,WAAW;UACTX,KAAK,EAAE,cADE;UAETQ,OAAO,EAAE,QAFA;UAGTC,IAAI,EAAE;QAHG,CADN;QAML,YAAY;UAAET,KAAK,EAAE;QAAT;MANP;IADT,CAFF,CAFU,EAeV,CAAC,MAAD,EAAS,QAAT,CAfU,EAgBV,CAAC,GAAD,EAAM,gBAAN,CAhBU,CA3IH;IA8JTkB,SAAS,EAAE,CACT;MAAEN,OAAO,EAAE;IAAX,CADS,EAET,CACE,MADF,EAEE;MACED,KAAK,EAAE;QACL,WAAW;UACTX,KAAK,EAAE,cADE;UAETQ,OAAO,EAAE,QAFA;UAGTC,IAAI,EAAE;QAHG,CADN;QAML,YAAY;UAAET,KAAK,EAAE;QAAT;MANP;IADT,CAFF,CAFS,EAeT,CAAC,GAAD,EAAM,gBAAN,CAfS,CA9JF;IAgLTmB,aAAa,EAAE,CACb,CAAC,UAAD,EAAa,QAAb,CADa,EAEb,CAAC,QAAD,EAAW,QAAX,CAFa,EAGb,CAAC,mBAAD,EAAsB,eAAtB,CAHa,EAIb,CAAC,IAAD,EAAO,QAAP,CAJa,CAhLN;IAuLTC,UAAU,EAAE,CACV,CAAC,YAAD,EAAe,EAAf,CADU,EAEV,CAAC,cAAD,EAAiB,aAAjB,EAAgC,aAAhC,CAFU,EAGV,CAAC,MAAD,EAAS,SAAT,EAAoB,UAApB,CAHU,EAIV,CAAC,SAAD,EAAY,SAAZ,CAJU,CAvLH;IA8LTC,OAAO,EAAE,CACP,CAAC,QAAD,EAAW,SAAX,CADO,EAEP,CAAC,MAAD,EAAS,SAAT,EAAoB,MAApB,CAFO,EAGP,CAAC,MAAD,EAAS,SAAT,CAHO,CA9LA;IAoMTC,UAAU,EAAE,CACV,CAAC,QAAD,EAAW,aAAX,CADU,EAEV,CAAC,MAAD,EAAS,aAAT,EAAwB,MAAxB,CAFU,EAGV,CAAC,MAAD,EAAS,aAAT,CAHU;EApMH;AA9FuC,CAApD;AA0SA,IAAMC,IAAc,GAAG;EAAE/C,EAAF;EAAMC,IAAN;EAAYoB;AAAZ,CAAvB;AACA,eAAe0B,IAAf"}
|
|
1
|
+
{"version":3,"file":"groovy.js","names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","comment","doccomment","lang"],"sources":["../../../src/monaco/lang/groovy.ts"],"sourcesContent":["import * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'groovy';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '//',\n blockComment: ['/*', '*/'],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'println',\n 'class',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'def',\n 'for',\n 'lambda',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'identifier',\n },\n },\n ],\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, ''],\n [/\\/\\*\\*(?!\\/)/, 'comment.doc', '@doccomment'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\*\\//, 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n doccomment: [\n [/[^/*]+/, 'comment.doc'],\n [/\\*\\//, 'comment.doc', '@pop'],\n [/[/*]/, 'comment.doc'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","names":["id","conf","language","tokenizer","root","token","next","error","include","info","warn","stdout","trace","debug","body","lang"],"sources":["../../../src/monaco/lang/log.ts"],"sourcesContent":["/* eslint no-useless-escape: \"off\" */\nimport * as monaco from 'monaco-editor
|
|
1
|
+
{"version":3,"file":"log.js","names":["id","conf","language","tokenizer","root","token","next","error","include","info","warn","stdout","trace","debug","body","lang"],"sources":["../../../src/monaco/lang/log.ts"],"sourcesContent":["/* eslint no-useless-escape: \"off\" */\nimport * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'log';\n\nconst conf = {};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenizer: {\n root: [\n [/ FATAL[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ ERROR[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ STDERR[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ STDOUT.*/, { token: 'stdout', next: '@stdout' }],\n [/ INFO[\\s\\S]*/, { token: 'info', next: '@info' }],\n [/ WARN.*/, { token: 'warn', next: '@warn' }],\n [/ TRACE[\\s\\S]*/, { token: 'trace', next: '@trace' }],\n [/ DEBUG[.\\s\\S]*/, { token: 'debug', next: '@debug' }],\n [/^\\d{2}:\\d{2}:\\d{2}.\\d{3}/, 'date'],\n ],\n error: [{ include: '@body' }],\n info: [{ include: '@body' }],\n warn: [{ include: '@body' }],\n stdout: [{ include: '@body' }],\n trace: [{ include: '@body' }],\n debug: [{ include: '@body' }],\n body: [\n [/^\\d{2}:\\d{2}:\\d{2}.\\d{3}/, { token: 'date', next: '@pop' }],\n [/[\\s\\S]*/, { token: '$S0' }],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"AAAA;AAIA,IAAMA,EAAE,GAAG,KAAX;AAEA,IAAMC,IAAI,GAAG,EAAb;AAEA,IAAMC,QAA2C,GAAG;EAClDC,SAAS,EAAE;IACTC,IAAI,EAAE,CACJ,CAAC,eAAD,EAAkB;MAAEC,KAAK,EAAE,OAAT;MAAkBC,IAAI,EAAE;IAAxB,CAAlB,CADI,EAEJ,CAAC,eAAD,EAAkB;MAAED,KAAK,EAAE,OAAT;MAAkBC,IAAI,EAAE;IAAxB,CAAlB,CAFI,EAGJ,CAAC,gBAAD,EAAmB;MAAED,KAAK,EAAE,OAAT;MAAkBC,IAAI,EAAE;IAAxB,CAAnB,CAHI,EAIJ,CAAC,WAAD,EAAc;MAAED,KAAK,EAAE,QAAT;MAAmBC,IAAI,EAAE;IAAzB,CAAd,CAJI,EAKJ,CAAC,cAAD,EAAiB;MAAED,KAAK,EAAE,MAAT;MAAiBC,IAAI,EAAE;IAAvB,CAAjB,CALI,EAMJ,CAAC,SAAD,EAAY;MAAED,KAAK,EAAE,MAAT;MAAiBC,IAAI,EAAE;IAAvB,CAAZ,CANI,EAOJ,CAAC,eAAD,EAAkB;MAAED,KAAK,EAAE,OAAT;MAAkBC,IAAI,EAAE;IAAxB,CAAlB,CAPI,EAQJ,CAAC,gBAAD,EAAmB;MAAED,KAAK,EAAE,OAAT;MAAkBC,IAAI,EAAE;IAAxB,CAAnB,CARI,EASJ,CAAC,0BAAD,EAA6B,MAA7B,CATI,CADG;IAYTC,KAAK,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAX,CAAD,CAZE;IAaTC,IAAI,EAAE,CAAC;MAAED,OAAO,EAAE;IAAX,CAAD,CAbG;IAcTE,IAAI,EAAE,CAAC;MAAEF,OAAO,EAAE;IAAX,CAAD,CAdG;IAeTG,MAAM,EAAE,CAAC;MAAEH,OAAO,EAAE;IAAX,CAAD,CAfC;IAgBTI,KAAK,EAAE,CAAC;MAAEJ,OAAO,EAAE;IAAX,CAAD,CAhBE;IAiBTK,KAAK,EAAE,CAAC;MAAEL,OAAO,EAAE;IAAX,CAAD,CAjBE;IAkBTM,IAAI,EAAE,CACJ,CAAC,0BAAD,EAA6B;MAAET,KAAK,EAAE,MAAT;MAAiBC,IAAI,EAAE;IAAvB,CAA7B,CADI,EAEJ,CAAC,SAAD,EAAY;MAAED,KAAK,EAAE;IAAT,CAAZ,CAFI;EAlBG;AADuC,CAApD;AA0BA,IAAMU,IAAc,GAAG;EAAEf,EAAF;EAAMC,IAAN;EAAYC;AAAZ,CAAvB;AACA,eAAea,IAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","storage","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","comment","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","endDocString","endDblDocString","lang"],"sources":["../../../src/monaco/lang/python.ts"],"sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\nconst id = 'python';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'for',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n storage: ['class', 'def', 'async', 'lambda'],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@storage': 'storage',\n '@default': 'identifier',\n },\n },\n ],\n\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\/\\*/, 'comment', '@push'], // nested comment\n ['\\\\*/', 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/\\s+/, 'white'],\n [/(^#.*$)/, 'comment'],\n [/'''/, 'string', '@endDocString'],\n [/\"\"\"/, 'string', '@endDblDocString'],\n ],\n endDocString: [\n [/[^']+/, 'string'],\n [/\\\\'/, 'string'],\n [/'''/, 'string', '@popall'],\n [/'/, 'string'],\n ],\n endDblDocString: [\n [/[^\"]+/, 'string'],\n [/\\\\\"/, 'string'],\n [/\"\"\"/, 'string', '@popall'],\n [/\"/, 'string'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"python.js","names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","storage","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","comment","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","endDocString","endDblDocString","lang"],"sources":["../../../src/monaco/lang/python.ts"],"sourcesContent":["import * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'python';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'for',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n storage: ['class', 'def', 'async', 'lambda'],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@storage': 'storage',\n '@default': 'identifier',\n },\n },\n ],\n\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\/\\*/, 'comment', '@push'], // nested comment\n ['\\\\*/', 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/\\s+/, 'white'],\n [/(^#.*$)/, 'comment'],\n [/'''/, 'string', '@endDocString'],\n [/\"\"\"/, 'string', '@endDblDocString'],\n ],\n endDocString: [\n [/[^']+/, 'string'],\n [/\\\\'/, 'string'],\n [/'''/, 'string', '@popall'],\n [/'/, 'string'],\n ],\n endDblDocString: [\n [/[^\"]+/, 'string'],\n [/\\\\\"/, 'string'],\n [/\"\"\"/, 'string', '@popall'],\n [/\"/, 'string'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"AAGA,IAAMA,EAAE,GAAG,QAAX;AAEA,IAAMC,IAA4C,GAAG;EACnDC,QAAQ,EAAE;IACRC,WAAW,EAAE,GADL;IAERC,YAAY,EAAE,CAAC,KAAD,EAAQ,KAAR;EAFN,CADyC;EAKnDC,QAAQ,EAAE,CACR,CAAC,GAAD,EAAM,GAAN,CADQ,EAER,CAAC,GAAD,EAAM,GAAN,CAFQ,EAGR,CAAC,GAAD,EAAM,GAAN,CAHQ,CALyC;EAUnDC,gBAAgB,EAAE,CAChB;IAAEC,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CADgB,EAEhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAFgB,EAGhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAHgB,EAIhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBC,KAAK,EAAE,CAAC,QAAD;EAAhC,CAJgB,EAKhB;IAAEF,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBC,KAAK,EAAE,CAAC,QAAD,EAAW,SAAX;EAAhC,CALgB,CAViC;EAiBnDC,gBAAgB,EAAE,CAChB;IAAEH,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CADgB,EAEhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAFgB,EAGhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAHgB,EAIhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CAJgB,EAKhB;IAAED,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE;EAApB,CALgB,CAjBiC;EAwBnDG,YAAY,EAAE,CACZ;IACEC,UAAU,EAAE,IAAIC,MAAJ,CACV,kFADU,CADd;IAIEC,MAAM,EAAE;MAAEC,YAAY,EAAE;IAAhB,CAJV,CAI+B;;EAJ/B,CADY,CAxBqC;EAgCnDC,OAAO,EAAE;IACPC,OAAO,EAAE,IADF;IAEPC,OAAO,EAAE;MACPC,KAAK,EAAE,IAAIN,MAAJ,CAAW,iBAAX,CADA;MAEPO,GAAG,EAAE,IAAIP,MAAJ,CAAW,oBAAX;IAFE;EAFF;AAhC0C,CAArD;AAyCA,IAAMQ,QAA2C,GAAG;EAClD;EACA;EAEAC,QAAQ,EAAE,CACR,KADQ,EAER,KAFQ,EAGR,MAHQ,EAIR,KAJQ,EAKR,OALQ,EAMR,IANQ,EAOR,MAPQ,EAQR,QARQ,EASR,IATQ,EAUR,MAVQ,EAWR,QAXQ,EAYR,MAZQ,EAaR,IAbQ,EAcR,MAdQ,EAeR,OAfQ,EAgBR,OAhBQ,EAiBR,QAjBQ,EAkBR,QAlBQ,EAmBR,OAnBQ,EAoBR,MApBQ,EAqBR,IArBQ,EAsBR,OAtBQ,EAuBR,UAvBQ,EAwBR,SAxBQ,EAyBR,IAzBQ,EA0BR,QA1BQ,EA2BR,KA3BQ,EA4BR,KA5BQ,EA6BR,GA7BQ,EA8BR,GA9BQ,EA+BR,YA/BQ,EAgCR,WAhCQ,CAJwC;EAuClDC,OAAO,EAAE,CAAC,OAAD,EAAU,KAAV,EAAiB,OAAjB,EAA0B,QAA1B,CAvCyC;EAyClDC,SAAS,EAAE,CACT,GADS,EAET,GAFS,EAGT,GAHS,EAIT,IAJS,EAKT,GALS,EAMT,IANS,EAOT,GAPS,EAQT,IARS,EAST,IATS,EAUT,GAVS,EAWT,GAXS,EAYT,GAZS,EAaT,GAbS,EAcT,GAdS,EAeT,GAfS,EAgBT,IAhBS,EAiBT,IAjBS,EAkBT,IAlBS,EAmBT,IAnBS,EAoBT,IApBS,EAqBT,IArBS,EAsBT,IAtBS,EAuBT,IAvBS,EAwBT,GAxBS,EAyBT,KAzBS,EA0BT,IA1BS,EA2BT,IA3BS,EA4BT,IA5BS,EA6BT,IA7BS,EA8BT,KA9BS,EA+BT,KA/BS,EAgCT,KAhCS,CAzCuC;EA2ElDnB,QAAQ,EAAE,CACR;IAAEE,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBiB,KAAK,EAAE;EAAhC,CADQ,EAER;IAAElB,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBiB,KAAK,EAAE;EAAhC,CAFQ,EAGR;IAAElB,IAAI,EAAE,GAAR;IAAaC,KAAK,EAAE,GAApB;IAAyBiB,KAAK,EAAE;EAAhC,CAHQ,CA3EwC;EAiFlD;EACAC,OAAO,EAAE,mBAlFyC;EAmFlDC,UAAU,EAAE,WAnFsC;EAqFlD;EACAC,OAAO,EAAE,2FAtFyC;EAuFlDC,MAAM,EAAE,kCAvF0C;EAwFlDC,MAAM,EAAE,YAxF0C;EA0FlD;EACAC,SAAS,EAAE;IACTC,IAAI,EAAE,CACJ;IACA,CACE,mBADF,EAEE;MAAEP,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CAFI,EAMJ,CAAC,yBAAD,EAA4B,gBAA5B,CANI,EAM2C;IAC/C,CAAC,yBAAD,EAA4B,gBAA5B,CAPI,EAO2C;IAC/C,CACE,eADF,EAEE;MACET,KAAK,EAAE,cADT;MAEEQ,OAAO,EAAE,OAFX;MAGEC,IAAI,EAAE,aAHR;MAIEC,YAAY,EAAE;IAJhB,CAFF,CARI,EAiBJ,CACE,gBADF,EAEE;MAAEV,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CAjBI,EAsBJ,CACE,kBADF,EAEE;MAAET,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CAtBI,EA0BJ,CAAC,wBAAD,EAA2B,gBAA3B,CA1BI,EA0B0C;IAC9C,CAAC,wBAAD,EAA2B,gBAA3B,CA3BI,EA2B0C;IAC9C,CACE,eADF,EAEE;MAAET,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,OAAlC;MAA2CC,IAAI,EAAE;IAAjD,CAFF,CA5BI,EAiCJ;IACA,CAAC,UAAD,EAAa,YAAb,CAlCI,EAoCJ,CACE,eADF,EAEE;MACEE,KAAK,EAAE;QACL,aAAa,SADR;QAEL,YAAY,SAFP;QAGL,YAAY;MAHP;IADT,CAFF,CApCI,EA+CJ,CACE,YADF,EAEE;MACEA,KAAK,EAAE;QACL,eAAe,wBADV;QAEL,YAAY;MAFP;IADT,CAFF,CA/CI,EAuDD;IAEH;IACA;MAAEC,OAAO,EAAE;IAAX,CA1DI,EA4DJ;IACA,CAAC,WAAD,EAAc,WAAd,CA7DI,EA8DJ,CACE,UADF,EAEE;MACED,KAAK,EAAE;QACL,aAAa,SADR;QAEL,cAAc,UAFT;QAGL,YAAY;MAHP;IADT,CAFF,CA9DI,EAyEJ;IACA,CAAC,yBAAD,EAA4B,cAA5B,CA1EI,EA2EJ,CAAC,wBAAD,EAA2B,YAA3B,CA3EI,EA4EJ,CAAC,kBAAD,EAAqB,eAArB,CA5EI,EA6EJ,CAAC,4BAAD,EAA+B,cAA/B,CA7EI,EA8EJ,CAAC,mBAAD,EAAsB,QAAtB,CA9EI,EAgFJ;IACA,CAAC,GAAD,EAAM;MAAEX,KAAK,EAAE,SAAT;MAAoBQ,OAAO,EAAE;IAA7B,CAAN,CAjFI,EAiF2C;IAC/C,CACE,aADF,EAEE;MACEG,KAAK,EAAE;QACL,aAAa,SADR;QAEL,YAAY;MAFP;IADT,CAFF,CAlFI,CADG;IA8FTE,OAAO,EAAE,CACP,CAAC,QAAD,EAAW,SAAX,CADO,EAEP,CAAC,MAAD,EAAS,SAAT,EAAoB,OAApB,CAFO,EAEuB;IAC9B,CAAC,MAAD,EAAS,SAAT,EAAoB,MAApB,CAHO,EAIP,CAAC,MAAD,EAAS,SAAT,CAJO,CA9FA;IAqGT;IACAC,OAAO,EAAE,CACP;MAAEF,OAAO,EAAE;IAAX,CADO,EAEP,CACE,SADF,EAEE;MACED,KAAK,EAAE;QACL,WAAW;UACTX,KAAK,EAAE,cADE;UAETQ,OAAO,EAAE,QAFA;UAGTC,IAAI,EAAE;QAHG,CADN;QAML,YAAY;UAAET,KAAK,EAAE;QAAT;MANP;IADT,CAFF,CAFO,EAeP,CAAC,MAAD,EAAS,QAAT,CAfO,EAgBP,CAAC,GAAD,EAAM,gBAAN,CAhBO,CAtGA;IAyHTe,OAAO,EAAE,CACP;MAAEH,OAAO,EAAE;IAAX,CADO,EAEP,CACE,KADF,EAEE;MACEZ,KAAK,EAAE,cADT;MAEEQ,OAAO,EAAE,QAFX;MAGEC,IAAI,EAAE,MAHR;MAIEC,YAAY,EAAE;IAJhB,CAFF,CAFO,EAWP,CAAC,GAAD,EAAM,gBAAN,CAXO,CAzHA;IAuITM,MAAM,EAAE,CACN;MAAEJ,OAAO,EAAE;IAAX,CADM,EAEN,CAAC,KAAD,EAAQ;MAAEZ,KAAK,EAAE,cAAT;MAAyBQ,OAAO,EAAE,QAAlC;MAA4CC,IAAI,EAAE;IAAlD,CAAR,CAFM,EAGN,CAAC,GAAD,EAAM,gBAAN,CAHM,CAvIC;IA6ITQ,UAAU,EAAE,CACV,CAAC,UAAD,EAAa,QAAb,CADU,EAEV,CAAC,KAAD,EAAQ,eAAR,CAFU,EAGV,CAAC,UAAD,EAAa,eAAb,CAHU,EAIV,CAAC,KAAD,EAAQ,uBAAR,CAJU,CA7IH;IAoJT;IACAC,UAAU,EAAE,CACV;MAAEN,OAAO,EAAE;IAAX,CADU,EAEV,CACE,SADF,EAEE;MACED,KAAK,EAAE;QACL,WAAW;UACTX,KAAK,EAAE,cADE;UAETQ,OAAO,EAAE,QAFA;UAGTC,IAAI,EAAE;QAHG,CADN;QAML,YAAY;UAAET,KAAK,EAAE;QAAT;MANP;IADT,CAFF,CAFU,EAeV,CAAC,MAAD,EAAS,QAAT,CAfU,EAgBV,CAAC,GAAD,EAAM,gBAAN,CAhBU,CArJH;IAwKTmB,SAAS,EAAE,CACT;MAAEP,OAAO,EAAE;IAAX,CADS,EAET,CACE,MADF,EAEE;MACED,KAAK,EAAE;QACL,WAAW;UACTX,KAAK,EAAE,cADE;UAETQ,OAAO,EAAE,QAFA;UAGTC,IAAI,EAAE;QAHG,CADN;QAML,YAAY;UAAET,KAAK,EAAE;QAAT;MANP;IADT,CAFF,CAFS,EAeT,CAAC,GAAD,EAAM,gBAAN,CAfS,CAxKF;IA0LToB,aAAa,EAAE,CACb,CAAC,UAAD,EAAa,QAAb,CADa,EAEb,CAAC,QAAD,EAAW,QAAX,CAFa,EAGb,CAAC,mBAAD,EAAsB,eAAtB,CAHa,EAIb,CAAC,IAAD,EAAO,QAAP,CAJa,CA1LN;IAiMTC,UAAU,EAAE,CACV,CAAC,KAAD,EAAQ,OAAR,CADU,EAEV,CAAC,SAAD,EAAY,SAAZ,CAFU,EAGV,CAAC,KAAD,EAAQ,QAAR,EAAkB,eAAlB,CAHU,EAIV,CAAC,KAAD,EAAQ,QAAR,EAAkB,kBAAlB,CAJU,CAjMH;IAuMTC,YAAY,EAAE,CACZ,CAAC,OAAD,EAAU,QAAV,CADY,EAEZ,CAAC,KAAD,EAAQ,QAAR,CAFY,EAGZ,CAAC,KAAD,EAAQ,QAAR,EAAkB,SAAlB,CAHY,EAIZ,CAAC,GAAD,EAAM,QAAN,CAJY,CAvML;IA6MTC,eAAe,EAAE,CACf,CAAC,OAAD,EAAU,QAAV,CADe,EAEf,CAAC,KAAD,EAAQ,QAAR,CAFe,EAGf,CAAC,KAAD,EAAQ,QAAR,EAAkB,SAAlB,CAHe,EAIf,CAAC,GAAD,EAAM,QAAN,CAJe;EA7MR;AA3FuC,CAApD;AAiTA,IAAMC,IAAc,GAAG;EAAEjD,EAAF;EAAMC,IAAN;EAAYoB;AAAZ,CAAvB;AACA,eAAe4B,IAAf"}
|